diff options
35 files changed, 152 insertions, 166 deletions
diff --git a/askbot/auth.py b/askbot/auth.py index 7b4fac68..bfa55a22 100644 --- a/askbot/auth.py +++ b/askbot/auth.py @@ -8,14 +8,10 @@ Many of these functions are being replaced with assertions: User.assert_can... """ import datetime -from django.utils.translation import ugettext as _ from django.db import transaction from askbot.models import Repute -from askbot.models import Question from askbot.models import Answer from askbot.models import signals -import logging - from askbot.conf import settings as askbot_settings # user preferences view permissions diff --git a/askbot/deps/django_authopenid/backends.py b/askbot/deps/django_authopenid/backends.py index 4432246f..cac1ce02 100644 --- a/askbot/deps/django_authopenid/backends.py +++ b/askbot/deps/django_authopenid/backends.py @@ -2,7 +2,6 @@ multiple login methods supported by the authenticator application """ -import logging import datetime from django.contrib.auth.models import User from django.core.exceptions import ImproperlyConfigured diff --git a/askbot/deps/django_authopenid/forms.py b/askbot/deps/django_authopenid/forms.py index d8e03137..cd9168d8 100644 --- a/askbot/deps/django_authopenid/forms.py +++ b/askbot/deps/django_authopenid/forms.py @@ -29,13 +29,9 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import types -import re import logging from django import forms from django.contrib.auth.models import User -from django.contrib.auth import authenticate from django.utils.translation import ugettext as _ from django.conf import settings from askbot.conf import settings as askbot_settings @@ -50,9 +46,7 @@ try: except ImportError: from yadis import xri -from askbot.utils.forms import clean_next from askbot.deps.django_authopenid import util -from askbot.deps.django_authopenid.models import ExternalLoginData __all__ = [ 'OpenidSigninForm','OpenidRegisterForm', diff --git a/askbot/deps/django_authopenid/middleware.py b/askbot/deps/django_authopenid/middleware.py index 2101813c..483dee6f 100644 --- a/askbot/deps/django_authopenid/middleware.py +++ b/askbot/deps/django_authopenid/middleware.py @@ -2,7 +2,6 @@ from askbot.deps.django_authopenid import mimeparse from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse -from django.conf import settings import logging __all__ = ["OpenIDMiddleware"] diff --git a/askbot/deps/django_authopenid/migrations/0005_auto__del_externallogindata.py b/askbot/deps/django_authopenid/migrations/0005_auto__del_externallogindata.py new file mode 100644 index 00000000..ef4d0fa4 --- /dev/null +++ b/askbot/deps/django_authopenid/migrations/0005_auto__del_externallogindata.py @@ -0,0 +1,118 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Deleting model 'ExternalLoginData' + db.delete_table('django_authopenid_externallogindata') + + + def backwards(self, orm): + + # Adding model 'ExternalLoginData' + db.create_table('django_authopenid_externallogindata', ( + ('external_username', self.gf('django.db.models.fields.CharField')(max_length=40, unique=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('external_session_data', self.gf('django.db.models.fields.TextField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), + )) + db.send_create_signal('django_authopenid', ['ExternalLoginData']) + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'consecutive_days_visit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'new_response_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'seen_response_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'w'", 'max_length': '2'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'django_authopenid.association': { + 'Meta': {'object_name': 'Association'}, + 'assoc_type': ('django.db.models.fields.TextField', [], {'max_length': '64'}), + 'handle': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'issued': ('django.db.models.fields.IntegerField', [], {}), + 'lifetime': ('django.db.models.fields.IntegerField', [], {}), + 'secret': ('django.db.models.fields.TextField', [], {'max_length': '255'}), + 'server_url': ('django.db.models.fields.TextField', [], {'max_length': '2047'}) + }, + 'django_authopenid.nonce': { + 'Meta': {'object_name': 'Nonce'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'salt': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'server_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'timestamp': ('django.db.models.fields.IntegerField', [], {}) + }, + 'django_authopenid.userassociation': { + 'Meta': {'unique_together': "(('user', 'provider_name'), ('openid_url', 'provider_name'))", 'object_name': 'UserAssociation'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_used_timestamp': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'openid_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'provider_name': ('django.db.models.fields.CharField', [], {'default': "'unknown'", 'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'django_authopenid.userpasswordqueue': { + 'Meta': {'object_name': 'UserPasswordQueue'}, + 'confirm_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'new_password': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'}) + } + } + + complete_apps = ['django_authopenid'] diff --git a/askbot/deps/django_authopenid/models.py b/askbot/deps/django_authopenid/models.py index 8a1fa118..31ec36f9 100644 --- a/askbot/deps/django_authopenid/models.py +++ b/askbot/deps/django_authopenid/models.py @@ -82,12 +82,3 @@ class UserPasswordQueue(models.Model): def __unicode__(self): return self.user.username - -class ExternalLoginData(models.Model): - """this class was added by Evgeny to associate - external authentication user with django user - probably it just does not belong here... (EF) - """ - external_username = models.CharField(max_length=40, unique=True, null=False) - external_session_data = models.TextField() - user = models.ForeignKey(User, null=True) diff --git a/askbot/deps/django_authopenid/urls.py b/askbot/deps/django_authopenid/urls.py index 3ed2eaa3..c0846c18 100644 --- a/askbot/deps/django_authopenid/urls.py +++ b/askbot/deps/django_authopenid/urls.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- from django.conf.urls.defaults import patterns, url from django.utils.translation import ugettext as _ -from django.conf import settings urlpatterns = patterns('askbot.deps.django_authopenid.views', # yadis rdf diff --git a/askbot/deps/django_authopenid/util.py b/askbot/deps/django_authopenid/util.py index 67d3ba43..3a2fd122 100644 --- a/askbot/deps/django_authopenid/util.py +++ b/askbot/deps/django_authopenid/util.py @@ -9,7 +9,6 @@ import oauth2 as oauth from django.db.models.query import Q from django.conf import settings -from django.core.urlresolvers import reverse from django.utils.datastructures import SortedDict from django.utils.translation import ugettext as _ from django.core.exceptions import ImproperlyConfigured @@ -28,8 +27,6 @@ except: from yadis import xri import time, base64, hashlib, operator, logging -from askbot.utils.forms import clean_next, get_next_url - from models import Association, Nonce __all__ = ['OpenID', 'DjangoOpenIDStore', 'from_openid_response', 'clean_next'] diff --git a/askbot/deps/django_authopenid/views.py b/askbot/deps/django_authopenid/views.py index 844005b8..623eb74f 100644 --- a/askbot/deps/django_authopenid/views.py +++ b/askbot/deps/django_authopenid/views.py @@ -31,9 +31,7 @@ # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import datetime -from django.utils import simplejson -from django.http import HttpResponseRedirect, get_host, Http404, \ - HttpResponseServerError +from django.http import HttpResponseRedirect, get_host, Http404 from django.http import HttpResponse from django.template import RequestContext, Context from django.conf import settings @@ -45,11 +43,8 @@ from django.core.urlresolvers import reverse from django.utils.encoding import smart_unicode from django.utils.html import escape from django.utils.translation import ugettext as _ -from django.utils.http import urlquote_plus from django.utils.safestring import mark_safe from django.core.mail import send_mail -from django.views.defaults import server_error - from askbot.skins.loaders import ENV from askbot.deps.openid.consumer.consumer import Consumer, \ @@ -62,16 +57,13 @@ try: except ImportError: from yadis import xri -import re import urllib - from askbot import forms as askbot_forms from askbot.deps.django_authopenid import util from askbot.deps.django_authopenid import decorators -from askbot.deps.django_authopenid.models import UserAssociation, UserPasswordQueue, ExternalLoginData +from askbot.deps.django_authopenid.models import UserAssociation from askbot.deps.django_authopenid import forms from askbot.deps.django_authopenid.backends import AuthBackend -from django import forms as django_forms import logging from askbot.utils.forms import get_next_url diff --git a/askbot/deps/livesettings/overrides.py b/askbot/deps/livesettings/overrides.py index 3d8404ef..f3dc3355 100644 --- a/askbot/deps/livesettings/overrides.py +++ b/askbot/deps/livesettings/overrides.py @@ -4,7 +4,6 @@ for settings retrieval. from django.conf import settings as djangosettings from django.contrib.sites.models import Site -import logging __all__ = ['get_overrides'] diff --git a/askbot/deps/livesettings/values.py b/askbot/deps/livesettings/values.py index 5a9b2bf8..6d994410 100644 --- a/askbot/deps/livesettings/values.py +++ b/askbot/deps/livesettings/values.py @@ -17,7 +17,6 @@ from askbot.deps.livesettings.widgets import ImageInput import datetime import logging import signals -import tempfile import os __all__ = ['BASE_GROUP', 'ConfigurationGroup', 'Value', 'BooleanValue', 'DecimalValue', 'DurationValue', diff --git a/askbot/feed.py b/askbot/feed.py index a204b98d..71a85b86 100644 --- a/askbot/feed.py +++ b/askbot/feed.py @@ -12,7 +12,7 @@ """ #!/usr/bin/env python #encoding:utf-8 -from django.contrib.syndication.feeds import Feed, FeedDoesNotExist +from django.contrib.syndication.feeds import Feed from django.utils.translation import ugettext as _ from askbot.models import Question from askbot.conf import settings as askbot_settings diff --git a/askbot/management/commands/add_admin.py b/askbot/management/commands/add_admin.py index 8ff49193..daf69f9c 100644 --- a/askbot/management/commands/add_admin.py +++ b/askbot/management/commands/add_admin.py @@ -1,6 +1,6 @@ from django.core.management.base import NoArgsCommand -from django.contrib.auth.models import User, Group -from django.db.models.signals import pre_save, post_save, pre_delete, post_delete +from django.contrib.auth.models import User +from django.db.models.signals import pre_save, post_save import sys class Command(NoArgsCommand): diff --git a/askbot/management/commands/pg_base_command.py b/askbot/management/commands/pg_base_command.py deleted file mode 100644 index 3ff7853d..00000000 --- a/askbot/management/commands/pg_base_command.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -#encoding:utf-8 -#------------------------------------------------------------------------------- -# Name: Award badges command -# Purpose: This is a command file croning in background process regularly to -# query database and award badges for user's special acitivities. -# -# Author: Mike, Sailing -# -# Created: 22/01/2009 -# Copyright: (c) Mike 2009 -# Licence: GPL V2 -#------------------------------------------------------------------------------- - -from datetime import datetime, date -from django.core.management.base import NoArgsCommand -from django.db import connection -from django.shortcuts import get_object_or_404 -from django.contrib.contenttypes.models import ContentType - -from askbot.models import * -from askbot.const import * - -class BaseCommand(NoArgsCommand): - def update_activities_auditted(self, cursor, activity_ids): - # update processed rows to auditted - if len(activity_ids): - query = "UPDATE activity SET is_auditted = TRUE WHERE id in (%s)"\ - % ','.join('%s' % item for item in activity_ids) - cursor.execute(query) - - - - - diff --git a/askbot/management/commands/remove_admin.py b/askbot/management/commands/remove_admin.py index edc22f3d..b3f7665f 100644 --- a/askbot/management/commands/remove_admin.py +++ b/askbot/management/commands/remove_admin.py @@ -1,6 +1,6 @@ from django.core.management.base import NoArgsCommand -from django.contrib.auth.models import User, Group -from django.db.models.signals import pre_save, post_save, pre_delete, post_delete +from django.contrib.auth.models import User +from django.db.models.signals import pre_save, post_save import sys class Command(NoArgsCommand): diff --git a/askbot/management/commands/rename_tags.py b/askbot/management/commands/rename_tags.py index bb7e54e2..bd15d685 100644 --- a/askbot/management/commands/rename_tags.py +++ b/askbot/management/commands/rename_tags.py @@ -4,7 +4,6 @@ retagged """ import sys from optparse import make_option -from django.db import transaction from django.core import management from django.core.management.base import BaseCommand, CommandError from askbot import api, models @@ -142,8 +141,6 @@ Also, you can try command "rename_tag_id" ) except models.Tag.MultipleObjectsReturned: raise CommandError(u'found more than one tag named %s' % tag_name) - #transaction.commit() - options['user_id'] = admin.id options['from'] = format_tag_ids(from_tags) options['to'] = format_tag_ids(to_tags) diff --git a/askbot/management/commands/send_email_alerts.py b/askbot/management/commands/send_email_alerts.py index e3c9482f..48c01dab 100644 --- a/askbot/management/commands/send_email_alerts.py +++ b/askbot/management/commands/send_email_alerts.py @@ -1,9 +1,7 @@ -import logging import datetime from django.core.management.base import NoArgsCommand from django.db import connection from django.db.models import Q, F -import askbot from askbot.models import User, Question, Answer, Tag, QuestionRevision from askbot.models import AnswerRevision, Activity, EmailFeedSetting from askbot.models import Comment diff --git a/askbot/management/commands/subscribe_everyone.py b/askbot/management/commands/subscribe_everyone.py index 039fc1e3..12f7bed2 100644 --- a/askbot/management/commands/subscribe_everyone.py +++ b/askbot/management/commands/subscribe_everyone.py @@ -1,7 +1,6 @@ from django.core.management.base import NoArgsCommand from django.db import connection from askbot.models import EmailFeedSetting, User -from django.core.mail import EmailMessage class Command(NoArgsCommand): def handle_noargs(self, **options): diff --git a/askbot/middleware/cancel.py b/askbot/middleware/cancel.py index 45764d82..f13d8d69 100644 --- a/askbot/middleware/cancel.py +++ b/askbot/middleware/cancel.py @@ -1,6 +1,5 @@ from django.http import HttpResponseRedirect from askbot.utils.forms import get_next_url -import logging class CancelActionMiddleware(object): def process_view(self, request, view_func, view_args, view_kwargs): if 'cancel' in request.REQUEST: diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 7282f238..f357789c 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -1724,22 +1724,22 @@ def send_instant_notifications_about_activity_in_post( origin_post = post.get_origin_post() for user in recipients: - subject_line, body_text = format_instant_notification_email( - to_user = user, - from_user = update_activity.user, - post = post, - update_type = update_type, - template = template, - ) - #todo: this could be packaged as an "action" - a bundle - #of executive function with the activity log recording - send_mail( - subject_line = subject_line, - body_text = body_text, - recipient_list = [user.email], - related_object = origin_post, - activity_type = const.TYPE_ACTIVITY_EMAIL_UPDATE_SENT - ) + subject_line, body_text = format_instant_notification_email( + to_user = user, + from_user = update_activity.user, + post = post, + update_type = update_type, + template = template, + ) + #todo: this could be packaged as an "action" - a bundle + #of executive function with the activity log recording + send_mail( + subject_line = subject_line, + body_text = body_text, + recipient_list = [user.email], + related_object = origin_post, + activity_type = const.TYPE_ACTIVITY_EMAIL_UPDATE_SENT + ) #todo: move to utils diff --git a/askbot/models/answer.py b/askbot/models/answer.py index 885b0e73..714ddb2a 100644 --- a/askbot/models/answer.py +++ b/askbot/models/answer.py @@ -10,7 +10,6 @@ from askbot.models.base import AnonymousContent, DeletableContent from askbot.models.base import ContentRevision from askbot.models.base import parse_post_text, parse_and_save_post from askbot.models import content -from askbot.models.question import Question from askbot import const from askbot.utils.slug import slugify from askbot.utils import markup diff --git a/askbot/models/content.py b/askbot/models/content.py index 87c3087d..30164b1b 100644 --- a/askbot/models/content.py +++ b/askbot/models/content.py @@ -1,8 +1,6 @@ import datetime -import logging from django.contrib.auth.models import User from django.contrib.contenttypes import generic -from django.contrib.sitemaps import ping_google from django.db import models from askbot.models.meta import Comment, Vote from askbot.models.user import EmailFeedSetting diff --git a/askbot/models/question.py b/askbot/models/question.py index 73b0323e..fecdef13 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -1,4 +1,3 @@ -import random import logging import datetime from django.conf import settings @@ -13,7 +12,7 @@ from django.utils.translation import ugettext as _ import askbot import askbot.conf from askbot import exceptions -from askbot.models.tag import Tag, MarkedTag +from askbot.models.tag import Tag from askbot.models.base import AnonymousContent, DeletableContent, ContentRevision from askbot.models.base import parse_post_text, parse_and_save_post from askbot.models import content diff --git a/askbot/models/tag.py b/askbot/models/tag.py index 1d1eba49..d16436ea 100644 --- a/askbot/models/tag.py +++ b/askbot/models/tag.py @@ -3,11 +3,10 @@ from django.db import connection, transaction from django.contrib.auth.models import User from django.utils.translation import ugettext as _ from askbot.models.base import DeletableContent -from askbot.conf import settings as askbot_settings class TagManager(models.Manager): - UPDATE_USED_COUNTS_QUERY =""" + UPDATE_USED_COUNTS_QUERY = """ UPDATE tag SET used_count = ( SELECT COUNT(*) FROM question_tags @@ -89,7 +88,7 @@ class Tag(DeletableContent): return self.name class MarkedTag(models.Model): - TAG_MARK_REASONS = (('good',_('interesting')),('bad',_('ignored'))) + TAG_MARK_REASONS = (('good', _('interesting')), ('bad', _('ignored'))) tag = models.ForeignKey('Tag', related_name='user_selections') user = models.ForeignKey(User, related_name='tag_selections') reason = models.CharField(max_length=16, choices=TAG_MARK_REASONS) diff --git a/askbot/models/user.py b/askbot/models/user.py index daac0eb7..09e7ebee 100644 --- a/askbot/models/user.py +++ b/askbot/models/user.py @@ -1,6 +1,3 @@ -from hashlib import md5 -import string -from random import Random import datetime import logging from django.db import models @@ -327,12 +324,3 @@ class EmailFeedSetting(models.Model): class Meta: app_label = 'askbot' - -#class AuthKeyUserAssociation(models.Model): -# key = models.CharField(max_length=255,null=False,unique=True) -# provider = models.CharField(max_length=64)#string 'yahoo', 'google', etc. -# user = models.ForeignKey(User, related_name="auth_keys") -# added_at = models.DateTimeField(default=datetime.datetime.now) -# -# class Meta: -# app_label = 'askbot' diff --git a/askbot/templatetags/extra_filters.py b/askbot/templatetags/extra_filters.py index c3fde996..2f0ab078 100644 --- a/askbot/templatetags/extra_filters.py +++ b/askbot/templatetags/extra_filters.py @@ -1,16 +1,9 @@ -import logging from django import template from django.core import exceptions as django_exceptions from django.utils.translation import ugettext as _ -from django.contrib.humanize.templatetags import humanize -from django.template import defaultfilters from askbot import exceptions as askbot_exceptions from askbot import auth -from askbot import models -from askbot.deps.grapefruit import Color from askbot.conf import settings as askbot_settings -from askbot.skins import utils as skin_utils -from askbot.utils import functions from askbot.utils.slug import slugify register = template.Library() diff --git a/askbot/templatetags/extra_filters_jinja.py b/askbot/templatetags/extra_filters_jinja.py index 71965517..29968615 100644 --- a/askbot/templatetags/extra_filters_jinja.py +++ b/askbot/templatetags/extra_filters_jinja.py @@ -1,4 +1,3 @@ -import logging import datetime import time from coffin import template as coffin_template @@ -8,8 +7,6 @@ from django.contrib.humanize.templatetags import humanize from django.template import defaultfilters from askbot import exceptions as askbot_exceptions from askbot import auth -from askbot import models -from askbot.deps.grapefruit import Color from askbot.conf import settings as askbot_settings from askbot.skins import utils as skin_utils from askbot.utils import functions diff --git a/askbot/templatetags/extra_tags.py b/askbot/templatetags/extra_tags.py index 1a637bd2..faddccfb 100644 --- a/askbot/templatetags/extra_tags.py +++ b/askbot/templatetags/extra_tags.py @@ -1,7 +1,6 @@ import math from django import template from django.utils.safestring import mark_safe -#from askbot.const import * from django.utils.translation import ugettext as _ from django.core.urlresolvers import reverse from askbot.utils import functions diff --git a/askbot/urls.py b/askbot/urls.py index b9624906..2c350b6b 100644 --- a/askbot/urls.py +++ b/askbot/urls.py @@ -10,7 +10,6 @@ from askbot.feed import RssLastestQuestionsFeed from askbot.sitemap import QuestionsSitemap from django.utils.translation import ugettext as _ from django.conf import settings -from askbot.conf import settings as askbot_settings admin.autodiscover() feeds = { diff --git a/askbot/utils/console.py b/askbot/utils/console.py index f0dab45e..b11a8b4e 100644 --- a/askbot/utils/console.py +++ b/askbot/utils/console.py @@ -1,7 +1,6 @@ """functions that directly handle user input """ import time -import os from askbot.utils import path def choice_dialog(prompt_phrase, choices = None, invalid_phrase = None): diff --git a/askbot/views/commands.py b/askbot/views/commands.py index 1a86f79d..4fdc18b2 100644 --- a/askbot/views/commands.py +++ b/askbot/views/commands.py @@ -5,24 +5,18 @@ This module contains most (but not all) processors for Ajax requests. Not so clear if this subdivision was necessary as separation of Ajax and non-ajax views is not always very clean. """ -import datetime -#todo: maybe eliminate usage of django.settings -from django.conf import settings from askbot.conf import settings as askbot_settings from django.utils import simplejson from django.core import exceptions from django.http import HttpResponse, HttpResponseRedirect -from django.http import HttpResponseForbidden -from django.shortcuts import get_object_or_404, render_to_response +from django.shortcuts import get_object_or_404 from django.utils.translation import ugettext as _ from django.template import RequestContext from askbot import models from askbot.forms import CloseForm -from askbot import auth from django.core.urlresolvers import reverse from django.contrib.auth.decorators import login_required from askbot.utils.decorators import ajax_only, ajax_login_required -from askbot.templatetags import extra_filters as template_filters from askbot.skins.loaders import ENV from askbot import const import logging diff --git a/askbot/views/meta.py b/askbot/views/meta.py index 9a3b89ae..04ff2be7 100644 --- a/askbot/views/meta.py +++ b/askbot/views/meta.py @@ -19,7 +19,6 @@ from askbot.models import badges as badge_data from askbot.skins.loaders import ENV from askbot.conf import settings as askbot_settings from askbot import skins -import askbot def generic_view(request, template = None, page_class = None): template = ENV.get_template(template) diff --git a/askbot/views/readers.py b/askbot/views/readers.py index 1dcccbec..78a2ddd7 100644 --- a/askbot/views/readers.py +++ b/askbot/views/readers.py @@ -9,42 +9,32 @@ allow adding new comments via Ajax form post. import datetime import logging import urllib -from django.conf import settings -from django.shortcuts import render_to_response, get_object_or_404 -from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidden, Http404 +from django.shortcuts import get_object_or_404 +from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.core.paginator import Paginator, EmptyPage, InvalidPage from django.template import RequestContext, Context -from django.template import defaultfilters -from django.utils.html import * from django.utils.http import urlencode from django.utils import simplejson from django.utils.translation import ugettext as _ from django.utils.translation import ungettext from django.utils import translation from django.core.urlresolvers import reverse -from django.views.decorators.cache import cache_page from django.core import exceptions as django_exceptions from django.contrib.humanize.templatetags import humanize import askbot from askbot import exceptions -from askbot.utils.html import sanitize_html -#from lxml.html.diff import htmldiff from askbot.utils.diff import textDiff as htmldiff from askbot.forms import AdvancedSearchForm, AnswerForm, ShowQuestionForm from askbot import models from askbot.models.badges import award_badges_signal from askbot import const -from askbot import auth -from askbot.utils import markup -from askbot.utils.forms import get_next_url from askbot.utils import functions from askbot.utils.decorators import anonymous_forbidden, ajax_only, get_only from askbot.search.state_manager import SearchState from askbot.templatetags import extra_tags from askbot.templatetags import extra_filters import askbot.conf -from askbot.conf import settings as askbot_settings from askbot.skins.loaders import ENV #jinja2 template loading enviroment # used in index page @@ -500,7 +490,7 @@ def question(request, id):#refactor - long subroutine. display question body, an objects_list = Paginator(filtered_answers, const.ANSWERS_PAGE_SIZE) if show_page > objects_list.num_pages: - return HttpResponseRediect(question.get_absolute_url()) + return HttpResponseRedirect(question.get_absolute_url()) page_objects = objects_list.page(show_page) #count visits diff --git a/askbot/views/users.py b/askbot/views/users.py index 7e497030..d667de27 100644 --- a/askbot/views/users.py +++ b/askbot/views/users.py @@ -9,24 +9,19 @@ Also this module includes the view listing all forum users. import calendar import functools import datetime -import logging -from django.db.models import Sum, Count +from django.db.models import Count from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator, EmptyPage, InvalidPage from django.contrib.contenttypes.models import ContentType from django.core.urlresolvers import reverse -from django.shortcuts import render_to_response, get_object_or_404 +from django.shortcuts import get_object_or_404 from django.template import RequestContext -from django.http import HttpResponse, HttpResponseForbidden +from django.http import HttpResponse from django.http import HttpResponseRedirect, Http404 from django.utils.translation import ugettext as _ -from django.utils import simplejson -from django.conf import settings as django_settings -import askbot from askbot.utils.slug import slugify from askbot.utils.html import sanitize_html from askbot.utils.mail import send_mail -from askbot import auth from askbot import forms from askbot import const from askbot.conf import settings as askbot_settings @@ -809,8 +804,6 @@ def user_reputation(request, user): 'question__id', 'user__username' ) - #reputes = reputates.annotate(positive=Sum("positive"), negative=Sum("negative")) - #prepare data for the graph rep_list = [] #last values go in first diff --git a/askbot/views/writers.py b/askbot/views/writers.py index 0e294b4a..fcf9c546 100644 --- a/askbot/views/writers.py +++ b/askbot/views/writers.py @@ -10,7 +10,7 @@ import datetime import random import logging from django.core.files.storage import FileSystemStorage -from django.shortcuts import render_to_response, get_object_or_404 +from django.shortcuts import get_object_or_404 from django.contrib.auth.decorators import login_required from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidden, Http404 from django.template import RequestContext @@ -21,7 +21,6 @@ from django.core.urlresolvers import reverse from django.core import exceptions from django.conf import settings -from askbot import auth from askbot.views.readers import _get_tags_cache_json from askbot import forms from askbot import models |