diff --git a/djangocms_blog/__init__.py b/djangocms_blog/__init__.py index 25569c3..b074002 100644 --- a/djangocms_blog/__init__.py +++ b/djangocms_blog/__init__.py @@ -1 +1 @@ -__version__ = '0.2b5' +__version__ = '0.2c1' diff --git a/djangocms_blog/managers.py b/djangocms_blog/managers.py index db5dac8..4d9a891 100644 --- a/djangocms_blog/managers.py +++ b/djangocms_blog/managers.py @@ -3,9 +3,9 @@ try: from collections import Counter except ImportError: from .compat import Counter -import datetime from django.db import models +from django.utils.timezone import now from parler.managers import TranslationManager @@ -84,7 +84,7 @@ class GenericDateTaggedManager(TaggedFilterItem, TranslationManager): queryset = self.published_future(queryset) if self.start_date_field: return queryset.filter( - **{"%s__lte" % self.start_date_field: datetime.datetime.now()}) + **{"%s__lte" % self.start_date_field: now()}) else: return queryset @@ -93,7 +93,7 @@ class GenericDateTaggedManager(TaggedFilterItem, TranslationManager): queryset = self.get_queryset().all() if self.end_date_field: qfilter = ( - models.Q(**{"%s__gte" % self.end_date_field: datetime.datetime.now()}) + models.Q(**{"%s__gte" % self.end_date_field: now()}) | models.Q(**{"%s__isnull" % self.end_date_field: True}) ) queryset = queryset.filter(qfilter) @@ -104,7 +104,7 @@ class GenericDateTaggedManager(TaggedFilterItem, TranslationManager): queryset = self.get_queryset().all() if self.end_date_field: qfilter = ( - models.Q(**{"%s__lte" % self.end_date_field: datetime.datetime.now()}) + models.Q(**{"%s__lte" % self.end_date_field: now()}) | models.Q(**{"%s__isnull" % self.end_date_field: False}) ) queryset = queryset.filter(qfilter) @@ -127,5 +127,5 @@ class GenericDateTaggedManager(TaggedFilterItem, TranslationManager): date_counter = Counter(dates) dates = set(dates) dates = sorted(dates, reverse=True) - return [{'date': datetime.date(year=year, month=month, day=1), + return [{'date': now().replace(year=year, month=month, day=1), 'count': date_counter[year, month]} for year, month in dates] diff --git a/djangocms_blog/models.py b/djangocms_blog/models.py index 1146537..f052c45 100644 --- a/djangocms_blog/models.py +++ b/djangocms_blog/models.py @@ -2,7 +2,6 @@ from cms.models import PlaceholderField, CMSPlugin from cmsplugin_filer_image.models import ThumbnailOption from django.contrib.auth.models import User -from django.contrib.sites.models import Site from django.core.urlresolvers import reverse from django.db import models from django.utils import timezone diff --git a/djangocms_blog/views.py b/djangocms_blog/views.py index e558717..b8dd8e7 100644 --- a/djangocms_blog/views.py +++ b/djangocms_blog/views.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -import datetime from django.utils.translation import get_language +from django.utils.timezone import now from django.contrib.auth.models import User from django.core.urlresolvers import resolve from django.views.generic import ListView, DetailView @@ -76,7 +76,7 @@ class PostArchiveView(BaseBlogView, ListView): kwargs['month'] = int(self.kwargs.get('month')) if 'month' in self.kwargs else None kwargs['year'] = int(self.kwargs.get('year')) if 'year' in self.kwargs else None if kwargs['year']: - kwargs['archive_date'] = datetime.date(kwargs['year'], kwargs['month'] or 1, 1) + kwargs['archive_date'] = now().replace(kwargs['year'], kwargs['month'] or 1, 1) return super(PostArchiveView, self).get_context_data(**kwargs) diff --git a/tests/test_models.py b/tests/test_models.py index a44bbd8..e3d2aa5 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -2,8 +2,8 @@ from cms.api import add_plugin from cms.utils.copy_plugins import copy_plugins_to from cms.utils.plugins import downcast_plugins -from datetime import date from django.core.urlresolvers import reverse +from django.utils.timezone import now import parler from taggit.models import Tag @@ -80,7 +80,7 @@ class ModelsTest(BaseTest): # default queryset, published and unpublished posts months = Post.objects.get_months() for data in months: - self.assertEqual(data['date'], date(year=date.today().year, month=date.today().month, day=1)) + self.assertEqual(data['date'].date(), now().replace(year=now().year, month=now().month, day=1).date()) self.assertEqual(data['count'], 2) # custom queryset, only published @@ -88,13 +88,13 @@ class ModelsTest(BaseTest): post1.save() months = Post.objects.get_months(Post.objects.published()) for data in months: - self.assertEqual(data['date'], date(year=date.today().year, month=date.today().month, day=1)) + self.assertEqual(data['date'].date(), now().replace(year=now().year, month=now().month, day=1).date()) self.assertEqual(data['count'], 1) self.assertEqual(len(Post.objects.available()), 1) # If post is published but publishing date is in the future - post2.date_published = date(year=date.today().year+1, month=date.today().month, day=1) + post2.date_published = now().replace(year=now().year+1, month=now().month, day=1) post2.publish = True post2.save() self.assertEqual(len(Post.objects.available()), 2) @@ -102,8 +102,8 @@ class ModelsTest(BaseTest): self.assertEqual(len(Post.objects.archived()), 0) # If post is published but end publishing date is in the past - post2.date_published = date(year=date.today().year-2, month=date.today().month, day=1) - post2.date_published_end = date(year=date.today().year-1, month=date.today().month, day=1) + post2.date_published = now().replace(year=now().year-2, month=now().month, day=1) + post2.date_published_end = now().replace(year=now().year-1, month=now().month, day=1) post2.save() self.assertEqual(len(Post.objects.available()), 2) self.assertEqual(len(Post.objects.published()), 1) diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 8f00f4f..6e3f77d 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -from datetime import date import re from cms.api import add_plugin from django.core.urlresolvers import reverse from django.template import RequestContext +from django.utils.timezone import now from taggit.models import Tag from . import BaseTest @@ -99,9 +99,11 @@ class PluginTest(BaseTest): request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True) plugin_class = plugin.get_plugin_class_instance() context = plugin_class.render(RequestContext(request, {}), plugin, ph) - self.assertEqual(context['dates'][0], {'date': date(year=date.today().year, month=date.today().month, day=1), 'count': 2}) + self.assertEqual(context['dates'][0]['date'].date(), now().replace(year=now().year, month=now().month, day=1).date()) + self.assertEqual(context['dates'][0]['count'], 2) post2.publish = False post2.save() context = plugin_class.render(RequestContext(request, {}), plugin, ph) - self.assertEqual(context['dates'][0], {'date': date(year=date.today().year, month=date.today().month, day=1), 'count': 1}) + self.assertEqual(context['dates'][0]['date'].date(), now().replace(year=now().year, month=now().month, day=1).date()) + self.assertEqual(context['dates'][0]['count'], 1) diff --git a/tests/test_views.py b/tests/test_views.py index a728088..8896dc4 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- -from datetime import date from django.contrib.auth.models import AnonymousUser from django.http import Http404 from django.utils.translation import activate +from django.utils.timezone import now from djangocms_blog.feeds import LatestEntriesFeed, TagFeed from djangocms_blog.sitemaps import BlogSitemap -from djangocms_blog.views import PostListView, PostDetailView, PostArchiveView, \ - CategoryEntriesView, AuthorEntriesView, TaggedListView +from djangocms_blog.views import (PostListView, PostDetailView, + PostArchiveView, CategoryEntriesView, + AuthorEntriesView, TaggedListView) from . import BaseTest @@ -89,7 +90,7 @@ class ViewTest(BaseTest): activate('en') view_obj = PostArchiveView() view_obj.request = request - view_obj.kwargs = {'year': date.today().year, 'month': date.today().month} + view_obj.kwargs = {'year': now().year, 'month': now().month} # One post only, anonymous request qs = view_obj.get_queryset() @@ -98,7 +99,7 @@ class ViewTest(BaseTest): view_obj.object_list = qs context = view_obj.get_context_data(object_list=view_obj.object_list) - self.assertEqual(context['archive_date'], date(year=date.today().year, month=date.today().month, day=1)) + self.assertEqual(context['archive_date'].date(), now().replace(year=now().year, month=now().month, day=1).date()) def test_category_entries_view(self): page1, page2 = self.get_pages() @@ -212,4 +213,4 @@ class ViewTest(BaseTest): sitemap = BlogSitemap() self.assertEqual(sitemap.items().count(), 2) for item in sitemap.items(): - self.assertTrue(sitemap.lastmod(item).date(), date.today()) + self.assertTrue(sitemap.lastmod(item).date(), now().today())