Skip to content
This repository has been archived by the owner on Jun 29, 2020. It is now read-only.

Commit

Permalink
Merge pull request #1087 from kawazrepos/new-django19
Browse files Browse the repository at this point in the history
Upgrade Django version to 1.9
  • Loading branch information
lambdalisue committed Oct 2, 2016
2 parents 728d728 + 0e5c73c commit fc9c237
Show file tree
Hide file tree
Showing 45 changed files with 139 additions and 145 deletions.
2 changes: 1 addition & 1 deletion config/requirements-django.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
django==1.8.7
django>=1.9,<1.10
3 changes: 2 additions & 1 deletion config/requirements-test.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
factory_boy>=2.2.1
factory_boy>=2.7
coverage
faker
5 changes: 2 additions & 3 deletions config/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@ pyyaml
pytz
pillow
markdown2==2.3.0
djangorestframework>=3.0.1
djangorestframework
django-permission>=0.8.8
django-filter
django-roughpages>=0.1.2
django-thumbnailfield>=0.2.3
django-inspectional-registration==0.6.0
django-inspectional-registration
django-crispy-forms
django-contrib-comments
django-debug-toolbar
django-debug-toolbar-template-timings
django-debug-toolbar-vcs-info>=1.1.0
django-slack-invitation
requests
Expand Down
4 changes: 2 additions & 2 deletions config/tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py35-django18
envlist = py35-django19
skipsdist = True

[testenv]
Expand All @@ -8,7 +8,7 @@ changedir = {toxinidir}/../
basepython=
py35: python3.5
deps=
django18: django>=1.8,<1.9
django19: django>=1.9,<1.10
-r{toxinidir}/requirements.txt
-r{toxinidir}/requirements-test.txt
commands=
Expand Down
4 changes: 2 additions & 2 deletions src/kawaz/api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browseable API.
urlpatterns = patterns('',
urlpatterns = [
url(r'', include(router.urls)),
url(r'^api-auth/',
include('rest_framework.urls', namespace='rest_framework'))
)
]
6 changes: 3 additions & 3 deletions src/kawaz/apps/announcements/urls.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from django.conf.urls import patterns, url
from django.conf.urls import url
from .views import AnnouncementListView
from .views import AnnouncementUpdateView
from .views import AnnouncementCreateView
from .views import AnnouncementDeleteView
from .views import AnnouncementDetailView


urlpatterns = patterns('',
urlpatterns = [
url(r'^$', AnnouncementListView.as_view(),
name='announcements_announcement_list'),
url(r'^create/$', AnnouncementCreateView.as_view(),
Expand All @@ -17,4 +17,4 @@
name='announcements_announcement_delete'),
url(r'^(?P<pk>\d+)/$', AnnouncementDetailView.as_view(),
name='announcements_announcement_detail'),
)
]
6 changes: 3 additions & 3 deletions src/kawaz/apps/attachments/urls.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.conf.urls import patterns, url
from django.conf.urls import url
from .views import MaterialDetailView


urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[^/]+)/$',
MaterialDetailView.as_view(),
name='attachments_material_detail'),
)
]
2 changes: 1 addition & 1 deletion src/kawaz/apps/blogs/tests/test_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,5 @@ def test_entry_is_published(self):
'context variable published is not contained'
)
mediator = registry.get(activity)
rendered = mediator.render(activity, Context())
rendered = mediator.render(activity, {})
self.assertTrue('公開されました' in rendered)
12 changes: 6 additions & 6 deletions src/kawaz/apps/blogs/urls.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url

from .views import EntryAuthorDayArchiveView
from .views import EntryAuthorListView
Expand All @@ -17,7 +17,7 @@
from .views import EntryPreviewView
from .views import EntryCategoryListView

author_patterns = patterns('',
author_patterns = [
url(r'^(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/(?P<pk>\d+)/$',
EntryDetailView.as_view(), name='blogs_entry_detail'),
url(r'^create/$',
Expand All @@ -42,10 +42,10 @@
EntryCategoryListView.as_view(), name='blogs_entry_category_list'),
url(r'^$',
EntryAuthorListView.as_view(), name='blogs_entry_author_list'),
)
]


urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/$',
EntryDayArchiveView.as_view(), name='blogs_entry_archive_day'),
url(r'^(?P<year>\d+)/(?P<month>\d+)/$',
Expand All @@ -58,5 +58,5 @@
EntryTodayArchiveView.as_view(), name='blogs_entry_archive_today'),
url(r'^preview/$',
EntryPreviewView.as_view(), name='blogs_entry_preview'),
(r'^(?P<author>[^/.+]+)/', include(author_patterns)),
)
url(r'^(?P<author>[^/.+]+)/', include(author_patterns)),
]
2 changes: 1 addition & 1 deletion src/kawaz/apps/blogs/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class EntryCreateView(SuccessMessageMixin, CreateView):
model = Entry
form_class = EntryForm

