Files
mayan-edms/apps/documents/registry.py
2012-09-10 22:10:05 -04:00

133 lines
3.3 KiB
Python

"""
Configuration options for the documents app
"""
from __future__ import absolute_import
import hashlib
import uuid
import os
from django.utils.translation import ugettext_lazy as _
from django.conf import settings as django_settings
from storage.backends.filebasedstorage import FileBasedStorage
from smart_settings import LocalScope
from .icons import icon_documents
from .links import document_type_setup
from .statistics import get_statistics
def default_checksum(x):
"""hashlib.sha256(x).hexdigest()"""
return hashlib.sha256(x).hexdigest()
def default_uuid():
"""unicode(uuid.uuid4())"""
return unicode(uuid.uuid4())
name = 'documents'
label = _(u'Documents')
description = _(u'Base app that handles documents instances.')
icon = icon_documents
dependencies = ['app_registry', 'icons', 'storage', 'permissions', 'navigation']
setup_links = [document_type_setup]
#AppBackup(app, [ModelBackup(), FileBackup(document_settings.STORAGE_BACKEND)])
settings = [
{
'name': 'IM_CONVERT_PATH',
'default': u'/usr/bin/convert',
'description': _(u'File path to imagemagick\'s convert program.'),
'exists': True,
'scopes': [LocalScope()]
},
# Saving
{
'name': 'CHECKSUM_FUNCTION',
'default': default_checksum,
'scopes': [LocalScope()]
},
{
'name': 'UUID_FUNCTION',
'default': default_uuid,
'scopes': [LocalScope()]
},
# Storage
{
'name': 'STORAGE_BACKEND',
'default': FileBasedStorage,
'scopes': [LocalScope()]
},
# Usage
{
'name': 'PREVIEW_SIZE',
'default': u'640x480',
'scopes': [LocalScope()]
},
{
'name': 'PRINT_SIZE',
'default': u'1400',
'scopes': [LocalScope()]
},
{
'name': 'MULTIPAGE_PREVIEW_SIZE',
'default': u'160x120',
'scopes': [LocalScope()]
},
{
'name': 'THUMBNAIL_SIZE',
'default': u'50x50',
'scopes': [LocalScope()]
},
{
'name': 'DISPLAY_SIZE',
'default': u'1200',
'scopes': [LocalScope()]
},
{
'name': 'RECENT_COUNT',
'default': 40,
'description': _(u'Maximum number of recent (created, edited, viewed}, documents to remember per user.'),
'scopes': [LocalScope()]
},
{
'name': 'ZOOM_PERCENT_STEP',
'default': 50,
'description': _(u'Amount in percent zoom in or out a document page per user interaction.'),
'scopes': [LocalScope()]
},
{
'name': 'ZOOM_MAX_LEVEL',
'default': 200,
'description': _(u'Maximum amount in percent (%}, to allow user to zoom in a document page interactively.'),
'scopes': [LocalScope()]
},
{
'name': 'ZOOM_MIN_LEVEL',
'default': 50,
'description': _(u'Minimum amount in percent (%}, to allow user to zoom out a document page interactively.'),
'scopes': [LocalScope()]
},
{
'name': 'ROTATION_STEP',
'default': 90,
'description': _(u'Amount in degrees to rotate a document page per user interaction.'),
'scopes': [LocalScope()]
},
{
'name': 'CACHE_PATH',
'default': os.path.join(django_settings.PROJECT_ROOT, 'image_cache'),
'exists': True,
'scopes': [LocalScope()]
},
]
statistics=[get_statistics]