# Path: InternetSemLimites/core/managers.py
# class ProviderQueryset(models.QuerySet):
#     def published(self):
#     def fame(self):
#     def shame(self):


import re
from django.db import models
from django.shortcuts import resolve_url
from InternetSemLimites.core.managers import ProviderManager
    BLANK = ''
    REPEATED = 'R'
    NOT_FOUND = 'N'
    IMPRECISE = 'I'
    NOT_ACCESSIBLE = 'A'
    PRIVATE = 'P'
    OTHER = 'O'
    REASONS = ((BLANK, 'Não se aplica'),
               (REPEATED, 'Provedor repetido'),
               (NOT_FOUND, 'Fonte não encontrada (404)'),
               (IMPRECISE, 'Fonte com informações imprecisas ou erradas'),
               (NOT_ACCESSIBLE, 'Fonte não acessível (ex.: requer login)'),
               (PRIVATE, 'Fonte é comunicação privada (ex.: chat ou suporte)'),
               (OTHER, 'Outros'))

    category = models.CharField('Categoria', max_length=1, choices=CATEGORIES)
    name = models.CharField('Nome do provedor', max_length=128)
    url = models.URLField('URL do provedor')
    source = models.URLField('URL da fonte da informação')
    coverage = models.ManyToManyField(State, verbose_name='Cobertura')
    other = models.CharField('Observações', max_length=140, blank=True)

    edited_from = models.ForeignKey('self', null=True, blank=True, on_delete=models.CASCADE)
    status = models.CharField('Status', max_length=1, choices=STATUS, default=NEW)
    moderation_reason = models.CharField('Motivo', max_length=1, choices=REASONS, blank=True, default=BLANK)
    moderation_comments = models.TextField('Comentários da moderação', blank=True)

    created_at = models.DateTimeField('Criado em', auto_now_add=True)
    updated_at = models.DateTimeField('Editado em', auto_now=True)


# Path: InternetSemLimites/core/managers.py
# class ProviderQueryset(models.QuerySet):
#     def published(self):
#     def fame(self):
#     def shame(self):


# Path: InternetSemLimites/core/models.py
import re
from django.db import models
from django.shortcuts import resolve_url
from InternetSemLimites.core.managers import ProviderManager

    BLANK = ''
    REPEATED = 'R'
    NOT_FOUND = 'N'
    IMPRECISE = 'I'
    NOT_ACCESSIBLE = 'A'
    PRIVATE = 'P'
    OTHER = 'O'
    REASONS = ((BLANK, 'Não se aplica'),
               (REPEATED, 'Provedor repetido'),
               (NOT_FOUND, 'Fonte não encontrada (404)'),
               (IMPRECISE, 'Fonte com informações imprecisas ou erradas'),
               (NOT_ACCESSIBLE, 'Fonte não acessível (ex.: requer login)'),
               (PRIVATE, 'Fonte é comunicação privada (ex.: chat ou suporte)'),
               (OTHER, 'Outros'))

    category = models.CharField('Categoria', max_length=1, choices=CATEGORIES)
    name = models.CharField('Nome do provedor', max_length=128)
    url = models.URLField('URL do provedor')
    source = models.URLField('URL da fonte da informação')
    coverage = models.ManyToManyField(State, verbose_name='Cobertura')
    other = models.CharField('Observações', max_length=140, blank=True)

    edited_from = models.ForeignKey('self', null=True, blank=True, on_delete=models.CASCADE)
    status = models.CharField('Status', max_length=1, choices=STATUS, default=NEW)
    moderation_reason = models.CharField('Motivo', max_length=1, choices=REASONS, blank=True, default=BLANK)
    moderation_comments = models.TextField('Comentários da moderação', blank=True)

    created_at = models.DateTimeField('Criado em', auto_now_add=True)
    updated_at = models.DateTimeField('Editado em', auto_now=True)


    objects = ProviderManager()