Skip to content

Commit

Permalink
Merge 08841e2 into 16e7cbf
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasyip committed Apr 30, 2016
2 parents 16e7cbf + 08841e2 commit 49e257b
Show file tree
Hide file tree
Showing 7 changed files with 136 additions and 95 deletions.
3 changes: 0 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ sudo: false

python:
- "2.7"
- "3.3"
- "3.4"
- "3.5"

install:
- pip install --upgrade pip
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Django>=1.8,<1.9
django-haystack==2.4.1
django-trusts>=0.10.3
whoosh==2.7.0
mistune==0.7.1
Pillow==3.1.0
Expand Down
1 change: 0 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
],
Expand Down
24 changes: 24 additions & 0 deletions spirit/category/migrations/0004_auto_20160417_0134.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('trusts', '0001_initial'),
('spirit_category', '0003_category_is_global'),
]

operations = [
migrations.AlterModelOptions(
name='category',
options={'ordering': ['title', 'pk'], 'default_permissions': ('add', 'change', 'delete', 'read', 'add_topic_to'), 'verbose_name': 'category', 'verbose_name_plural': 'categories'},
),
migrations.AddField(
model_name='category',
name='trust',
field=models.ForeignKey(related_name='spirit_category_category_content', default=1, to='trusts.Trust'),
),
]
4 changes: 3 additions & 1 deletion spirit/category/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@
from django.utils.translation import ugettext_lazy as _
from django.core.urlresolvers import reverse
from django.conf import settings
from trusts.models import Content, Trust

from .managers import CategoryQuerySet
from ..core.utils.models import AutoSlugField


class Category(models.Model):
class Category(Content):

parent = models.ForeignKey('self', verbose_name=_("category parent"), null=True, blank=True)

Expand All @@ -33,6 +34,7 @@ class Meta:
ordering = ['title', 'pk']
verbose_name = _("category")
verbose_name_plural = _("categories")
default_permissions = ('add', 'change', 'delete', 'read', 'add_topic_to')

def get_absolute_url(self):
if self.pk == settings.ST_TOPIC_PRIVATE_CATEGORY_PK:
Expand Down
96 changes: 6 additions & 90 deletions spirit/settings.py → spirit/settings/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,10 @@
from __future__ import unicode_literals
import os

ST_TOPIC_PRIVATE_CATEGORY_PK = 1
from spirit.settings import reusableapp
from spirit.settings.reusableapp import *

ST_RATELIMIT_ENABLE = True
ST_RATELIMIT_CACHE_PREFIX = 'srl'
ST_RATELIMIT_CACHE = 'default'

ST_NOTIFICATIONS_PER_PAGE = 20

ST_COMMENT_MAX_LEN = 3000
ST_MENTIONS_PER_COMMENT = 30

ST_YT_PAGINATOR_PAGE_RANGE = 3

ST_SEARCH_QUERY_MIN_LEN = 3

ST_USER_LAST_SEEN_THRESHOLD_MINUTES = 1

ST_PRIVATE_FORUM = False

ST_ALLOWED_UPLOAD_IMAGE_FORMAT = ('jpeg', 'png', 'gif')
ST_ALLOWED_URL_PROTOCOLS = {
'http', 'https', 'mailto', 'ftp', 'ftps',
'git', 'svn', 'magnet', 'irc', 'ircs'}

ST_UNICODE_SLUGS = True

ST_UNIQUE_EMAILS = True
ST_CASE_INSENSITIVE_EMAILS = True

ST_BASE_DIR = os.path.dirname(__file__)
ST_BASE_DIR = os.path.dirname(os.path.dirname(__file__))

#
# Django & Spirit settings defined below...
Expand All @@ -48,37 +22,8 @@
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

'spirit.core',
'spirit.admin',
'spirit.search',

'spirit.user',
'spirit.user.admin',
'spirit.user.auth',

'spirit.category',
'spirit.category.admin',

'spirit.topic',
'spirit.topic.admin',
'spirit.topic.favorite',
'spirit.topic.moderate',
'spirit.topic.notification',
'spirit.topic.poll', # todo: remove in Spirit v0.5
'spirit.topic.private',
'spirit.topic.unread',

