Fixed error and some warning returned by pylint
This commit is contained in:
@@ -2,4 +2,5 @@ import tempfile
|
|||||||
|
|
||||||
from common.conf import settings as common_settings
|
from common.conf import settings as common_settings
|
||||||
|
|
||||||
TEMPORARY_DIRECTORY = common_settings.TEMPORARY_DIRECTORY if common_settings.TEMPORARY_DIRECTORY else tempfile.mkdtemp()
|
TEMPORARY_DIRECTORY = common_settings.TEMPORARY_DIRECTORY \
|
||||||
|
if common_settings.TEMPORARY_DIRECTORY else tempfile.mkdtemp()
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ from django import forms
|
|||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.conf import settings
|
|
||||||
from django.template.defaultfilters import capfirst
|
|
||||||
|
|
||||||
from common.utils import return_attrib
|
from common.utils import return_attrib
|
||||||
|
|
||||||
@@ -14,26 +12,32 @@ class DetailSelectMultiple(forms.widgets.SelectMultiple):
|
|||||||
super(DetailSelectMultiple, self).__init__(*args, **kwargs)
|
super(DetailSelectMultiple, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
def render(self, name, value, attrs=None, choices=()):
|
def render(self, name, value, attrs=None, choices=()):
|
||||||
if value is None: value = ''
|
if value is None:
|
||||||
|
value = ''
|
||||||
final_attrs = self.build_attrs(attrs, name=name)
|
final_attrs = self.build_attrs(attrs, name=name)
|
||||||
css_class = final_attrs.get('class', 'list')
|
css_class = final_attrs.get('class', 'list')
|
||||||
output = u'<ul class="%s">' % css_class
|
output = u'<ul class="%s">' % css_class
|
||||||
options = None
|
options = None
|
||||||
if value:
|
if value:
|
||||||
if getattr(value, '__iter__', None):
|
if getattr(value, '__iter__', None):
|
||||||
options = [(index, string) for index, string in self.choices if index in value]
|
options = [(index, string) for index, string in \
|
||||||
|
self.choices if index in value]
|
||||||
else:
|
else:
|
||||||
options = [(index, string) for index, string in self.choices if index == value]
|
options = [(index, string) for index, string in \
|
||||||
|
self.choices if index == value]
|
||||||
else:
|
else:
|
||||||
if self.choices:
|
if self.choices:
|
||||||
if self.choices[0] != (u'', u'---------') and value != []:
|
if self.choices[0] != (u'', u'---------') and value != []:
|
||||||
options = [(index, string) for index, string in self.choices]
|
options = [(index, string) for index, string in \
|
||||||
|
self.choices]
|
||||||
|
|
||||||
if options:
|
if options:
|
||||||
for index, string in options:
|
for index, string in options:
|
||||||
if self.queryset:
|
if self.queryset:
|
||||||
try:
|
try:
|
||||||
output += u'<li><a href="%s">%s</a></li>' % (self.queryset.get(pk=index).get_absolute_url(), string)
|
output += u'<li><a href="%s">%s</a></li>' % (
|
||||||
|
self.queryset.get(pk=index).get_absolute_url(),
|
||||||
|
string)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
output += u'<li>%s</li>' % (string)
|
output += u'<li>%s</li>' % (string)
|
||||||
else:
|
else:
|
||||||
@@ -57,12 +61,14 @@ class DetailForm(forms.ModelForm):
|
|||||||
label = 'label' in extra_field and extra_field['label'] or None
|
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):
|
if isinstance(result, models.query.QuerySet):
|
||||||
self.fields[extra_field['field']]=forms.ModelMultipleChoiceField(queryset=result, label=label)
|
self.fields[extra_field['field']] = \
|
||||||
|
forms.ModelMultipleChoiceField(
|
||||||
|
queryset=result, label=label)
|
||||||
else:
|
else:
|
||||||
self.fields[extra_field['field']] = forms.CharField(
|
self.fields[extra_field['field']] = forms.CharField(
|
||||||
label=extra_field['label'],
|
label=extra_field['label'],
|
||||||
#initial=getattr(self.instance, extra_field['field'], None),
|
initial=return_attrib(self.instance,
|
||||||
initial=return_attrib(self.instance, extra_field['field'], None),
|
extra_field['field'], None),
|
||||||
widget=PlainWidget)
|
widget=PlainWidget)
|
||||||
|
|
||||||
for field_name, field in self.fields.items():
|
for field_name, field in self.fields.items():
|
||||||
@@ -83,25 +89,33 @@ class DetailForm(forms.ModelForm):
|
|||||||
|
|
||||||
|
|
||||||
class GenericConfirmForm(forms.Form):
|
class GenericConfirmForm(forms.Form):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class GenericAssignRemoveForm(forms.Form):
|
class GenericAssignRemoveForm(forms.Form):
|
||||||
left_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
def __init__(self, *args, **kwargs):
|
||||||
right_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
left_list_qryset = kwargs.pop('left_list_qryset', None)
|
||||||
def __init__(self, left_list_qryset=None, right_list_qryset=None, left_filter=None, *args, **kwargs):
|
right_list_qryset = kwargs.pop('right_list_qryset', None)
|
||||||
|
left_filter = kwargs.pop('left_filter', None)
|
||||||
super(GenericAssignRemoveForm, self).__init__(*args, **kwargs)
|
super(GenericAssignRemoveForm, self).__init__(*args, **kwargs)
|
||||||
if left_filter:
|
if left_filter:
|
||||||
self.fields['left_list'].queryset = left_list_qryset.filter(*left_filter)
|
self.fields['left_list'].queryset = left_list_qryset.filter(
|
||||||
|
*left_filter)
|
||||||
else:
|
else:
|
||||||
self.fields['left_list'].queryset = left_list_qryset
|
self.fields['left_list'].queryset = left_list_qryset
|
||||||
|
|
||||||
self.fields['right_list'].queryset = right_list_qryset
|
self.fields['right_list'].queryset = right_list_qryset
|
||||||
|
|
||||||
|
left_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
||||||
|
right_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
||||||
|
|
||||||
|
|
||||||
class FilterForm(forms.Form):
|
class FilterForm(forms.Form):
|
||||||
def __init__(self, list_filters, *args, **kwargs):
|
def __init__(self, list_filters, *args, **kwargs):
|
||||||
super(FilterForm, self).__init__(*args, **kwargs)
|
super(FilterForm, self).__init__(*args, **kwargs)
|
||||||
for list_filter in list_filters:
|
for list_filter in list_filters:
|
||||||
label = list_filter.get('title', list_filter['name'])
|
label = list_filter.get('title', list_filter['name'])
|
||||||
self.fields[list_filter['name']] = forms.ModelChoiceField(queryset=list_filter['queryset'], label=label[0].upper() + label[1:], required=False)
|
self.fields[list_filter['name']] = forms.ModelChoiceField(
|
||||||
|
queryset=list_filter['queryset'],
|
||||||
|
label=label[0].upper() + label[1:], required=False)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ class LoginRequiredMiddleware:
|
|||||||
Requires authentication middleware and template context processors to be
|
Requires authentication middleware and template context processors to be
|
||||||
loaded. You'll get an error if they aren't.
|
loaded. You'll get an error if they aren't.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def process_request(self, request):
|
def process_request(self, request):
|
||||||
assert hasattr(request, 'user'), "The Login Required middleware\
|
assert hasattr(request, 'user'), "The Login Required middleware\
|
||||||
requires authentication middleware to be installed. Edit your\
|
requires authentication middleware to be installed. Edit your\
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
from django.core.urlresolvers import reverse
|
from django.template import Library
|
||||||
from django.template.defaultfilters import stringfilter
|
|
||||||
from django.template import Library, Node, Variable, VariableDoesNotExist
|
|
||||||
|
|
||||||
from common.utils import return_attrib
|
from common.utils import return_attrib
|
||||||
from navigation.api import model_list_columns
|
from navigation.api import model_list_columns
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from django.template import TemplateSyntaxError, Library, VariableDoesNotExist
|
from django.template import Library
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
register = Library()
|
register = Library()
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
from django.template import Node, Variable
|
from django.template import Node
|
||||||
from django.template import TemplateSyntaxError, Library, VariableDoesNotExist
|
from django.template import TemplateSyntaxError, Library
|
||||||
from django.template.defaultfilters import stringfilter
|
|
||||||
from django.template.defaultfilters import date as datefilter
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
register = Library()
|
register = Library()
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ def urlquote(link=None, get={}):
|
|||||||
link = ''
|
link = ''
|
||||||
assert isinstance(get, dict), 'wrong type "%s", dict required' % type(get)
|
assert isinstance(get, dict), 'wrong type "%s", dict required' % type(get)
|
||||||
#assert not (link.startswith('http://') or link.startswith('https://')), \
|
#assert not (link.startswith('http://') or link.startswith('https://')), \
|
||||||
# 'This method should only quote the url path. It should not start with http(s):// (%s)' % (
|
# 'This method should only quote the url path.
|
||||||
|
# It should not start with http(s):// (%s)' % (
|
||||||
# link)
|
# link)
|
||||||
if get:
|
if get:
|
||||||
# http://code.djangoproject.com/ticket/9089
|
# http://code.djangoproject.com/ticket/9089
|
||||||
@@ -98,9 +99,24 @@ def exists_with_famfam(path):
|
|||||||
# 2006-03-16
|
# 2006-03-16
|
||||||
# Thanks to David Kern <kernd@reasonspace.com> for fixing some bugs.
|
# Thanks to David Kern <kernd@reasonspace.com> for fixing some bugs.
|
||||||
|
|
||||||
suffixes = [u"II", u"(II)", u"III", u"(III)", u"IV", u"(IV)", u"VI", u"(VI)",
|
#class Name(str):
|
||||||
|
# """A Class (based on the string type) that properly capitalizes a name."""
|
||||||
|
#
|
||||||
|
# def __new__(cls, value=''):
|
||||||
|
# original = value
|
||||||
|
# proper = Capitalize(value)
|
||||||
|
# obj = str.__new__(cls, proper)
|
||||||
|
# obj.original = original
|
||||||
|
# return obj
|
||||||
|
|
||||||
|
def proper_name(name):
|
||||||
|
"""Does the work of capitalizing a name (can be a full name)."""
|
||||||
|
|
||||||
|
suffixes = [
|
||||||
|
u"II", u"(II)", u"III", u"(III)", u"IV", u"(IV)", u"VI", u"(VI)",
|
||||||
u"VII", u"(VII)", u"2nd", u"(2nd)", u"3rd", u"(3rd)", u"4th", u"(4th)",
|
u"VII", u"(VII)", u"2nd", u"(2nd)", u"3rd", u"(3rd)", u"4th", u"(4th)",
|
||||||
u"5th", u"(5th)"]
|
u"5th", u"(5th)"
|
||||||
|
]
|
||||||
|
|
||||||
# The names listed here are included by permission from John Cardinal's TMG Utility.
|
# The names listed here are included by permission from John Cardinal's TMG Utility.
|
||||||
# http://www.johncardinal.com/tmgutil/index.htm
|
# http://www.johncardinal.com/tmgutil/index.htm
|
||||||
@@ -218,20 +234,9 @@ surnames = [
|
|||||||
u"vonFreymann", u"vonHeimburg", u"VonHuben", u"vonKramer",
|
u"vonFreymann", u"vonHeimburg", u"VonHuben", u"vonKramer",
|
||||||
u"vonKruchenburg", u"vonPostel", u"VonRohr", u"VonRohrbach",
|
u"vonKruchenburg", u"vonPostel", u"VonRohr", u"VonRohrbach",
|
||||||
u"VonSass", u"VonSasse", u"vonSchlotte", u"VonSchneider", u"VonSeldern",
|
u"VonSass", u"VonSasse", u"vonSchlotte", u"VonSchneider", u"VonSeldern",
|
||||||
u"VonSpringer", u"VonVeyelmann", u"VonZweidorff"]
|
u"VonSpringer", u"VonVeyelmann", u"VonZweidorff"
|
||||||
|
]
|
||||||
|
|
||||||
#class Name(str):
|
|
||||||
# """A Class (based on the string type) that properly capitalizes a name."""
|
|
||||||
#
|
|
||||||
# def __new__(cls, value=''):
|
|
||||||
# original = value
|
|
||||||
# proper = Capitalize(value)
|
|
||||||
# obj = str.__new__(cls, proper)
|
|
||||||
# obj.original = original
|
|
||||||
# return obj
|
|
||||||
|
|
||||||
def proper_name(name):
|
|
||||||
"""Does the work of capitalizing a name (can be a full name)."""
|
|
||||||
hyphen_indexes = []
|
hyphen_indexes = []
|
||||||
while name.find('-') > -1:
|
while name.find('-') > -1:
|
||||||
index = name.find('-')
|
index = name.find('-')
|
||||||
|
|||||||
@@ -1,15 +1,20 @@
|
|||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
from django.http import HttpResponseRedirect
|
||||||
|
|
||||||
|
|
||||||
def password_change_done(request):
|
def password_change_done(request):
|
||||||
|
'''View called when the new user password has been accepted'''
|
||||||
|
|
||||||
messages.success(request, _(u'Your password has been successfully changed.'))
|
messages.success(request, _(u'Your password has been successfully changed.'))
|
||||||
return redirect('home')
|
return redirect('home')
|
||||||
|
|
||||||
|
|
||||||
def multi_object_action_view(request):
|
def multi_object_action_view(request):
|
||||||
|
'''Proxy view called first when usuing a multi object action, which
|
||||||
|
then redirects to the appropiate specialized view'''
|
||||||
|
|
||||||
action = request.GET.get('action', None)
|
action = request.GET.get('action', None)
|
||||||
id_list = u','.join([key[3:] for key in request.GET.keys() if key.startswith('pk_')])
|
id_list = u','.join([key[3:] for key in request.GET.keys() if key.startswith('pk_')])
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
import shlex
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import tempfile
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
from django.utils.importlib import import_module
|
from django.utils.importlib import import_module
|
||||||
from django.conf import settings
|
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.template.defaultfilters import slugify
|
from django.template.defaultfilters import slugify
|
||||||
|
|
||||||
@@ -17,8 +13,7 @@ from converter.conf.settings import LOW_QUALITY_OPTIONS
|
|||||||
from converter.conf.settings import HIGH_QUALITY_OPTIONS
|
from converter.conf.settings import HIGH_QUALITY_OPTIONS
|
||||||
from converter.conf.settings import GRAPHICS_BACKEND
|
from converter.conf.settings import GRAPHICS_BACKEND
|
||||||
|
|
||||||
from exceptions import ConvertError, UnknownFormat, UnpaperError, \
|
from exceptions import UnpaperError
|
||||||
IdentifyError, UnkownConvertError
|
|
||||||
|
|
||||||
#from converter.conf.settings import UNOCONV_PATH
|
#from converter.conf.settings import UNOCONV_PATH
|
||||||
from common import TEMPORARY_DIRECTORY
|
from common import TEMPORARY_DIRECTORY
|
||||||
@@ -164,17 +159,9 @@ def convert_document_for_ocr(document, page=0, format='tif'):
|
|||||||
#Catch invalid or non existing pages
|
#Catch invalid or non existing pages
|
||||||
document_page = document.documentpage_set.get(document=document, page_number=page+1)
|
document_page = document.documentpage_set.get(document=document, page_number=page+1)
|
||||||
for page_transformation in document_page.documentpagetransformation_set.all():
|
for page_transformation in document_page.documentpagetransformation_set.all():
|
||||||
try:
|
|
||||||
if page_transformation.transformation in TRANFORMATION_CHOICES:
|
if page_transformation.transformation in TRANFORMATION_CHOICES:
|
||||||
output = TRANFORMATION_CHOICES[page_transformation.transformation] % eval(page_transformation.arguments)
|
output = TRANFORMATION_CHOICES[page_transformation.transformation] % eval(page_transformation.arguments)
|
||||||
transformation_list.append(output)
|
transformation_list.append(output)
|
||||||
except Exception, e:
|
|
||||||
if request.user.is_staff:
|
|
||||||
messages.warning(request, _(u'Error for transformation %(transformation)s:, %(error)s') %
|
|
||||||
{'transformation':page_transformation.get_transformation_display(),
|
|
||||||
'error':e})
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ import subprocess
|
|||||||
|
|
||||||
from converter.conf.settings import GM_PATH
|
from converter.conf.settings import GM_PATH
|
||||||
from converter.api import QUALITY_DEFAULT, QUALITY_SETTINGS
|
from converter.api import QUALITY_DEFAULT, QUALITY_SETTINGS
|
||||||
from converter.exceptions import ConvertError, UnknownFormat, UnpaperError, \
|
from converter.exceptions import ConvertError, UnknownFormat, IdentifyError
|
||||||
IdentifyError, UnkownConvertError
|
|
||||||
|
|
||||||
CONVERTER_ERROR_STRING_NO_DECODER = 'No decode delegate for this image format'
|
CONVERTER_ERROR_STRING_NO_DECODER = 'No decode delegate for this image format'
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import subprocess
|
|||||||
from converter.conf.settings import IM_IDENTIFY_PATH
|
from converter.conf.settings import IM_IDENTIFY_PATH
|
||||||
from converter.conf.settings import IM_CONVERT_PATH
|
from converter.conf.settings import IM_CONVERT_PATH
|
||||||
from converter.api import QUALITY_DEFAULT, QUALITY_SETTINGS
|
from converter.api import QUALITY_DEFAULT, QUALITY_SETTINGS
|
||||||
from converter.exceptions import ConvertError, UnknownFormat, UnpaperError, \
|
from converter.exceptions import ConvertError, UnknownFormat, \
|
||||||
IdentifyError, UnkownConvertError
|
IdentifyError
|
||||||
|
|
||||||
CONVERTER_ERROR_STRING_NO_DECODER = 'no decode delegate for this image format'
|
CONVERTER_ERROR_STRING_NO_DECODER = 'no decode delegate for this image format'
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,29 @@
|
|||||||
class ConvertError(Exception):
|
class ConvertError(Exception):
|
||||||
|
'''Base exception for all coverter app exceptions
|
||||||
|
'''
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class UnknownFormat(ConvertError):
|
class UnknownFormat(ConvertError):
|
||||||
|
'''Raised when the converter backend can't understand or there
|
||||||
|
isn't an appropiate driver available'''
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class UnpaperError(ConvertError):
|
class UnpaperError(ConvertError):
|
||||||
|
'''Raised by upaper
|
||||||
|
'''
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class IdentifyError(ConvertError):
|
class IdentifyError(ConvertError):
|
||||||
|
'''Raised by identify
|
||||||
|
'''
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class UnkownConvertError(ConvertError):
|
class UnkownConvertError(ConvertError):
|
||||||
|
'''Raised when an error is found but there is no disernible way to
|
||||||
|
identify the kind of error
|
||||||
|
'''
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,3 @@
|
|||||||
import os
|
|
||||||
import tempfile
|
|
||||||
|
|
||||||
from common import TEMPORARY_DIRECTORY
|
|
||||||
|
|
||||||
#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, dest, buffer_size=1024*1024):
|
def copyfile(source, dest, buffer_size=1024*1024):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ class ImageWidget(forms.widgets.Widget):
|
|||||||
if not self.attrs.get('hide_detail_link', False):
|
if not self.attrs.get('hide_detail_link', False):
|
||||||
for document_page in value.documentpage_set.all():
|
for document_page in value.documentpage_set.all():
|
||||||
output.append('<br/><a href="%(url)s"><span class="famfam active famfam-page_white"></span>%(text)s</a>' % {
|
output.append('<br/><a href="%(url)s"><span class="famfam active famfam-page_white"></span>%(text)s</a>' % {
|
||||||
'page_number': document_page.page_number,
|
|
||||||
'url':reverse('document_page_view', args=[document_page.id]),
|
'url':reverse('document_page_view', args=[document_page.id]),
|
||||||
'text':ugettext(u'Page %s details') % document_page.page_number})
|
'text':ugettext(u'Page %s details') % document_page.page_number})
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ class Document(models.Model):
|
|||||||
total_pages = get_page_count(filepath)
|
total_pages = get_page_count(filepath)
|
||||||
|
|
||||||
for page_number in range(total_pages):
|
for page_number in range(total_pages):
|
||||||
document_page, created = DocumentPage.objects.get_or_create(
|
DocumentPage.objects.get_or_create(
|
||||||
document=self, page_number=page_number+1)
|
document=self, page_number=page_number+1)
|
||||||
|
|
||||||
os.close(handle)
|
os.close(handle)
|
||||||
|
|||||||
@@ -2,10 +2,8 @@ import errno
|
|||||||
import os
|
import os
|
||||||
import hashlib
|
import hashlib
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.core.files.uploadedfile import InMemoryUploadedFile, \
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||||
SimpleUploadedFile
|
|
||||||
from django.utils.translation import ugettext
|
from django.utils.translation import ugettext
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.core.urlresolvers import reverse
|
|
||||||
|
|
||||||
from common.utils import pretty_size, pretty_size_10
|
from common.utils import pretty_size, pretty_size_10
|
||||||
from permissions.api import check_permissions
|
from permissions.api import check_permissions
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
import os
|
import os
|
||||||
import tempfile
|
|
||||||
|
|
||||||
|
|
||||||
from common import TEMPORARY_DIRECTORY
|
from common import TEMPORARY_DIRECTORY
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import zipfile
|
import zipfile
|
||||||
|
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
from django.http import HttpResponse, HttpResponseRedirect
|
||||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
from django.shortcuts import render_to_response, get_object_or_404
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.views.generic.list_detail import object_detail, object_list
|
from django.views.generic.list_detail import object_detail, object_list
|
||||||
@@ -11,7 +11,6 @@ from django.views.generic.create_update import create_object, delete_object, upd
|
|||||||
from django.core.files.base import File
|
from django.core.files.base import File
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.utils.http import urlencode
|
from django.utils.http import urlencode
|
||||||
from django.template.defaultfilters import slugify
|
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||||
|
|
||||||
@@ -30,7 +29,6 @@ from documents.conf.settings import USE_STAGING_DIRECTORY
|
|||||||
from documents.conf.settings import STAGING_FILES_PREVIEW_SIZE
|
from documents.conf.settings import STAGING_FILES_PREVIEW_SIZE
|
||||||
from documents.conf.settings import PREVIEW_SIZE
|
from documents.conf.settings import PREVIEW_SIZE
|
||||||
from documents.conf.settings import THUMBNAIL_SIZE
|
from documents.conf.settings import THUMBNAIL_SIZE
|
||||||
from documents.conf.settings import TRANFORMATION_PREVIEW_SIZE
|
|
||||||
from documents.conf.settings import GROUP_MAX_RESULTS
|
from documents.conf.settings import GROUP_MAX_RESULTS
|
||||||
from documents.conf.settings import GROUP_SHOW_EMPTY
|
from documents.conf.settings import GROUP_SHOW_EMPTY
|
||||||
from documents.conf.settings import GROUP_SHOW_THUMBNAIL
|
from documents.conf.settings import GROUP_SHOW_THUMBNAIL
|
||||||
@@ -51,7 +49,7 @@ from forms import DocumentTypeSelectForm, DocumentCreateWizard, \
|
|||||||
MetadataFormSet, DocumentPageForm, DocumentPageTransformationForm, \
|
MetadataFormSet, DocumentPageForm, DocumentPageTransformationForm, \
|
||||||
DocumentContentForm
|
DocumentContentForm
|
||||||
|
|
||||||
from metadata import save_metadata, save_metadata_list, \
|
from metadata import save_metadata_list, \
|
||||||
decode_metadata_from_url, metadata_repr_as_list
|
decode_metadata_from_url, metadata_repr_as_list
|
||||||
from models import Document, DocumentMetadata, DocumentType, MetadataType, \
|
from models import Document, DocumentMetadata, DocumentType, MetadataType, \
|
||||||
DocumentPage, DocumentPageTransformation
|
DocumentPage, DocumentPageTransformation
|
||||||
@@ -708,17 +706,13 @@ def document_page_transformation_edit(request, document_page_transformation_id):
|
|||||||
object_id=document_page_transformation_id,
|
object_id=document_page_transformation_id,
|
||||||
post_save_redirect=reverse('document_page_view', args=[document_page_transformation.document_page_id]),
|
post_save_redirect=reverse('document_page_view', args=[document_page_transformation.document_page_id]),
|
||||||
extra_context={
|
extra_context={
|
||||||
'object_name':_(u'transformation')}
|
'object_name':_(u'transformation'),
|
||||||
)
|
|
||||||
|
|
||||||
return render_to_response('generic_form.html', {
|
|
||||||
'form':form,
|
|
||||||
'object':document_page_transformation.document_page,
|
|
||||||
'title':_(u'Edit transformation "%(transformation)s" for page: %(page)s of document: %(document)s') % {
|
'title':_(u'Edit transformation "%(transformation)s" for page: %(page)s of document: %(document)s') % {
|
||||||
'transformation':document_page_transformation.get_transformation_display(),
|
'transformation':document_page_transformation.get_transformation_display(),
|
||||||
'page':document_page_transformation.document_page.page_number,
|
'page':document_page_transformation.document_page.page_number,
|
||||||
'document':document_page_transformation.document_page.document},
|
'document':document_page_transformation.document_page.document},
|
||||||
}, context_instance=RequestContext(request))
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def document_page_transformation_delete(request, document_page_transformation_id):
|
def document_page_transformation_delete(request, document_page_transformation_id):
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
from django.http import HttpResponseRedirect
|
||||||
from django.shortcuts import render_to_response
|
from django.shortcuts import render_to_response
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
from django.template import Node, Variable
|
from django.template import Node
|
||||||
from django.template import TemplateSyntaxError, Library, VariableDoesNotExist
|
from django.template import TemplateSyntaxError, Library
|
||||||
from django.template.defaultfilters import stringfilter
|
|
||||||
from django.template.defaultfilters import date as datefilter
|
|
||||||
from main.conf import settings
|
from main.conf import settings
|
||||||
|
|
||||||
register = Library()
|
register = Library()
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
import copy
|
import copy
|
||||||
|
|
||||||
from django.db.utils import DatabaseError
|
|
||||||
|
|
||||||
|
|
||||||
object_navigation = {}
|
object_navigation = {}
|
||||||
multi_object_navigation = {}
|
multi_object_navigation = {}
|
||||||
menu_links = []
|
menu_links = []
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import types
|
|
||||||
import copy
|
import copy
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||||
from django.core.urlresolvers import RegexURLResolver, RegexURLPattern, Resolver404, get_resolver
|
from django.core.urlresolvers import RegexURLResolver, RegexURLPattern, Resolver404, get_resolver
|
||||||
from django.template import TemplateSyntaxError, Library, \
|
from django.template import TemplateSyntaxError, Library, \
|
||||||
@@ -246,7 +244,6 @@ def object_navigation_template(context):
|
|||||||
'horizontal':True,
|
'horizontal':True,
|
||||||
'object_navigation_links':_get_object_navigation_links(context)
|
'object_navigation_links':_get_object_navigation_links(context)
|
||||||
}
|
}
|
||||||
return new_context
|
|
||||||
|
|
||||||
|
|
||||||
@register.tag
|
@register.tag
|
||||||
|
|||||||
@@ -6,12 +6,8 @@ import subprocess
|
|||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.contrib import messages
|
|
||||||
|
|
||||||
from common import TEMPORARY_DIRECTORY
|
from common import TEMPORARY_DIRECTORY
|
||||||
|
|
||||||
from documents.models import Document
|
|
||||||
|
|
||||||
from converter.api import convert_document_for_ocr
|
from converter.api import convert_document_for_ocr
|
||||||
|
|
||||||
from ocr.conf.settings import TESSERACT_PATH
|
from ocr.conf.settings import TESSERACT_PATH
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
from datetime import date, timedelta, datetime
|
from datetime import timedelta, datetime
|
||||||
import platform
|
import platform
|
||||||
import time
|
import time
|
||||||
import random
|
import random
|
||||||
|
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
|
||||||
from celery.task import Task, PeriodicTask
|
from celery.task import PeriodicTask
|
||||||
from celery.decorators import task
|
from celery.decorators import task
|
||||||
|
|
||||||
from documents import Document
|
|
||||||
|
|
||||||
from ocr.api import do_document_ocr
|
from ocr.api import do_document_ocr
|
||||||
from literals import QUEUEDOCUMENT_STATE_PENDING, \
|
from literals import QUEUEDOCUMENT_STATE_PENDING, \
|
||||||
QUEUEDOCUMENT_STATE_PROCESSING, DOCUMENTQUEUE_STATE_ACTIVE, \
|
QUEUEDOCUMENT_STATE_PROCESSING, DOCUMENTQUEUE_STATE_ACTIVE, \
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
from django.http import HttpResponseRedirect
|
||||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.views.generic.list_detail import object_detail, object_list
|
from django.views.generic.list_detail import object_list
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.views.generic.create_update import create_object, delete_object, update_object
|
|
||||||
from django.conf import settings
|
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
from permissions.api import check_permissions
|
from permissions.api import check_permissions
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
from models import Permission, PermissionHolder, Role, RoleMember
|
from models import Permission, PermissionHolder, Role, RoleMember
|
||||||
from django.contrib.contenttypes import generic
|
|
||||||
|
|
||||||
|
|
||||||
class PermissionHolderInline(admin.StackedInline):
|
class PermissionHolderInline(admin.StackedInline):
|
||||||
model = PermissionHolder
|
model = PermissionHolder
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
from django.http import Http404
|
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.contrib.auth.models import Group
|
from django.contrib.auth.models import Group
|
||||||
from django.db.utils import DatabaseError
|
from django.db.utils import DatabaseError
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.template import TemplateSyntaxError, Library, \
|
from django.template import TemplateSyntaxError, Library, \
|
||||||
VariableDoesNotExist, Node, Variable
|
Node, Variable
|
||||||
|
|
||||||
from permissions.api import check_permissions as check_permission_function
|
from permissions.api import check_permissions as check_permission_function
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ def check_permissions(parser, token):
|
|||||||
# Splitting by None == splitting by spaces.
|
# Splitting by None == splitting by spaces.
|
||||||
tag_name, args = token.contents.split(None, 1)
|
tag_name, args = token.contents.split(None, 1)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise template.TemplateSyntaxError, "%r tag requires arguments" % token.contents.split()[0]
|
raise TemplateSyntaxError, "%r tag requires arguments" % token.contents.split()[0]
|
||||||
|
|
||||||
return CheckPermissionsNode(*args.split())
|
return CheckPermissionsNode(*args.split())
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
from django.http import HttpResponseRedirect
|
||||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
from django.shortcuts import render_to_response, get_object_or_404
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.views.generic.list_detail import object_detail, object_list
|
from django.views.generic.list_detail import object_list
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.views.generic.create_update import create_object, delete_object, update_object
|
from django.views.generic.create_update import create_object, delete_object, update_object
|
||||||
from django.conf import settings
|
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
|
|
||||||
@@ -55,7 +54,7 @@ def role_permissions(request, role_id):
|
|||||||
role = get_object_or_404(Role, pk=role_id)
|
role = get_object_or_404(Role, pk=role_id)
|
||||||
form = RoleForm_view(instance=role)
|
form = RoleForm_view(instance=role)
|
||||||
|
|
||||||
role_permissions = Permission.objects.get_for_holder(role)
|
role_permissions_list = Permission.objects.get_for_holder(role)
|
||||||
subtemplates_dict = [
|
subtemplates_dict = [
|
||||||
{
|
{
|
||||||
'name':'generic_list_subtemplate.html',
|
'name':'generic_list_subtemplate.html',
|
||||||
@@ -64,7 +63,7 @@ def role_permissions(request, role_id):
|
|||||||
'extra_columns':[
|
'extra_columns':[
|
||||||
{'name':_(u'namespace'), 'attribute':'namespace'},
|
{'name':_(u'namespace'), 'attribute':'namespace'},
|
||||||
{'name':_(u'name'), 'attribute':'label'},
|
{'name':_(u'name'), 'attribute':'label'},
|
||||||
{'name':_(u'state'), 'attribute':lambda x: _role_permission_link(role, x, role_permissions)}
|
{'name':_(u'state'), 'attribute':lambda x: _role_permission_link(role, x, role_permissions_list)}
|
||||||
],
|
],
|
||||||
'hide_link':True,
|
'hide_link':True,
|
||||||
'hide_object':True,
|
'hide_object':True,
|
||||||
|
|||||||
Reference in New Issue
Block a user