Fix timezone support
This commit is contained in:
parent
ff48e4e37f
commit
72f001f277
7 changed files with 26 additions and 24 deletions
|
|
@ -1 +1 @@
|
|||
__version__ = '0.2b5'
|
||||
__version__ = '0.2c1'
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue