From 37c09c866e68a31a8cae25fc8d0e9c416e17c593 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 10 Sep 2012 22:10:05 -0400 Subject: [PATCH] Add document app registry file --- apps/documents/registry.py | 132 +++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 apps/documents/registry.py diff --git a/apps/documents/registry.py b/apps/documents/registry.py new file mode 100644 index 0000000000..db85e7de4e --- /dev/null +++ b/apps/documents/registry.py @@ -0,0 +1,132 @@ +""" +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]