'spirit.comment',
'spirit.comment.bookmark',
'spirit.comment.flag',
'spirit.comment.flag.admin',
'spirit.comment.history',
'spirit.comment.like',
'spirit.comment.poll',

# 'spirit.core.tests'
]
'trusts',
] + reusableapp.INSTALLED_APPS

# python manage.py createcachetable
CACHES = {
Expand All @@ -104,13 +49,7 @@
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
# 'spirit.core.middleware.XForwardedForMiddleware',
'spirit.user.middleware.TimezoneMiddleware',
'spirit.user.middleware.LastIPMiddleware',
'spirit.user.middleware.LastSeenMiddleware',
'spirit.user.middleware.ActiveUserMiddleware',
'spirit.core.middleware.PrivateForumMiddleware',
]
] + reusableapp.MIDDLEWARE_CLASSES

TEMPLATES = [
{
Expand All @@ -136,29 +75,6 @@
# Third-party apps settings defined below...
#

# django-djconfig

INSTALLED_APPS += [
'djconfig',
]

MIDDLEWARE_CLASSES += [
'djconfig.middleware.DjConfigMiddleware',
]

TEMPLATES[0]['OPTIONS']['context_processors'] += [
'djconfig.context_processors.config',
]

# django-haystack

INSTALLED_APPS += [
'haystack',
]

HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
'PATH': os.path.join(os.path.dirname(__file__), 'search/whoosh_index'),
},
}
102 changes: 102 additions & 0 deletions spirit/settings/reusableapp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
from __future__ import unicode_literals
import os


ST_TOPIC_PRIVATE_CATEGORY_PK = 1
ST_UNCATEGORIZED_CATEGORY_PK = 2

ST_RATELIMIT_ENABLE = True
ST_RATELIMIT_CACHE_PREFIX = 'srl'
ST_RATELIMIT_CACHE = 'default'

ST_NOTIFICATIONS_PER_PAGE = 20

ST_COMMENT_MAX_LEN = 3000

ST_MENTIONS_PER_COMMENT = 30

ST_YT_PAGINATOR_PAGE_RANGE = 3

ST_SEARCH_QUERY_MIN_LEN = 3

ST_USER_LAST_SEEN_THRESHOLD_MINUTES = 1

ST_PRIVATE_FORUM = False

ST_ALLOWED_UPLOAD_IMAGE_FORMAT = ('jpeg', 'png', 'gif')

ST_ALLOWED_URL_PROTOCOLS = {
'http', 'https', 'mailto', 'ftp', 'ftps',
'git', 'svn', 'magnet', 'irc', 'ircs'}

ST_UNICODE_SLUGS = True

ST_UNIQUE_EMAILS = True
ST_CASE_INSENSITIVE_EMAILS = True


INSTALLED_APPS = [
'spirit.core',
'spirit.admin',
'spirit.search',

'spirit.user',
'spirit.user.admin',
'spirit.user.auth',

'spirit.category',
'spirit.category.admin',

'spirit.topic',
'spirit.topic.admin',
'spirit.topic.favorite',
'spirit.topic.moderate',
'spirit.topic.notification',
'spirit.topic.poll', # todo: remove in Spirit v0.5
'spirit.topic.private',
'spirit.topic.unread',

'spirit.comment',
'spirit.comment.bookmark',
'spirit.comment.flag',
'spirit.comment.flag.admin',
'spirit.comment.history',
'spirit.comment.like',
'spirit.comment.poll',

# 'spirit.core.tests'
]

MIDDLEWARE_CLASSES = [
# 'spirit.core.middleware.XForwardedForMiddleware',
'spirit.user.middleware.TimezoneMiddleware',
'spirit.user.middleware.LastIPMiddleware',
'spirit.user.middleware.LastSeenMiddleware',
'spirit.user.middleware.ActiveUserMiddleware',
'spirit.core.middleware.PrivateForumMiddleware',
]

#
# Third-party apps settings defined below...
#

# django-djconfig
INSTALLED_APPS += [
'djconfig',
]

MIDDLEWARE_CLASSES += [
'djconfig.middleware.DjConfigMiddleware',
]


INSTALLED_APPS += [
'haystack',
]

HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
'PATH': os.path.join(os.path.dirname(os.path.dirname(__file__)), 'search/whoosh_index'),
},
}

0 comments on commit 49e257b

Please sign in to comment.