diff --git a/mayan/apps/bootstrap/models.py b/mayan/apps/bootstrap/models.py index 6313c05f92..d3a4fa8f3f 100644 --- a/mayan/apps/bootstrap/models.py +++ b/mayan/apps/bootstrap/models.py @@ -1,6 +1,5 @@ from __future__ import absolute_import -import datetime import os import re import tempfile diff --git a/mayan/apps/checkouts/managers.py b/mayan/apps/checkouts/managers.py index 6daf283ff8..a9d46d1831 100644 --- a/mayan/apps/checkouts/managers.py +++ b/mayan/apps/checkouts/managers.py @@ -1,6 +1,5 @@ from __future__ import absolute_import -import datetime import logging from django.db import models diff --git a/mayan/apps/checkouts/migrations/0001_initial.py b/mayan/apps/checkouts/migrations/0001_initial.py index 85ee9306e2..a4ca6f2b30 100644 --- a/mayan/apps/checkouts/migrations/0001_initial.py +++ b/mayan/apps/checkouts/migrations/0001_initial.py @@ -18,12 +18,10 @@ class Migration(SchemaMigration): )) db.send_create_signal('checkouts', ['DocumentCheckout']) - def backwards(self, orm): # Deleting model 'DocumentCheckout' db.delete_table('checkouts_documentcheckout') - models = { 'auth.group': { 'Meta': {'object_name': 'Group'}, @@ -119,4 +117,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['checkouts'] \ No newline at end of file + complete_apps = ['checkouts'] diff --git a/mayan/apps/checkouts/migrations/0002_auto__add_field_documentcheckout_user_content_type__add_field_document.py b/mayan/apps/checkouts/migrations/0002_auto__add_field_documentcheckout_user_content_type__add_field_document.py index be5474450e..a65c234b84 100644 --- a/mayan/apps/checkouts/migrations/0002_auto__add_field_documentcheckout_user_content_type__add_field_document.py +++ b/mayan/apps/checkouts/migrations/0002_auto__add_field_documentcheckout_user_content_type__add_field_document.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -import datetime from south.db import db from south.v2 import SchemaMigration from django.db import models @@ -130,4 +129,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['checkouts'] \ No newline at end of file + complete_apps = ['checkouts'] diff --git a/mayan/apps/checkouts/models.py b/mayan/apps/checkouts/models.py index e431c7d50e..679f2994eb 100644 --- a/mayan/apps/checkouts/models.py +++ b/mayan/apps/checkouts/models.py @@ -1,6 +1,5 @@ from __future__ import absolute_import -import datetime import logging from django.contrib.contenttypes import generic diff --git a/mayan/apps/common/forms.py b/mayan/apps/common/forms.py index 75cb277143..f74bc11ff9 100644 --- a/mayan/apps/common/forms.py +++ b/mayan/apps/common/forms.py @@ -22,7 +22,7 @@ class DetailForm(forms.ModelForm): for extra_field in extra_fields: result = return_attrib(self.instance, extra_field['field']) label = 'label' in extra_field and extra_field['label'] or None - #TODO: Add others result types <=> Field types + # TODO: Add others result types <=> Field types if isinstance(result, models.query.QuerySet): self.fields[extra_field['field']] = \ forms.ModelMultipleChoiceField( @@ -32,7 +32,7 @@ class DetailForm(forms.ModelForm): label=extra_field['label'], initial=escape(return_attrib(self.instance, extra_field['field'], None)), - widget=PlainWidget) + widget=PlainWidget) for field_name, field in self.fields.items(): if isinstance(field.widget, forms.widgets.SelectMultiple): diff --git a/mayan/apps/common/migrations/0001_initial.py b/mayan/apps/common/migrations/0001_initial.py index eb6074f1a1..ef700bc8c4 100644 --- a/mayan/apps/common/migrations/0001_initial.py +++ b/mayan/apps/common/migrations/0001_initial.py @@ -6,7 +6,6 @@ from django.db import models class Migration(SchemaMigration): - def forwards(self, orm): # Adding model 'AnonymousUserSingleton' db.create_table('common_anonymoususersingleton', ( @@ -15,12 +14,10 @@ class Migration(SchemaMigration): )) db.send_create_signal('common', ['AnonymousUserSingleton']) - def backwards(self, orm): # Deleting model 'AnonymousUserSingleton' db.delete_table('common_anonymoususersingleton') - models = { 'common.anonymoususersingleton': { 'Meta': {'object_name': 'AnonymousUserSingleton'}, @@ -29,4 +26,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['common'] \ No newline at end of file + complete_apps = ['common'] diff --git a/mayan/apps/common/migrations/0002_auto__add_autoadminsingleton.py b/mayan/apps/common/migrations/0002_auto__add_autoadminsingleton.py index 5ab3627d3f..4c55e8a723 100644 --- a/mayan/apps/common/migrations/0002_auto__add_autoadminsingleton.py +++ b/mayan/apps/common/migrations/0002_auto__add_autoadminsingleton.py @@ -17,12 +17,10 @@ class Migration(SchemaMigration): )) db.send_create_signal('common', ['AutoAdminSingleton']) - def backwards(self, orm): # Deleting model 'AutoAdminSingleton' db.delete_table('common_autoadminsingleton') - models = { 'auth.group': { 'Meta': {'object_name': 'Group'}, @@ -74,4 +72,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['common'] \ No newline at end of file + complete_apps = ['common'] diff --git a/mayan/apps/common/migrations/0003_auto__del_field_autoadminsingleton_original_auto_admin_password__del_f.py b/mayan/apps/common/migrations/0003_auto__del_field_autoadminsingleton_original_auto_admin_password__del_f.py index e02fceb6e6..d298bee1ee 100644 --- a/mayan/apps/common/migrations/0003_auto__del_field_autoadminsingleton_original_auto_admin_password__del_f.py +++ b/mayan/apps/common/migrations/0003_auto__del_field_autoadminsingleton_original_auto_admin_password__del_f.py @@ -24,7 +24,6 @@ class Migration(SchemaMigration): self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), keep_default=False) - def backwards(self, orm): # Adding field 'AutoAdminSingleton.original_auto_admin_password' db.add_column('common_autoadminsingleton', 'original_auto_admin_password', @@ -42,7 +41,6 @@ class Migration(SchemaMigration): # Deleting field 'AutoAdminSingleton.auto_admin_password' db.delete_column('common_autoadminsingleton', 'auto_admin_password') - models = { 'auth.group': { 'Meta': {'object_name': 'Group'}, @@ -94,4 +92,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['common'] \ No newline at end of file + complete_apps = ['common'] diff --git a/mayan/apps/common/migrations/0004_auto__del_field_autoadminsingleton_auto_admin_password__del_field_auto.py b/mayan/apps/common/migrations/0004_auto__del_field_autoadminsingleton_auto_admin_password__del_field_auto.py index 855d02a5d5..1b40a912e1 100644 --- a/mayan/apps/common/migrations/0004_auto__del_field_autoadminsingleton_auto_admin_password__del_field_auto.py +++ b/mayan/apps/common/migrations/0004_auto__del_field_autoadminsingleton_auto_admin_password__del_field_auto.py @@ -29,7 +29,6 @@ class Migration(SchemaMigration): self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), keep_default=False) - def backwards(self, orm): # Adding field 'AutoAdminSingleton.auto_admin_password' db.add_column('common_autoadminsingleton', 'auto_admin_password', @@ -50,7 +49,6 @@ class Migration(SchemaMigration): # Deleting field 'AutoAdminSingleton.password_hash' db.delete_column('common_autoadminsingleton', 'password_hash') - models = { 'auth.group': { 'Meta': {'object_name': 'Group'}, @@ -103,4 +101,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['common'] \ No newline at end of file + complete_apps = ['common'] diff --git a/mayan/apps/common/templatetags/subtemplates_tags.py b/mayan/apps/common/templatetags/subtemplates_tags.py index d759df4bbb..18f7b13a9d 100644 --- a/mayan/apps/common/templatetags/subtemplates_tags.py +++ b/mayan/apps/common/templatetags/subtemplates_tags.py @@ -1,7 +1,7 @@ import re -from django.template import Node, TemplateSyntaxError, Library, \ - Variable, Context +from django.template import (Node, TemplateSyntaxError, Library, + Variable, Context) from django.template.loader import get_template register = Library() @@ -48,4 +48,3 @@ def render_subtemplate(parser, token): raise TemplateSyntaxError('%r tag\'s template context argument should not be in quotes' % tag_name) return RenderSubtemplateNode(template_name, template_context, var_name) - #format_string[1:-1] diff --git a/mayan/apps/common/utils.py b/mayan/apps/common/utils.py index 3be0600aef..ad112e974a 100644 --- a/mayan/apps/common/utils.py +++ b/mayan/apps/common/utils.py @@ -2,19 +2,19 @@ from __future__ import absolute_import import os -import re -import types -import tempfile -import string import random +import re +import string +import tempfile +import types -from django.utils.http import urlquote as django_urlquote -from django.utils.http import urlencode as django_urlencode -from django.utils.datastructures import MultiValueDict from django.conf import settings -from django.utils.translation import ugettext_lazy as _ -from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import User +from django.contrib.contenttypes.models import ContentType +from django.utils.datastructures import MultiValueDict +from django.utils.http import urlquote as django_urlquote +from django.utils.http import urlencode as django_urlencode +from django.utils.translation import ugettext_lazy as _ def urlquote(link=None, get=None): @@ -365,7 +365,7 @@ def return_diff(old_obj, new_obj, attrib_list=None): def validate_path(path): - if os.path.exists(path) != True: + if not os.path.exists(path): # If doesn't exist try to create it try: os.mkdir(path) @@ -408,7 +408,7 @@ def get_descriptor(file_input, read=True): return file_input -#http://stackoverflow.com/questions/123198/how-do-i-copy-a-file-in-python +# http://stackoverflow.com/questions/123198/how-do-i-copy-a-file-in-python def copyfile(source, destination, buffer_size=1024 * 1024): """ Copy a file from source to dest. source and dest diff --git a/mayan/apps/documents/migrations/0009_add_comment_field.py b/mayan/apps/documents/migrations/0009_add_comment_field.py index 4dd4503a1f..552408cfd1 100644 --- a/mayan/apps/documents/migrations/0009_add_comment_field.py +++ b/mayan/apps/documents/migrations/0009_add_comment_field.py @@ -1,5 +1,4 @@ # encoding: utf-8 -import datetime from south.db import db from south.v2 import SchemaMigration from django.db import models diff --git a/mayan/apps/documents/migrations/0014_change_document_mimetype_encoding_null.py b/mayan/apps/documents/migrations/0014_change_document_mimetype_encoding_null.py index f8a3074adc..fe131187d8 100644 --- a/mayan/apps/documents/migrations/0014_change_document_mimetype_encoding_null.py +++ b/mayan/apps/documents/migrations/0014_change_document_mimetype_encoding_null.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -import datetime from south.db import db from south.v2 import SchemaMigration from django.db import models diff --git a/mayan/apps/documents/models.py b/mayan/apps/documents/models.py index 58dc064c93..bae35a7994 100644 --- a/mayan/apps/documents/models.py +++ b/mayan/apps/documents/models.py @@ -2,7 +2,6 @@ from __future__ import absolute_import from ast import literal_eval import base64 -import datetime import hashlib import logging import os diff --git a/mayan/apps/dynamic_search/api.py b/mayan/apps/dynamic_search/api.py index ec3bdb3a6b..65d41dfba3 100644 --- a/mayan/apps/dynamic_search/api.py +++ b/mayan/apps/dynamic_search/api.py @@ -108,8 +108,8 @@ def perform_search(query_string, field_list=None): model_result_ids = None for query in queries: single_result_ids = set(model.objects.filter(query).values_list('pk', flat=True)) - #Convert queryset to python set and perform the - #AND operation on the program and not as a query + # Convert queryset to python set and perform the + # AND operation on the program and not as a query if not model_result_ids: model_result_ids = single_result_ids else: diff --git a/mayan/apps/dynamic_search/managers.py b/mayan/apps/dynamic_search/managers.py index 7e3923da7e..97dc2cb3f3 100644 --- a/mayan/apps/dynamic_search/managers.py +++ b/mayan/apps/dynamic_search/managers.py @@ -1,16 +1,18 @@ +from __future__ import absolute_import + import urlparse +from django.contrib.auth.models import AnonymousUser from django.db import models from django.utils.http import urlencode -from django.contrib.auth.models import AnonymousUser - -from dynamic_search.conf.settings import RECENT_COUNT + +from ..conf.settings import RECENT_COUNT class RecentSearchManager(models.Manager): def add_query_for_user(self, user, query, hits): parsed_query = urlparse.parse_qs(urlencode(dict(query.items()))) - + for key, value in parsed_query.items(): parsed_query[key] = ' '.join(value) diff --git a/mayan/apps/dynamic_search/views.py b/mayan/apps/dynamic_search/views.py index 62870dfe99..d90d27ef9c 100644 --- a/mayan/apps/dynamic_search/views.py +++ b/mayan/apps/dynamic_search/views.py @@ -21,7 +21,7 @@ document_search = SearchModel.get('documents.Document') def results(request, extra_context=None): context = { 'query_string': request.GET, - #'hide_header': True, + # 'hide_header': True, 'hide_links': True, 'multi_select_as_buttons': True, 'search_results_limit': LIMIT, diff --git a/mayan/apps/folders/migrations/0001_initial.py b/mayan/apps/folders/migrations/0001_initial.py index 1da53cfe4f..25babd00a8 100644 --- a/mayan/apps/folders/migrations/0001_initial.py +++ b/mayan/apps/folders/migrations/0001_initial.py @@ -1,16 +1,16 @@ # encoding: utf-8 -import datetime from south.db import db from south.v2 import SchemaMigration from django.db import models + class Migration(SchemaMigration): depends_on = ( ('documents', '0001_initial'), ) - + def forwards(self, orm): - + # Adding model 'Folder' db.create_table('folders_folder', ( ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), @@ -31,9 +31,8 @@ class Migration(SchemaMigration): )) db.send_create_signal('folders', ['FolderDocument']) - def backwards(self, orm): - + # Removing unique constraint on 'Folder', fields ['title', 'user'] db.delete_unique('folders_folder', ['title', 'user_id']) @@ -43,7 +42,6 @@ class Migration(SchemaMigration): # Deleting model 'FolderDocument' db.delete_table('folders_folderdocument') - models = { 'auth.group': { 'Meta': {'object_name': 'Group'}, diff --git a/mayan/apps/folders/migrations/0002_increase_title_size.py b/mayan/apps/folders/migrations/0002_increase_title_size.py index f992dd36d2..eeee5ed480 100644 --- a/mayan/apps/folders/migrations/0002_increase_title_size.py +++ b/mayan/apps/folders/migrations/0002_increase_title_size.py @@ -1,23 +1,21 @@ # 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): - + # Changing field 'Folder.title' db.alter_column('folders_folder', 'title', self.gf('django.db.models.fields.CharField')(max_length=128)) - def backwards(self, orm): - + # Changing field 'Folder.title' db.alter_column('folders_folder', 'title', self.gf('django.db.models.fields.CharField')(max_length=32)) - models = { 'auth.group': { 'Meta': {'object_name': 'Group'}, diff --git a/mayan/apps/folders/models.py b/mayan/apps/folders/models.py index a74cf14219..d667681ec0 100644 --- a/mayan/apps/folders/models.py +++ b/mayan/apps/folders/models.py @@ -1,5 +1,3 @@ -from datetime import datetime - from django.contrib.auth.models import User from django.db import models from django.utils.timezone import now diff --git a/mayan/apps/linking/forms.py b/mayan/apps/linking/forms.py index 17e08e6f2e..616dd09394 100644 --- a/mayan/apps/linking/forms.py +++ b/mayan/apps/linking/forms.py @@ -58,7 +58,7 @@ class SmartLinkImageWidget(forms.widgets.Widget): output.append(u'') output.append( u'
%s' % - ugettext(u'Click on the image for full size view of the first page.') + ugettext(u'Click on the image for full size view of the first page.') ) return mark_safe(u''.join(output)) diff --git a/mayan/apps/linking/views.py b/mayan/apps/linking/views.py index 0d7e90c924..217306dedd 100644 --- a/mayan/apps/linking/views.py +++ b/mayan/apps/linking/views.py @@ -138,7 +138,7 @@ def smart_link_list(request): 'hide_link': True, 'list_object_variable_name': 'smart_link', - }, context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def smart_link_create(request): @@ -234,7 +234,7 @@ def smart_link_condition_list(request, smart_link_pk): 'hide_link': True, 'object': smart_link, 'list_object_variable_name': 'condition', - }, context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def smart_link_condition_create(request, smart_link_pk): diff --git a/mayan/apps/metadata/conf/__init__.py b/mayan/apps/metadata/conf/__init__.py index 8b13789179..e69de29bb2 100644 --- a/mayan/apps/metadata/conf/__init__.py +++ b/mayan/apps/metadata/conf/__init__.py @@ -1 +0,0 @@ - diff --git a/mayan/apps/metadata/views.py b/mayan/apps/metadata/views.py index 7f6902d5f8..44e2efd34e 100644 --- a/mayan/apps/metadata/views.py +++ b/mayan/apps/metadata/views.py @@ -90,7 +90,7 @@ def metadata_edit(request, document_id=None, document_id_list=None): if errors: for error in errors: messages.error(request, _(u'Error editing metadata for document %(document)s; %(error)s.') % { - 'document': document, 'error': error}) + 'document': document, 'error': error}) else: messages.success(request, _(u'Metadata for document %s edited successfully.') % document) @@ -325,8 +325,7 @@ def setup_metadata_type_edit(request, metadatatype_id): 'form': form, 'object': metadata_type, 'object_name': _(u'metadata type'), - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def setup_metadata_type_create(request): @@ -344,8 +343,7 @@ def setup_metadata_type_create(request): return render_to_response('generic_form.html', { 'title': _(u'create metadata type'), 'form': form, - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def setup_metadata_type_delete(request, metadatatype_id): @@ -424,8 +422,7 @@ def setup_metadata_set_edit(request, metadata_set_id): 'form': form, 'object': metadata_set, 'object_name': _(u'metadata set'), - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def get_set_members(metadata_set): @@ -486,8 +483,7 @@ def setup_metadata_set_create(request): return render_to_response('generic_form.html', { 'title': _(u'create metadata set'), 'form': form, - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def setup_metadata_set_delete(request, metadata_set_id): diff --git a/mayan/apps/mimetype/api.py b/mayan/apps/mimetype/api.py index 05e36d542b..f594247602 100644 --- a/mayan/apps/mimetype/api.py +++ b/mayan/apps/mimetype/api.py @@ -40,32 +40,32 @@ mimetype_icons = { 'application/x-wav': 'file_extension_wav.png', 'application/vnd.oasis.opendocument.text': 'ODF_textdocument_32x32.png', - 'image/jpeg' : 'file_extension_jpeg.png', - 'image/png' : 'file_extension_png.png', - 'image/x-png' : 'file_extension_png.png', - 'image/tiff' : 'file_extension_tif.png', - 'image/x-tiff' : 'file_extension_tif.png', - 'image/bmp' : 'file_extension_bmp.png', - 'image/gif' : 'file_extension_gif.png', - 'image/vnd.dwg' : 'file_extension_dwg.png', - 'image/x-dwg' : 'file_extension_dwg.png', + 'image/jpeg': 'file_extension_jpeg.png', + 'image/png': 'file_extension_png.png', + 'image/x-png': 'file_extension_png.png', + 'image/tiff': 'file_extension_tif.png', + 'image/x-tiff': 'file_extension_tif.png', + 'image/bmp': 'file_extension_bmp.png', + 'image/gif': 'file_extension_gif.png', + 'image/vnd.dwg': 'file_extension_dwg.png', + 'image/x-dwg': 'file_extension_dwg.png', - 'audio/mpeg' : 'file_extension_mp3.png', - 'audio/mid' : 'file_extension_mid.png', - 'audio/x-wav' : 'file_extension_wav.png', - 'audio/vnd.wav' : 'file_extension_wav.png', - 'audio/x-pn-realaudio' : 'file_extension_ram.png', - 'audio/mp4' : 'file_extension_mp4.png', - 'audio/x-ms-wma' : 'file_extension_wma.png', + 'audio/mpeg': 'file_extension_mp3.png', + 'audio/mid': 'file_extension_mid.png', + 'audio/x-wav': 'file_extension_wav.png', + 'audio/vnd.wav': 'file_extension_wav.png', + 'audio/x-pn-realaudio': 'file_extension_ram.png', + 'audio/mp4': 'file_extension_mp4.png', + 'audio/x-ms-wma': 'file_extension_wma.png', - 'video/avi' : 'file_extension_avi.png', - 'video/mpeg' : 'file_extension_mpeg.png', - 'video/quicktime' : 'file_extension_mov.png', - 'video/x-ms-asf' : 'file_extension_asf.png', - 'video/x-ms-wmv' : 'file_extension_wmv.png', + 'video/avi': 'file_extension_avi.png', + 'video/mpeg': 'file_extension_mpeg.png', + 'video/quicktime': 'file_extension_mov.png', + 'video/x-ms-asf': 'file_extension_asf.png', + 'video/x-ms-wmv': 'file_extension_wmv.png', - 'text/html' : 'file_extension_html.png', - 'text/plain' : 'file_extension_txt.png', + 'text/html': 'file_extension_html.png', + 'text/plain': 'file_extension_txt.png', } diff --git a/mayan/apps/navigation/templatetags/navigation_tags.py b/mayan/apps/navigation/templatetags/navigation_tags.py index 2de89529ee..45ed59723a 100644 --- a/mayan/apps/navigation/templatetags/navigation_tags.py +++ b/mayan/apps/navigation/templatetags/navigation_tags.py @@ -58,12 +58,12 @@ def get_top_menu_links(parser, token): def resolve_arguments(context, src_args): args = [] kwargs = {} - if type(src_args) == type([]): + if isinstance(src_args, list): for i in src_args: val = resolve_template_variable(context, i) if val: args.append(val) - elif type(src_args) == type({}): + elif isinstance(src_args, dict): for key, value in src_args.items(): val = resolve_template_variable(context, value) if val: @@ -223,8 +223,8 @@ def resolve_template_variable(context, name): try: return unescape_string_literal(name) except ValueError: - #return Variable(name).resolve(context) - #TODO: Research if should return always as a str + # return Variable(name).resolve(context) + # TODO: Research if should return always as a str return str(Variable(name).resolve(context)) except TypeError: return name diff --git a/mayan/apps/ocr/models.py b/mayan/apps/ocr/models.py index 868fca8aae..8d676056f1 100644 --- a/mayan/apps/ocr/models.py +++ b/mayan/apps/ocr/models.py @@ -1,7 +1,5 @@ from __future__ import absolute_import -from datetime import datetime - from django.db import models from django.core.exceptions import ObjectDoesNotExist from django.utils.timezone import now diff --git a/mayan/apps/ocr/tasks.py b/mayan/apps/ocr/tasks.py index bd7879470e..ca47ef6c9b 100644 --- a/mayan/apps/ocr/tasks.py +++ b/mayan/apps/ocr/tasks.py @@ -1,6 +1,6 @@ from __future__ import absolute_import -from datetime import timedelta, datetime +from datetime import timedelta import logging import platform diff --git a/mayan/apps/permissions/views.py b/mayan/apps/permissions/views.py index 48e548e7f9..72bcf87e1f 100644 --- a/mayan/apps/permissions/views.py +++ b/mayan/apps/permissions/views.py @@ -46,9 +46,9 @@ class RoleDeleteView(SingleObjectDeleteView): class RoleEditView(SingleObjectEditView): - extra_context={'object_name': _(u'role')} - model=Role - permissions_required=[PERMISSION_ROLE_EDIT] + extra_context = {'object_name': _(u'role')} + model = Role + permissions_required = [PERMISSION_ROLE_EDIT] def role_list(request): diff --git a/mayan/apps/storage/backends/gridfsstorage.py b/mayan/apps/storage/backends/gridfsstorage.py deleted file mode 100644 index bb1c2f74a1..0000000000 --- a/mayan/apps/storage/backends/gridfsstorage.py +++ /dev/null @@ -1,92 +0,0 @@ -import os - -from django.core.files.storage import Storage -from django.utils.encoding import force_unicode - -from pymongo import Connection -from gridfs import GridFS - -from storage.conf import settings - - -class GridFSStorage(Storage): - separator = u'/' - - def __init__(self, *args, **kwargs): - self.db = Connection(host=settings.GRIDFS_HOST, - port=settings.GRIDFS_PORT)[settings.GRIDFS_DATABASE_NAME] - self.fs = GridFS(self.db) - - def save(self, name, content): - #TODO: if exists add _ plus a counter - while True: - try: - # This file has a file path that we can move. - if hasattr(content, 'temporary_file_path'): - self.move(content.temporary_file_path(), name) - content.close() - # This is a normal uploadedfile that we can stream. - else: - # This fun binary flag incantation makes os.open throw an - # OSError if the file already exists before we open it. - newfile = self.fs.new_file(filename=name) - try: - for chunk in content.chunks(): - newfile.write(chunk) - finally: - newfile.close() - except Exception, e: # OSError, e: - # if e.errno == errno.EEXIST: - # # Ooops, the file exists. We need a new file name. - # name = self.get_available_name(name) - # full_path = self.path(name) - # else: - # raise - raise - else: - # OK, the file save worked. Break out of the loop. - break - - return name - - def open(self, name, *args, **kwars): - return self.fs.get_last_version(name) - - def delete(self, name): - oid = self.fs.get_last_version(name)._id - self.fs.delete(oid) - - def exists(self, name): - return self.fs.exists(filename=name) - - def path(self, name): - return force_unicode(name) - - def size(self, name): - return self.fs.get_last_version(name).length - - def move(self, old_file_name, name, chunk_size=1024 * 64): - # first open the old file, so that it won't go away - old_file = open(old_file_name, 'rb') - try: - newfile = self.fs.new_file(filename=name) - - try: - current_chunk = None - while current_chunk != '': - current_chunk = old_file.read(chunk_size) - newfile.write(current_chunk) - finally: - newfile.close() - finally: - old_file.close() - - try: - os.remove(old_file_name) - except OSError, e: - # Certain operating systems (Cygwin and Windows) - # fail when deleting opened files, ignore it. (For the - # systems where this happens, temporary files will be auto-deleted - # on close anyway.) - if getattr(e, 'winerror', 0) != 32 and getattr(e, 'errno', 0) != 13: - raise