pep8 etc
authorJan Szejko <janek37@gmail.com>
Mon, 16 Oct 2017 09:30:14 +0000 (11:30 +0200)
committerJan Szejko <janek37@gmail.com>
Mon, 16 Oct 2017 09:30:14 +0000 (11:30 +0200)
apps/catalogue/models/chunk.py
apps/dvcs/models.py

index 171ba53..fc3a9ea 100755 (executable)
@@ -49,7 +49,7 @@ class Chunk(dvcs_models.Document):
 
     @models.permalink
     def get_absolute_url(self):
 
     @models.permalink
     def get_absolute_url(self):
-        return ("wiki_editor", [self.book.slug, self.slug])
+        return "wiki_editor", [self.book.slug, self.slug]
 
     def pretty_name(self, book_length=None):
         title = self.book.title
 
     def pretty_name(self, book_length=None):
         title = self.book.title
@@ -59,7 +59,6 @@ class Chunk(dvcs_models.Document):
             title += " (%d/%d)" % (self.number, book_length)
         return title
 
             title += " (%d/%d)" % (self.number, book_length)
         return title
 
-
     # Creating and manipulation
     # =========================
 
     # Creating and manipulation
     # =========================
 
@@ -71,7 +70,8 @@ class Chunk(dvcs_models.Document):
         while not new_chunk:
             new_slug = self.book.make_chunk_slug(slug)
             try:
         while not new_chunk:
             new_slug = self.book.make_chunk_slug(slug)
             try:
-                new_chunk = self.book.chunk_set.create(number=self.number+1,
+                new_chunk = self.book.chunk_set.create(
+                    number=self.number+1,
                     slug=new_slug[:50], title=title[:255], **kwargs)
             except IntegrityError:
                 pass
                     slug=new_slug[:50], title=title[:255], **kwargs)
             except IntegrityError:
                 pass
@@ -84,7 +84,6 @@ class Chunk(dvcs_models.Document):
         else:
             return cls.objects.get(book__slug=book_slug, slug=chunk_slug)
 
         else:
             return cls.objects.get(book__slug=book_slug, slug=chunk_slug)
 
-
     # State & cache
     # =============
 
     # State & cache
     # =============
 
@@ -92,7 +91,7 @@ class Chunk(dvcs_models.Document):
         change = self.publishable()
         if not change:
             return False
         change = self.publishable()
         if not change:
             return False
-        return change.publish_log.exists()
+        return not change.publish_log.exists()
 
     def is_changed(self):
         if self.head is None:
 
     def is_changed(self):
         if self.head is None:
index e82ad19..24bdeb3 100644 (file)
@@ -1,9 +1,13 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
 from datetime import datetime
 import os.path
 
 from django.contrib.auth.models import User
 from django.core.files.base import ContentFile
 from datetime import datetime
 import os.path
 
 from django.contrib.auth.models import User
 from django.core.files.base import ContentFile
-from django.core.files.storage import FileSystemStorage
 from django.db import models, transaction
 from django.db.models.base import ModelBase
 from django.utils.translation import string_concat, ugettext_lazy as _
 from django.db import models, transaction
 from django.db.models.base import ModelBase
 from django.utils.translation import string_concat, ugettext_lazy as _
@@ -17,8 +21,7 @@ from dvcs.storage import GzipFileSystemStorage
 class Tag(models.Model):
     """A tag (e.g. document stage) which can be applied to a Change."""
     name = models.CharField(_('name'), max_length=64)
 class Tag(models.Model):
     """A tag (e.g. document stage) which can be applied to a Change."""
     name = models.CharField(_('name'), max_length=64)
-    slug = models.SlugField(_('slug'), unique=True, max_length=64, 
-            null=True, blank=True)
+    slug = models.SlugField(_('slug'), unique=True, max_length=64, null=True, blank=True)
     ordering = models.IntegerField(_('ordering'))
 
     _object_cache = {}
     ordering = models.IntegerField(_('ordering'))
 
     _object_cache = {}
