Add future

This commit is contained in:
Iacopo Spalletti 2015-09-13 00:46:05 +02:00
parent c6ae227adf
commit 093dff43c4
21 changed files with 72 additions and 32 deletions

View File

@ -1,5 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from tempfile import mkdtemp
gettext = lambda s: s

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from copy import deepcopy
from cms.admin.placeholderadmin import FrontendEditableAdminMixin, PlaceholderAdminMixin

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.models.pluginmodel import CMSPlugin
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from django.core.urlresolvers import reverse

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from heapq import nlargest
from itertools import ifilter, repeat
from operator import itemgetter

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django.contrib.sites.models import Site
from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django import forms
from django.conf import settings
from taggit_autosuggest.widgets import TagAutoSuggest

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.menu_bases import CMSAttachMenu
from django.db.models.signals import post_delete, post_save
from django.utils.translation import get_language, ugettext_lazy as _

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.models import CMSPlugin, PlaceholderField
from django.conf import settings as dj_settings
from django.core.urlresolvers import reverse
@ -74,52 +76,52 @@ class Post(ModelMeta, TranslatableModel):
Blog post
"""
author = models.ForeignKey(dj_settings.AUTH_USER_MODEL,
verbose_name=_(u'author'), null=True, blank=True,
verbose_name=_('author'), null=True, blank=True,
related_name='djangocms_blog_post_author')
date_created = models.DateTimeField(_(u'created'), auto_now_add=True)
date_modified = models.DateTimeField(_(u'last modified'), auto_now=True)
date_published = models.DateTimeField(_(u'published Since'),
date_created = models.DateTimeField(_('created'), auto_now_add=True)
date_modified = models.DateTimeField(_('last modified'), auto_now=True)
date_published = models.DateTimeField(_('published Since'),
default=timezone.now)
date_published_end = models.DateTimeField(_(u'published Until'), null=True,
date_published_end = models.DateTimeField(_('published Until'), null=True,
blank=True)
publish = models.BooleanField(_(u'publish'), default=False)
categories = models.ManyToManyField('djangocms_blog.BlogCategory', verbose_name=_(u'category'),
publish = models.BooleanField(_('publish'), default=False)
categories = models.ManyToManyField('djangocms_blog.BlogCategory', verbose_name=_('category'),
related_name='blog_posts',)
main_image = FilerImageField(verbose_name=_(u'main image'), blank=True, null=True,
main_image = FilerImageField(verbose_name=_('main image'), blank=True, null=True,
on_delete=models.SET_NULL,
related_name='djangocms_blog_post_image')
main_image_thumbnail = models.ForeignKey('cmsplugin_filer_image.ThumbnailOption',
verbose_name=_(u'main image thumbnail'),
verbose_name=_('main image thumbnail'),
related_name='djangocms_blog_post_thumbnail',
on_delete=models.SET_NULL,
blank=True, null=True)
main_image_full = models.ForeignKey('cmsplugin_filer_image.ThumbnailOption',
verbose_name=_(u'main image full'),
verbose_name=_('main image full'),
related_name='djangocms_blog_post_full',
on_delete=models.SET_NULL,
blank=True, null=True)
enable_comments = models.BooleanField(verbose_name=_(u'enable comments on post'),
enable_comments = models.BooleanField(verbose_name=_('enable comments on post'),
default=get_setting('ENABLE_COMMENTS'))
sites = models.ManyToManyField('sites.Site', verbose_name=_(u'Site(s)'), blank=True,
sites = models.ManyToManyField('sites.Site', verbose_name=_('Site(s)'), blank=True,
null=True,
help_text=_(u'Select sites in which to show the post. '
help_text=_('Select sites in which to show the post. '
u'If none is set it will be '
u'visible in all the configured sites.'))
translations = TranslatedFields(
title=models.CharField(_(u'title'), max_length=255),
slug=models.SlugField(_(u'slug'), blank=True, db_index=True),
abstract=HTMLField(_(u'abstract'), blank=True, default=''),
meta_description=models.TextField(verbose_name=_(u'post meta description'),
title=models.CharField(_('title'), max_length=255),
slug=models.SlugField(_('slug'), blank=True, db_index=True),
abstract=HTMLField(_('abstract'), blank=True, default=''),
meta_description=models.TextField(verbose_name=_('post meta description'),
blank=True, default=''),
meta_keywords=models.TextField(verbose_name=_(u'post meta keywords'),
meta_keywords=models.TextField(verbose_name=_('post meta keywords'),
blank=True, default=''),
meta_title=models.CharField(verbose_name=_(u'post meta title'),
help_text=_(u'used in title tag and social sharing'),
meta_title=models.CharField(verbose_name=_('post meta title'),
help_text=_('used in title tag and social sharing'),
max_length=255,
blank=True, default=''),
post_text=HTMLField(_(u'text'), default='', blank=True),
post_text=HTMLField(_('text'), default='', blank=True),
meta={'unique_together': (('language_code', 'slug'),)}
)
content = PlaceholderField('post_content', related_name='post_content')
@ -239,19 +241,19 @@ class BasePostPlugin(CMSPlugin):
class LatestPostsPlugin(BasePostPlugin):
latest_posts = models.IntegerField(_(u'articles'), default=get_setting('LATEST_POSTS'),
help_text=_(u'The number of latests '
latest_posts = models.IntegerField(_('articles'), default=get_setting('LATEST_POSTS'),
help_text=_('The number of latests '
u'articles to be displayed.'))
tags = TaggableManager(_(u'filter by tag'), blank=True,
help_text=_(u'Show only the blog articles tagged with chosen tags.'),
tags = TaggableManager(_('filter by tag'), blank=True,
help_text=_('Show only the blog articles tagged with chosen tags.'),
related_name='djangocms_blog_latest_post')
categories = models.ManyToManyField('djangocms_blog.BlogCategory', blank=True,
verbose_name=_(u'filter by category'),
help_text=_(u'Show only the blog articles tagged '
verbose_name=_('filter by category'),
help_text=_('Show only the blog articles tagged '
u'with chosen categories.'))
def __str__(self):
return _(u'%s latest articles by tag') % self.latest_posts
return _('%s latest articles by tag') % self.latest_posts
def copy_relations(self, oldinstance):
for tag in oldinstance.tags.all():
@ -272,12 +274,12 @@ class AuthorEntriesPlugin(BasePostPlugin):
limit_choices_to={'djangocms_blog_post_author__publish': True}
)
latest_posts = models.IntegerField(
_(u'articles'), default=get_setting('LATEST_POSTS'),
help_text=_(u'The number of author articles to be displayed.')
_('articles'), default=get_setting('LATEST_POSTS'),
help_text=_('The number of author articles to be displayed.')
)
def __str__(self):
return _(u'%s latest articles by author') % self.latest_posts
return _('%s latest articles by author') % self.latest_posts
def copy_relations(self, oldinstance):
self.authors = oldinstance.authors.all()

View File

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
def get_setting(name):

View File

@ -1,11 +1,13 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django.contrib.sitemaps import Sitemap
from ..models import Post
class BlogSitemap(Sitemap):
changefreq = "never"
changefreq = 'never'
priority = 0.5
def items(self):

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django.conf.urls import patterns, url
from .feeds import LatestEntriesFeed, TagFeed

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django.contrib.auth import get_user_model
from django.core.urlresolvers import resolve
from django.utils.timezone import now

View File

@ -2,6 +2,7 @@
"""
Tests for `djangocms_blog` module.
"""
from __future__ import absolute_import, print_function, unicode_literals
from cmsplugin_filer_image.models import ThumbnailOption
from django.contrib.auth import get_user_model

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import copy
from django.utils.translation import activate

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from copy import deepcopy
import parler

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import re
from cms.api import add_plugin

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.toolbar.items import ModalItem
from django.core.urlresolvers import reverse

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from cms.utils.conf import get_cms_setting
from django.conf import settings
from django.conf.urls import include, patterns, url

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django.contrib.auth.models import AnonymousUser
from django.http import Http404
from django.utils.timezone import now