def get_form(self, form_class):
def get_form(self, form_class=EntryForm):
# Model.cleanでValidationを行うために
# ここで作者を設定している
# 議論参照
Expand Down
14 changes: 9 additions & 5 deletions src/kawaz/apps/events/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,19 @@

from .models import Event

class EventForm(Bootstrap3HorizontalFormHelperMixin, ModelForm):

class EventForm(Bootstrap3HorizontalFormHelperMixin, ModelForm):
body = MarkdownField(label=_('Body'))
period_start = forms.DateTimeField(label=_('Start time'), widget=forms.DateTimeInput(attrs={'type': 'datetime'}), required=False)
period_end = forms.DateTimeField(label=_('End time'), widget=forms.DateTimeInput(attrs={'type': 'datetime'}), required=False)
period_start = forms.DateTimeField(label=_('Start time'),
widget=forms.DateTimeInput(attrs={'type': 'datetime'}),
required=False)
period_end = forms.DateTimeField(label=_('End time'),
widget=forms.DateTimeInput(attrs={'type': 'datetime'}),
required=False)
attendance_deadline = forms.DateTimeField(label=_('Attendance deadline'),
widget=forms.DateTimeInput(attrs={'type': 'datetime'}),
required=False, help_text=ATTENDANCE_DEADLINE_HELP_TEXT)


class Meta:
model = Event
exclude = (
Expand All @@ -28,6 +31,7 @@ class Meta:
'updated_at',
)


class EventCreationForm(EventForm):
class Meta:
model = Event
Expand All @@ -38,9 +42,9 @@ class Meta:
'attendees'
)


class EventUpdateForm(EventForm):
attendees = PersonaChoiceField(
label=_('Attendees'),
cache_choices=True,
queryset=Persona.objects.filter(is_active=True).order_by('pk'),
help_text=_('Add attendees of this event'))
6 changes: 3 additions & 3 deletions src/kawaz/apps/events/urls.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from django.conf.urls import patterns, include, url
from django.conf.urls import url

from .views import EventListView, EventCreateView, EventDetailView, EventUpdateView, EventDeleteView, EventAttendView, EventQuitView, EventYearListView, EventMonthListView, EventPreviewView, EventCalendarView

urlpatterns = patterns('',
urlpatterns = [
url(r'^$', EventListView.as_view(), name='events_event_list'),
url(r'^(?P<pk>\d+)/$', EventDetailView.as_view(), name='events_event_detail'),
url(r'^(?P<pk>\d+)/calendar/$', EventCalendarView.as_view(), name='events_event_calendar'),
Expand All @@ -15,4 +15,4 @@
url(r'^archive/(?P<year>\d+)/$', EventYearListView.as_view(), name='events_event_archive-year'),
url(r'^archive/(?P<year>\d+)/(?P<month>\d+)/$',
EventMonthListView.as_view(), name='events_event_archive_month'),
)
]
4 changes: 2 additions & 2 deletions src/kawaz/apps/events/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
from django_filters.views import FilterView
from django.utils.translation import ugettext as _
from .filters import EventFilter
from django.http.response import HttpResponse
from django.http.response import StreamingHttpResponse
from django.core.servers.basehttp import FileWrapper

from wsgiref.util import FileWrapper

from permission.decorators import permission_required
from kawaz.core.views.delete import DeleteSuccessMessageMixin
Expand Down
7 changes: 1 addition & 6 deletions src/kawaz/apps/products/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from .models import PackageRelease
from .models import URLRelease


class ProductBaseForm(Bootstrap3HorizontalFormHelperMixin, ModelForm):
form_tag = False