@@ -59,6 +62,7 @@ models.signals.pre_save.connect(Tag.listener_changed, sender=Tag)
 def data_upload_to(instance, filename):
     return "%d/%d" % (instance.tree.pk, instance.pk)
 
 def data_upload_to(instance, filename):
     return "%d/%d" % (instance.tree.pk, instance.pk)
 
+
 class Change(models.Model):
     """
         Single document change related to previous change. The "parent"
 class Change(models.Model):
     """
         Single document change related to previous change. The "parent"
@@ -68,29 +72,20 @@ class Change(models.Model):
         Data file contains a gzipped text of the document.
     """
     author = models.ForeignKey(User, null=True, blank=True, verbose_name=_('author'))
         Data file contains a gzipped text of the document.
     """
     author = models.ForeignKey(User, null=True, blank=True, verbose_name=_('author'))
-    author_name = models.CharField(_('author name'), max_length=128,
-                        null=True, blank=True,
-                        help_text=_("Used if author is not set.")
-                        )
-    author_email = models.CharField(_('author email'), max_length=128,
-                        null=True, blank=True,
-                        help_text=_("Used if author is not set.")
-                        )
+    author_name = models.CharField(
+        _('author name'), max_length=128, null=True, blank=True, help_text=_("Used if author is not set."))
+    author_email = models.CharField(
+        _('author email'), max_length=128, null=True, blank=True, help_text=_("Used if author is not set."))
     revision = models.IntegerField(_('revision'), db_index=True)
 
     revision = models.IntegerField(_('revision'), db_index=True)
 
-    parent = models.ForeignKey('self',
-                        null=True, blank=True, default=None,
-                        verbose_name=_('parent'),
-                        related_name="children")
+    parent = models.ForeignKey(
+        'self', null=True, blank=True, default=None, verbose_name=_('parent'), related_name="children")
 
 
-    merge_parent = models.ForeignKey('self',
-                        null=True, blank=True, default=None,
-                        verbose_name=_('merge parent'),
-                        related_name="merge_children")
+    merge_parent = models.ForeignKey(
+        'self', null=True, blank=True, default=None, verbose_name=_('merge parent'), related_name="merge_children")
 
     description = models.TextField(_('description'), blank=True, default='')
 
     description = models.TextField(_('description'), blank=True, default='')
-    created_at = models.DateTimeField(editable=False, db_index=True, 
-                        default=datetime.now)
+    created_at = models.DateTimeField(editable=False, db_index=True, default=datetime.now)
     publishable = models.BooleanField(_('publishable'), default=False)
 
     class Meta:
     publishable = models.BooleanField(_('publishable'), default=False)
 
     class Meta:
@@ -113,7 +108,6 @@ class Change(models.Model):
                 self.author_email
                 )
 
                 self.author_email
                 )
 
-
     def save(self, *args, **kwargs):
         """
             take the next available revision number if none yet
     def save(self, *args, **kwargs):
         """
             take the next available revision number if none yet
@@ -171,10 +165,10 @@ def create_tag_model(model):
 
     class Meta(Tag.Meta):
         app_label = model._meta.app_label
 
     class Meta(Tag.Meta):
         app_label = model._meta.app_label
