# Path: pinax/blog/conf.py
# def is_installed(package):
#     def configure_markup_choices(self, value):
#     def configure_hookset(self, value):
# DEFAULT_MARKUP_CHOICE_MAP = {
#     "markdown": {"label": "Markdown", "parser": "pinax.blog.parsers.markdown_parser.parse"}
# }
#     ALL_SECTION_NAME = "all"
#     SECTIONS = []
#     UNPUBLISHED_STATES = [
#         "Draft"
#     ]
#     FEED_TITLE = "Blog"
#     SECTION_FEED_TITLE = "Blog (%s)"
#     MARKUP_CHOICE_MAP = DEFAULT_MARKUP_CHOICE_MAP
#     MARKUP_CHOICES = DEFAULT_MARKUP_CHOICE_MAP
#     SCOPING_MODEL = None
#     SCOPING_URL_VAR = None
#     SLUG_UNIQUE = False
#     PAGINATE_BY = 10
#     HOOKSET = "pinax.blog.hooks.PinaxBlogDefaultHookSet"
#     ADMIN_JS = ("js/admin_post_form.js",)
# class PinaxBlogAppConf(AppConf):
#     class Meta:
# 
# Path: pinax/blog/hooks.py
# class PinaxBlogDefaultHookSet:
# class HookProxy:
#     def get_blog(self, **kwargs):
#     def get_url_var(self, scoper):
#     def get_blog_str(self, blog):
#     def can_manage(self, request, *args, **kwargs):
#     def response_cannot_manage(self, request, *args, **kwargs):
#     def __getattr__(self, attr):
# 
# Path: pinax/blog/managers.py
# class PostManager(models.Manager):
# 
#     def published(self):
#         return self.filter(published__lte=timezone.now(), state=PUBLISHED_STATE)
# 
#     def current(self):
#         return self.published().order_by("-published")


from random import choice
from django.db import models
from django.urls import reverse
from django.utils import timezone
from django.utils.html import strip_tags
from django.utils.translation import ugettext_lazy as _
from pinax.images.models import ImageSet
from .conf import settings
from .hooks import hookset
from .managers import PostManager
    from string import letters
    from string import ascii_letters as letters
import pytz
                }
        else:
            name = "pinax_blog:blog_post_pk"
            kwargs = {
                "post_pk": self.pk,
            }
        kwargs.update(self.blog.scoping_url_kwargs)
        return reverse(name, kwargs=kwargs)

    def inc_views(self):
        self.view_count += 1
        self.save()
        self.current().inc_views()


class Revision(models.Model):

    post = models.ForeignKey(
        Post,
        related_name="revisions",
        verbose_name=_("Post"),
        on_delete=models.CASCADE
    )

    title = models.CharField(_("Title"), max_length=90)
    teaser = models.TextField(_("Teaser"))

    content = models.TextField(_("Content"))

    author = models.ForeignKey(

# Path: pinax/blog/conf.py
# def is_installed(package):
#     def configure_markup_choices(self, value):
#     def configure_hookset(self, value):
# DEFAULT_MARKUP_CHOICE_MAP = {
#     "markdown": {"label": "Markdown", "parser": "pinax.blog.parsers.markdown_parser.parse"}
# }
#     ALL_SECTION_NAME = "all"
#     SECTIONS = []
#     UNPUBLISHED_STATES = [
#         "Draft"
#     ]
#     FEED_TITLE = "Blog"
#     SECTION_FEED_TITLE = "Blog (%s)"
#     MARKUP_CHOICE_MAP = DEFAULT_MARKUP_CHOICE_MAP
#     MARKUP_CHOICES = DEFAULT_MARKUP_CHOICE_MAP
#     SCOPING_MODEL = None
#     SCOPING_URL_VAR = None
#     SLUG_UNIQUE = False
#     PAGINATE_BY = 10
#     HOOKSET = "pinax.blog.hooks.PinaxBlogDefaultHookSet"
#     ADMIN_JS = ("js/admin_post_form.js",)
# class PinaxBlogAppConf(AppConf):
#     class Meta:
# 
# Path: pinax/blog/hooks.py
# class PinaxBlogDefaultHookSet:
# class HookProxy:
#     def get_blog(self, **kwargs):
#     def get_url_var(self, scoper):
#     def get_blog_str(self, blog):
#     def can_manage(self, request, *args, **kwargs):
#     def response_cannot_manage(self, request, *args, **kwargs):
#     def __getattr__(self, attr):
# 
# Path: pinax/blog/managers.py
# class PostManager(models.Manager):
# 
#     def published(self):
#         return self.filter(published__lte=timezone.now(), state=PUBLISHED_STATE)
# 
#     def current(self):
#         return self.published().order_by("-published")


# Path: pinax/blog/models.py
from random import choice
from django.db import models
from django.urls import reverse
from django.utils import timezone
from django.utils.html import strip_tags
from django.utils.translation import ugettext_lazy as _
from pinax.images.models import ImageSet
from .conf import settings
from .hooks import hookset
from .managers import PostManager
    from string import letters
    from string import ascii_letters as letters
import pytz

                }
        else:
            name = "pinax_blog:blog_post_pk"
            kwargs = {
                "post_pk": self.pk,
            }
        kwargs.update(self.blog.scoping_url_kwargs)
        return reverse(name, kwargs=kwargs)

    def inc_views(self):
        self.view_count += 1
        self.save()
        self.current().inc_views()


class Revision(models.Model):

    post = models.ForeignKey(
        Post,
        related_name="revisions",
        verbose_name=_("Post"),
        on_delete=models.CASCADE
    )

    title = models.CharField(_("Title"), max_length=90)
    teaser = models.TextField(_("Teaser"))

    content = models.TextField(_("Content"))

    author = models.ForeignKey(

        settings.AUTH_USER_MODEL,