Expand All @@ -24,22 +25,16 @@ class ProductBaseForm(Bootstrap3HorizontalFormHelperMixin, ModelForm):
queryset=Project.objects.filter(status='done'),
label=_('Project'),
required=False)
# cache_choicesを有効にしないとめちゃくちゃクエリが吐かれる
# 実測値で20倍程度遅くなっていた
# Ref : http://simionbaws.ro/programming/django-checkboxselectmultiple-with-modelmultiplechoicefield-generates-too-many-queries/
platforms = forms.ModelMultipleChoiceField(
label=_('Platforms'),
widget=widgets.CheckboxSelectMultiple,
cache_choices=True,
queryset=Platform.objects.all().order_by('pk'))
categories = forms.ModelMultipleChoiceField(
label=_('Categories'),
widget=widgets.CheckboxSelectMultiple,
cache_choices=True,
queryset=Category.objects.all().order_by('pk'))
administrators = PersonaChoiceField(
label=_('Administrators'),
cache_choices=True,
queryset=Persona.objects.filter(is_active=True).order_by('pk'),
help_text=_('Add administrator users of this product'))
published_at = forms.DateField(
Expand Down
6 changes: 3 additions & 3 deletions src/kawaz/apps/products/urls.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from django.conf.urls import patterns, url
from django.conf.urls import url

from .views import ProductListView
from .views import ProductUpdateView
Expand All @@ -10,7 +10,7 @@
from .views import URLReleaseDetailView


urlpatterns = patterns('',
urlpatterns = [
url('^$',
ProductListView.as_view(), name='products_product_list'),
url('^preview/$',
Expand All @@ -29,4 +29,4 @@
ProductUpdateView.as_view(), name='products_product_update'),
url('^(?P<slug>[\w_-]+)/delete/$',
ProductDeleteView.as_view(), name='products_product_delete'),
)
]
2 changes: 1 addition & 1 deletion src/kawaz/apps/products/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ class ProductCreateView(ProductFormMixin, CreateView):
model = Product
form_class = ProductCreateForm

def get_form(self, form_class):
def get_form(self, form_class=ProductCreateForm):
form = super().get_form(form_class)
# Contact Infoの初期値としてニックネームとメールアドレスを入れている
user = getattr(self.request, 'user')
Expand Down
6 changes: 3 additions & 3 deletions src/kawaz/apps/projects/urls.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from django.conf.urls import patterns, url
from django.conf.urls import url

from .views import ProjectListView, ProjectPreviewView
from .views import ProjectUpdateView
Expand All @@ -10,7 +10,7 @@
from .views import ProjectArchiveView


urlpatterns = patterns('',
urlpatterns = [
url('^$',
ProjectListView.as_view(), name='projects_project_list'),
url('^create/$',
Expand All @@ -29,4 +29,4 @@
ProjectDeleteView.as_view(), name='projects_project_delete'),
url('^(?P<slug>[\w_-]+)/$',
ProjectDetailView.as_view(), name='projects_project_detail'),
)
]
2 changes: 1 addition & 1 deletion src/kawaz/apps/stars/models.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django.conf import settings
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.generic import GenericForeignKey
from django.contrib.contenttypes.fields import GenericForeignKey
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist
from kawaz.core.db.decorators import validate_on_save
Expand Down
4 changes: 2 additions & 2 deletions src/kawaz/core/activities/hatenablog/scraper.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def fetch(self):
r = requests.get(self.url)
r.raise_for_status()

s = BeautifulSoup(r.text)
s = BeautifulSoup(r.text, 'html.parser')
entries = s.find_all('item')
n = len(entries)
ncreated = 0
Expand Down Expand Up @@ -58,7 +58,7 @@ def fetch(self):
def _fetch_entry_thumbnail(self, entry):
r = requests.get(entry.link.string)
r.raise_for_status()
s = BeautifulSoup(r.text)
s = BeautifulSoup(r.text, 'html.parser')
thumbnail_url = None
for meta in s.find_all('meta'):
if meta.get('property', None) == 'og:image':
Expand Down
6 changes: 3 additions & 3 deletions src/kawaz/core/activities/tests/testcases.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def _test_partial_update(self, context_names = (), **fields):
activity = activities[0]
self.assertEqual(activity.status, 'updated')
mediator = registry.get(activity)
context = Context()
context = {}
context = mediator.prepare_context(activity, context)
for name in context_names:
self.assertTrue(
Expand Down Expand Up @@ -75,11 +75,11 @@ def _test_comment_added(self):

self._test_render(activity)
mediator = registry.get(activity)
context = mediator.prepare_context(activity, Context())
context = mediator.prepare_context(activity, {})
self.assertTrue('comment' in context,
"context doesn't contain 'comment'")


def _test_render(self, activity):
mediator = registry.get(activity)
self.assertTrue(mediator.render(activity, Context()))
self.assertTrue(mediator.render(activity, {}))
12 changes: 5 additions & 7 deletions src/kawaz/core/activities/urls.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@


from django.conf.urls import patterns, url
from django.conf.urls import url

from .views import ActivityListView


urlpatterns = patterns('',
url(r'^$', ActivityListView.as_view(),
name='activities_activity_list'),
)
urlpatterns = [
url(r'^$', ActivityListView.as_view(),
name='activities_activity_list'),
]
11 changes: 2 additions & 9 deletions src/kawaz/core/comments/__init__.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
# ! -*- coding: utf-8 -*-
#
#
#
from django_comments.models import Comment
from kawaz.core.comments.forms import KawazCommentForm



def get_form():
from kawaz.core.comments.forms import KawazCommentForm
return KawazCommentForm

def get_model():
from django_comments.models import Comment
return Comment
2 changes: 1 addition & 1 deletion src/kawaz/core/comments/tests/test_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def test_render_comment_added(self):
activity = ActivityFactory(content_type=ct, object_id=pk, status='comment_added')
mediator = registry.get(activity)

self.assertTrue(mediator.render(activity, Context()))
self.assertTrue(mediator.render(activity, {}))

def test_comment_delete(self):
"""
Expand Down

0 comments on commit fc9c237

Please sign in to comment.