-        verbose_name = string_concat(_("tag"), " ", _("for:"), " ", 
-                model._meta.verbose_name)
-        verbose_name_plural = string_concat(_("tags"), " ", _("for:"), " ",
-                model._meta.verbose_name)
+        verbose_name = string_concat(
+            _("tag"), " ", _("for:"), " ", model._meta.verbose_name)
+        verbose_name_plural = string_concat(
+            _("tags"), " ", _("for:"), " ", model._meta.verbose_name)
 
     attrs = {
         '__module__': model.__module__,
 
     attrs = {
         '__module__': model.__module__,
@@ -189,10 +183,10 @@ def create_change_model(model):
 
     class Meta(Change.Meta):
         app_label = model._meta.app_label
 
     class Meta(Change.Meta):
         app_label = model._meta.app_label
-        verbose_name = string_concat(_("change"), " ", _("for:"), " ",
-                model._meta.verbose_name)
-        verbose_name_plural = string_concat(_("changes"), " ", _("for:"), " ",
-                model._meta.verbose_name)
+        verbose_name = string_concat(
+            _("change"), " ", _("for:"), " ", model._meta.verbose_name)
+        verbose_name_plural = string_concat(
+            _("changes"), " ", _("for:"), " ", model._meta.verbose_name)
 
     attrs = {
         '__module__': model.__module__,
 
     attrs = {
         '__module__': model.__module__,
@@ -205,7 +199,7 @@ def create_change_model(model):
 
 
 class DocumentMeta(ModelBase):
 
 
 class DocumentMeta(ModelBase):
-    "Metaclass for Document models."
+    """Metaclass for Document models."""
     def __new__(cls, name, bases, attrs):
 
         model = super(DocumentMeta, cls).__new__(cls, name, bases, attrs)
     def __new__(cls, name, bases, attrs):
 
         model = super(DocumentMeta, cls).__new__(cls, name, bases, attrs)
@@ -218,13 +212,13 @@ class DocumentMeta(ModelBase):
             # create real Change model and `head' fk
             model.change_model = create_change_model(model)
 
             # create real Change model and `head' fk
             model.change_model = create_change_model(model)
 
-            models.ForeignKey(model.change_model,
-                    null=True, blank=True, default=None,
-                    verbose_name=_('head'), 
-                    help_text=_("This document's current head."),
-                    editable=False).contribute_to_class(model, 'head')
+            models.ForeignKey(
+                model.change_model, null=True, blank=True, default=None,
+                verbose_name=_('head'), help_text=_("This document's current head."),
+                editable=False).contribute_to_class(model, 'head')
 
 
-            models.ForeignKey(User, null=True, blank=True, editable=False,
+            models.ForeignKey(
+                User, null=True, blank=True, editable=False,
                 verbose_name=_('creator'), related_name="created_%s" % name.lower()
                 ).contribute_to_class(model, 'creator')
 
                 verbose_name=_('creator'), related_name="created_%s" % name.lower()
                 ).contribute_to_class(model, 'creator')
 
@@ -239,8 +233,7 @@ class Document(models.Model):
     # default repository path
     REPO_PATH = os.path.join(settings.MEDIA_ROOT, 'dvcs')
 
     # default repository path
     REPO_PATH = os.path.join(settings.MEDIA_ROOT, 'dvcs')
 
-    user = models.ForeignKey(User, null=True, blank=True,
-        verbose_name=_('user'), help_text=_('Work assignment.'))
+    user = models.ForeignKey(User, null=True, blank=True, verbose_name=_('user'), help_text=_('Work assignment.'))
 
     class Meta:
         abstract = True
 
     class Meta:
         abstract = True
@@ -257,8 +250,7 @@ class Document(models.Model):
             change = self.change_set.get(pk=change)
         return change.materialize()
 
             change = self.change_set.get(pk=change)
         return change.materialize()
 
-    def commit(self, text, author=None, author_name=None, author_email=None,
-            publishable=False, **kwargs):
+    def commit(self, text, author=None, author_name=None, author_email=None, publishable=False, **kwargs):
         """Commits a new revision.
 
         This will automatically merge the commit into the main branch,
         """Commits a new revision.
 
         This will automatically merge the commit into the main branch,
@@ -286,12 +278,9 @@ class Document(models.Model):
             # set stage to next tag after the commited one
             self.stage = max(tags, key=lambda t: t.ordering).get_next()
 
             # set stage to next tag after the commited one
             self.stage = max(tags, key=lambda t: t.ordering).get_next()
 
-        change = self.change_set.create(author=author,
-                    author_name=author_name,
-                    author_email=author_email,
-                    description=kwargs.get('description', ''),
-                    publishable=publishable,
-                    parent=parent)
+        change = self.change_set.create(
+            author=author, author_name=author_name, author_email=author_email,
+            description=kwargs.get('description', ''), publishable=publishable, parent=parent)
 
         change.tags = tags
         change.data.save('', ContentFile(text.encode('utf-8')))
 
         change.tags = tags
         change.data.save('', ContentFile(text.encode('utf-8')))