Example #1
0
register_settings(namespace=u'storage',
                  module=u'storage.conf.settings',
                  settings=[
                      {
                          'name': u'GRIDFS_HOST',
                          'global_name': u'STORAGE_GRIDFS_HOST',
                          'default': u'localhost'
                      },
                      {
                          'name': u'GRIDFS_PORT',
                          'global_name': u'STORAGE_GRIDFS_PORT',
                          'default': 27017
                      },
                      {
                          'name': u'GRIDFS_DATABASE_NAME',
                          'global_name': u'STORAGE_GRIDFS_DATABASE_NAME',
                          'default': u'document_storage'
                      },
                      {
                          'name':
                          u'FILESTORAGE_LOCATION',
                          'global_name':
                          u'STORAGE_FILESTORAGE_LOCATION',
                          'default':
                          os.path.join(settings.PROJECT_ROOT,
                                       u'document_storage'),
                          'exists':
                          True
                      },
                  ])
Example #2
0
"""Configuration options for the ocr app"""

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'ocr',
    module=u'ocr.conf.settings',
    settings=[
        {'name': u'TESSERACT_PATH', 'global_name': u'OCR_TESSERACT_PATH', 'default': u'/usr/bin/tesseract', 'exists': True},
        {'name': u'TESSERACT_LANGUAGE', 'global_name': u'OCR_TESSERACT_LANGUAGE', 'default': u'eng'},
        {'name': u'REPLICATION_DELAY', 'global_name': u'OCR_REPLICATION_DELAY', 'default': 0, 'description': _(u'Amount of seconds to delay OCR of documents to allow for the node\'s storage replication overhead.')},
        {'name': u'NODE_CONCURRENT_EXECUTION', 'global_name': u'OCR_NODE_CONCURRENT_EXECUTION', 'default': 1, 'description': _(u'Maximum amount of concurrent document OCRs a node can perform.')},
        {'name': u'AUTOMATIC_OCR', 'global_name': u'OCR_AUTOMATIC_OCR', 'default': True, 'description': _(u'Automatically queue newly created documents for OCR.')},
        {'name': u'QUEUE_PROCESSING_INTERVAL', 'global_name': u'OCR_QUEUE_PROCESSING_INTERVAL', 'default': 10},
        {'name': u'UNPAPER_PATH', 'global_name': u'OCR_UNPAPER_PATH', 'default': u'/usr/bin/unpaper', 'description': _(u'File path to unpaper program.'), 'exists': True},
        {'name': u'PDFTOTEXT_PATH', 'global_name': u'OCR_PDFTOTEXT_PATH', 'default': u'/usr/bin/pdftotext', 'description': _(u'File path to poppler\'s pdftotext program used to extract text from PDF files.'), 'exists': True},
    ]
)
Example #3
0
"""Configuration options for the permissions app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'permissions',
    module=u'permissions.settings',
    settings=[
        {'name': u'DEFAULT_ROLES', 'global_name': u'ROLES_DEFAULT_ROLES', 'default': [], 'description': _('A list of existing roles that are automatically assigned to newly created users')},
    ]
)
Example #4
0
"""Configuration options for the metadata app"""

import datetime

from django.contrib.auth.models import User
from django.utils.timezone import now

from smart_settings.api import register_settings


default_available_functions = {
    'current_date': now().date,
}

default_available_models = {
    'User': User
}

register_settings(
    namespace=u'metadata',
    module=u'metadata.conf.settings',
    settings=[
        # Definition
        {'name': u'AVAILABLE_FUNCTIONS', 'global_name': u'METADATA_AVAILABLE_FUNCTIONS', 'default': default_available_functions},
        {'name': u'AVAILABLE_MODELS', 'global_name': u'METADATA_AVAILABLE_MODELS', 'default': default_available_models},
    ]
)
Example #5
0
from __future__ import unicode_literals

from smart_settings.api import register_settings

available_indexing_functions = {
}

register_settings(
    namespace='document_indexing',
    module='document_indexing.settings',
    settings=[
        # Definition
        {'name': 'AVAILABLE_INDEXING_FUNCTIONS', 'global_name': 'DOCUMENT_INDEXING_AVAILABLE_INDEXING_FUNCTIONS', 'default': available_indexing_functions},
    ]
)
Example #6
0
from __future__ import unicode_literals

import os

from django.conf import settings

from smart_settings.api import register_settings

register_settings(namespace='storage',
                  module='storage.settings',
                  settings=[
                      {
                          'name':
                          'FILESTORAGE_LOCATION',
                          'global_name':
                          'STORAGE_FILESTORAGE_LOCATION',
                          'default':
                          os.path.join(settings.MEDIA_ROOT,
                                       'document_storage'),
                          'exists':
                          True
                      },
                  ])
Example #7
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace='ocr',
    module='ocr.settings',
    settings=[
        {'name': 'TESSERACT_PATH', 'global_name': 'OCR_TESSERACT_PATH', 'default': '/usr/bin/tesseract', 'exists': True},
        {'name': 'UNPAPER_PATH', 'global_name': 'OCR_UNPAPER_PATH', 'default': '/usr/bin/unpaper', 'description': _('File path to unpaper program.'), 'exists': True},
        {'name': 'PDFTOTEXT_PATH', 'global_name': 'OCR_PDFTOTEXT_PATH', 'default': '/usr/bin/pdftotext', 'description': _('File path to poppler\'s pdftotext program used to extract text from PDF files.'), 'exists': True},
        {'name': 'BACKEND', 'global_name': 'OCR_BACKEND', 'default': 'ocr.backends.tesseract.Tesseract', 'description': _('Full path to the backend to be used to do OCR.')},
    ]
)
Example #8
0
"""Configuration options for the job_processing app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'job_processor',
    module=u'job_processor.conf.settings',
    settings=[
        {'name': u'BACKEND', 'global_name': u'JOB_PROCESSING_BACKEND', 'default': None, 'description': _('Specified which job processing library to use, option are: None and celery.')},
    ]
)
Example #9
0
import os

from django.utils.translation import ugettext_lazy as _
from django.conf import settings

from smart_settings.api import register_settings

register_settings(
    namespace=u'django_gpg',
    module=u'django_gpg.conf.settings',
    settings=[
        {
            'name': u'KEYSERVERS',
            'global_name': u'SIGNATURES_KEYSERVERS',
            'default': ['pool.sks-keyservers.net'],
            'description':
            _(u'List of keyservers to be queried for unknown keys.')
        },
        {
            'name':
            u'GPG_HOME',
            'global_name':
            u'SIGNATURES_GPG_HOME',
            'default':
            os.path.join(settings.MEDIA_ROOT, u'gpg_home'),
            'description':
            _(u'Home directory used to store keys as well as configuration files.'
              )
        },
    ])
Example #10
0
"""Configuration options for the web_theme app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'web_theme',
    module=u'web_theme.conf.settings',
    settings=[
        {
            'name':
            u'THEME',
            'global_name':
            u'WEB_THEME_THEME',
            'default':
            u'default',
            'description':
            _(u'CSS theme to apply, options are: amro, bec, bec-green, blue, default, djime-cerulean, drastic-dark, kathleene, olive, orange, red, reidb-greenish and warehouse.'
              )
        },
        {
            'name': u'ENABLE_SCROLL_JS',
            'global_name': u'WEB_THEME_ENABLE_SCROLL_JS',
            'default': True,
            'hidden': True
        },
    ])
Example #11
0
register_settings(
    namespace=u'converter',
    module=u'converter.conf.settings',
    settings=[
        {
            'name': u'IM_CONVERT_PATH',
            'global_name': u'CONVERTER_IM_CONVERT_PATH',
            'default': u'/usr/bin/convert',
            'description': _(u'File path to imagemagick\'s convert program.'),
            'exists': True
        },
        {
            'name': u'IM_IDENTIFY_PATH',
            'global_name': u'CONVERTER_IM_IDENTIFY_PATH',
            'default': u'/usr/bin/identify',
            'description': _(u'File path to imagemagick\'s identify program.'),
            'exists': True
        },
        {
            'name': u'GM_PATH',
            'global_name': u'CONVERTER_GM_PATH',
            'default': u'/usr/bin/gm',
            'description': _(u'File path to graphicsmagick\'s program.'),
            'exists': True
        },
        {
            'name': u'GM_SETTINGS',
            'global_name': u'CONVERTER_GM_SETTINGS',
            'default': u''
        },
        {
            'name':
            u'GRAPHICS_BACKEND',
            'global_name':
            u'CONVERTER_GRAPHICS_BACKEND',
            'default':
            u'converter.backends.python',
            'description':
            _(u'Graphics conversion backend to use.  Options are: converter.backends.imagemagick, converter.backends.graphicsmagick and converter.backends.python.'
              )
        },
        {
            'name': u'UNOCONV_PATH',
            'global_name': u'CONVERTER_UNOCONV_PATH',
            'default': u'/usr/bin/unoconv',
            'exists': True,
            'description': _(u'Path to the unoconv program.')
        },
        {
            'name':
            u'UNOCONV_USE_PIPE',
            'global_name':
            u'CONVERTER_UNOCONV_USE_PIPE',
            'default':
            True,
            'description':
            _(u'Use alternate method of connection to LibreOffice using a pipe, it is slower but less prone to segmentation faults.'
              )
        },

        #{'name': u'OCR_OPTIONS', 'global_name': u'CONVERTER_OCR_OPTIONS', 'default': u'-colorspace Gray -depth 8 -resample 200x200'},
        #{'name': u'HIGH_QUALITY_OPTIONS', 'global_name': u'CONVERTER_HIGH_QUALITY_OPTIONS', 'default': u'-density 400'},
        #{'name': u'PRINT_QUALITY_OPTIONS', 'global_name': u'CONVERTER_PRINT_QUALITY_OPTIONS', 'default': u'-density 500'},
    ])
Example #12
0
register_settings(
    namespace=u'documents',
    module=u'documents.conf.settings',
    settings=[
        # Upload
        {'name': u'USE_STAGING_DIRECTORY', 'global_name': u'DOCUMENTS_USE_STAGING_DIRECTORY', 'default': False},
        {'name': u'STAGING_DIRECTORY', 'global_name': u'DOCUMENTS_STAGING_DIRECTORY', 'default': u'/tmp/mayan/staging', 'exists': True},
        {'name': u'PER_USER_STAGING_DIRECTORY', 'global_name': u'DOCUMENTS_PER_USER_STAGING_DIRECTORY', 'default': False},
        {'name': u'USER_STAGING_DIRECTORY_ROOT', 'global_name': u'DOCUMENTS_USER_STAGING_DIRECTORY_ROOT', 'default': u'/tmp/mayan/staging/users', 'exists': True},
        {'name': u'USER_STAGING_DIRECTORY_EXPRESSION', 'global_name': u'DOCUMENTS_USER_STAGING_DIRECTORY_EXPRESSION', 'default': u'user.username'},
        {'name': u'DELETE_STAGING_FILE_AFTER_UPLOAD', 'global_name': u'DOCUMENTS_DELETE_STAGING_FILE_AFTER_UPLOAD', 'default': False},
        {'name': u'STAGING_FILES_PREVIEW_SIZE', 'global_name': u'DOCUMENTS_STAGING_FILES_PREVIEW_SIZE', 'default': u'640x480'},
        # Saving
        {'name': u'CHECKSUM_FUNCTION', 'global_name': u'DOCUMENTS_CHECKSUM_FUNCTION', 'default': default_checksum},
        {'name': u'UUID_FUNCTION', 'global_name': u'DOCUMENTS_UUID_FUNCTION', 'default': default_uuid},
        # Storage
        {'name': u'STORAGE_BACKEND', 'global_name': u'DOCUMENTS_STORAGE_BACKEND', 'default': FileBasedStorage},
        # Transformations
        {'name': u'AVAILABLE_TRANSFORMATIONS', 'global_name': u'DOCUMENTS_AVAILABLE_TRANSFORMATIONS', 'default': available_transformations},
        {'name': u'DEFAULT_TRANSFORMATIONS', 'global_name': u'DOCUMENTS_DEFAULT_TRANSFORMATIONS', 'default': []},
        # Usage
        {'name': u'PREVIEW_SIZE', 'global_name': u'DOCUMENTS_PREVIEW_SIZE', 'default': u'640x480'},
        {'name': u'PRINT_SIZE', 'global_name': u'DOCUMENTS_PRINT_SIZE', 'default': u'1400'},
        {'name': u'MULTIPAGE_PREVIEW_SIZE', 'global_name': u'DOCUMENTS_MULTIPAGE_PREVIEW_SIZE', 'default': u'160x120'},
        {'name': u'THUMBNAIL_SIZE', 'global_name': u'DOCUMENTS_THUMBNAIL_SIZE', 'default': u'50x50'},
        {'name': u'DISPLAY_SIZE', 'global_name': u'DOCUMENTS_DISPLAY_SIZE', 'default': u'1200'},
        {'name': u'RECENT_COUNT', 'global_name': u'DOCUMENTS_RECENT_COUNT', 'default': 40, 'description': _(u'Maximum number of recent (created, edited, viewed) documents to remember per user.')},
        {'name': u'ZOOM_PERCENT_STEP', 'global_name': u'DOCUMENTS_ZOOM_PERCENT_STEP', 'default': 50, 'description': _(u'Amount in percent zoom in or out a document page per user interaction.')},
        {'name': u'ZOOM_MAX_LEVEL', 'global_name': u'DOCUMENTS_ZOOM_MAX_LEVEL', 'default': 200, 'description': _(u'Maximum amount in percent (%) to allow user to zoom in a document page interactively.')},
        {'name': u'ZOOM_MIN_LEVEL', 'global_name': u'DOCUMENTS_ZOOM_MIN_LEVEL', 'default': 50, 'description': _(u'Minimum amount in percent (%) to allow user to zoom out a document page interactively.')},
        {'name': u'ROTATION_STEP', 'global_name': u'DOCUMENTS_ROTATION_STEP', 'default': 90, 'description': _(u'Amount in degrees to rotate a document page per user interaction.')},
    ]
)
Example #13
0
register_settings(
    namespace='django_gpg',
    module='django_gpg.settings',
    settings=[
        {
            'name': 'KEYSERVERS',
            'global_name': 'SIGNATURES_KEYSERVERS',
            'default': ['pool.sks-keyservers.net'],
            'description':
            _('List of keyservers to be queried for unknown keys.')
        },
        {
            'name':
            'GPG_HOME',
            'global_name':
            'SIGNATURES_GPG_HOME',
            'default':
            os.path.join(settings.MEDIA_ROOT, 'gpg_home'),
            'description':
            _('Home directory used to store keys as well as configuration files.'
              )
        },
        {
            'name': 'GPG_PATH',
            'global_name': 'SIGNATURES_GPG_PATH',
            'default': '/usr/bin/gpg',
            'exists': True,
            'description': _('Path to the GPG binary.')
        },
    ])
Example #14
0
register_settings(
    namespace=u"ocr",
    module=u"ocr.conf.settings",
    settings=[
        {
            "name": u"TESSERACT_PATH",
            "global_name": u"OCR_TESSERACT_PATH",
            "default": u"/usr/bin/tesseract",
            "exists": True,
        },
        {"name": u"TESSERACT_LANGUAGE", "global_name": u"OCR_TESSERACT_LANGUAGE", "default": u"eng"},
        {
            "name": u"REPLICATION_DELAY",
            "global_name": u"OCR_REPLICATION_DELAY",
            "default": 10,
            "description": _(
                u"Amount of seconds to delay OCR of documents to allow for the node's storage replication overhead."
            ),
        },
        {
            "name": u"NODE_CONCURRENT_EXECUTION",
            "global_name": u"OCR_NODE_CONCURRENT_EXECUTION",
            "default": 1,
            "description": _(u"Maximum amount of concurrent document OCRs a node can perform."),
        },
        {
            "name": u"AUTOMATIC_OCR",
            "global_name": u"OCR_AUTOMATIC_OCR",
            "default": False,
            "description": _(u"Automatically queue newly created documents for OCR."),
        },
        {
            "name": u"PDFTOTEXT_PATH",
            "global_name": u"OCR_PDFTOTEXT_PATH",
            "default": u"/usr/bin/pdftotext",
            "exists": True,
        },
        {"name": u"QUEUE_PROCESSING_INTERVAL", "global_name": u"OCR_QUEUE_PROCESSING_INTERVAL", "default": 10},
        {
            "name": u"CACHE_URI",
            "global_name": u"OCR_CACHE_URI",
            "default": None,
            "description": _(
                u'URI in the form: "memcached://127.0.0.1:11211/" to specify a cache backend to use for locking. Multiple hosts can be specified separated by a semicolon.'
            ),
        },
    ],
)
Example #15
0
"""Configuration options for the web_theme app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

from webtheme.literals import TEMPLATE_VIEW_MODE_FULL, \
    TEMPLATE_VIEW_MODE_PLAIN, TEMPLATE_VIEW_MODE_BARE

register_settings(
    namespace=u'webtheme',
    module=u'webtheme.conf.settings',
    settings=[
        {'name': u'THEME', 'global_name': u'WEB_THEME_THEME', 'default': u'activo', 'description': _(u'CSS theme to apply, options are: amro, bec, bec-green, blue, default, djime-cerulean, drastic-dark, kathleene, olive, orange, red, reidb-greenish and warehouse.')},
        {'name': u'ENABLE_SCROLL_JS', 'global_name': u'WEB_THEME_ENABLE_SCROLL_JS', 'default': True, 'hidden': True},
        {'name': u'VERBOSE_LOGIN', 'global_name': u'WEB_THEME_VERBOSE_LOGIN', 'default': True, 'description': _(u'Display extra information in the login screen.')},
    ]
)

TEMPLATE_VIEW_MODES = {
    'educational_site': {
        'login': TEMPLATE_VIEW_MODE_BARE,
        'setup_list': TEMPLATE_VIEW_MODE_PLAIN,
        'user_list': TEMPLATE_VIEW_MODE_PLAIN,
        'user_add': TEMPLATE_VIEW_MODE_PLAIN,
        'user_edit': TEMPLATE_VIEW_MODE_PLAIN,
        'user_delete': TEMPLATE_VIEW_MODE_PLAIN,
        'user_set_password': TEMPLATE_VIEW_MODE_PLAIN,
        'group_list': TEMPLATE_VIEW_MODE_PLAIN,
        'group_add': TEMPLATE_VIEW_MODE_PLAIN,
        'group_edit': TEMPLATE_VIEW_MODE_PLAIN,
        'group_delete': TEMPLATE_VIEW_MODE_PLAIN,
Example #16
0
"""Configuration options for the metadata app"""

import datetime

from django.contrib.auth.models import User

from smart_settings.api import register_settings


default_available_functions = {"current_date": datetime.datetime.now().date}

default_available_models = {"User": User}

register_settings(
    namespace=u"metadata",
    module=u"metadata.conf.settings",
    settings=[
        # Definition
        {
            "name": u"AVAILABLE_FUNCTIONS",
            "global_name": u"METADATA_AVAILABLE_FUNCTIONS",
            "default": default_available_functions,
        },
        {"name": u"AVAILABLE_MODELS", "global_name": u"METADATA_AVAILABLE_MODELS", "default": default_available_models},
    ],
)
Example #17
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace='dynamic_search',
    module='dynamic_search.settings',
    settings=[
        {'name': 'SHOW_OBJECT_TYPE', 'global_name': 'SEARCH_SHOW_OBJECT_TYPE', 'default': True, 'hidden': True},
        {'name': 'LIMIT', 'global_name': 'SEARCH_LIMIT', 'default': 100, 'description': _('Maximum amount search hits to fetch and display.')},
        {'name': 'RECENT_COUNT', 'global_name': 'SEARCH_RECENT_COUNT', 'default': 5, 'description': _('Maximum number of search queries to remember per user.')},
    ]
)
Example #18
0
register_settings(
    namespace=u'document_indexing',
    module=u'document_indexing.conf.settings',
    settings=[
        # Definition
        {
            'name': u'AVAILABLE_INDEXING_FUNCTIONS',
            'global_name': u'DOCUMENT_INDEXING_AVAILABLE_INDEXING_FUNCTIONS',
            'default': available_indexing_functions
        },
        {
            'name': u'SUFFIX_SEPARATOR',
            'global_name': u'DOCUMENT_INDEXING_SUFFIX_SEPARATOR',
            'default': u'_'
        },
        # Filesystem serving
        {
            'name': u'SLUGIFY_PATHS',
            'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_SLUGIFY_PATHS',
            'default': False
        },
        {
            'name': u'MAX_SUFFIX_COUNT',
            'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_MAX_SUFFIX_COUNT',
            'default': 1000
        },
        {
            'name': u'FILESERVING_PATH',
            'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_PATH',
            'default': u'/tmp/mayan/documents',
            'exists': True
        },
        {
            'name': u'FILESERVING_ENABLE',
            'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_ENABLE',
            'default': True
        }
    ])
Example #19
0
register_settings(
    namespace=u'documents',
    module=u'documents.conf.settings',
    settings=[
        # Saving
        {
            'name': u'CHECKSUM_FUNCTION',
            'global_name': u'DOCUMENTS_CHECKSUM_FUNCTION',
            'default': default_checksum
        },
        {
            'name': u'UUID_FUNCTION',
            'global_name': u'DOCUMENTS_UUID_FUNCTION',
            'default': default_uuid
        },
        # Storage
        {
            'name': u'STORAGE_BACKEND',
            'global_name': u'DOCUMENTS_STORAGE_BACKEND',
            'default': FileBasedStorage
        },
        # Usage
        {
            'name': u'PREVIEW_SIZE',
            'global_name': u'DOCUMENTS_PREVIEW_SIZE',
            'default': u'640x480'
        },
        {
            'name': u'PRINT_SIZE',
            'global_name': u'DOCUMENTS_PRINT_SIZE',
            'default': u'1400'
        },
        {
            'name': u'MULTIPAGE_PREVIEW_SIZE',
            'global_name': u'DOCUMENTS_MULTIPAGE_PREVIEW_SIZE',
            'default': u'160x120'
        },
        {
            'name': u'THUMBNAIL_SIZE',
            'global_name': u'DOCUMENTS_THUMBNAIL_SIZE',
            'default': u'50x50'
        },
        {
            'name': u'DISPLAY_SIZE',
            'global_name': u'DOCUMENTS_DISPLAY_SIZE',
            'default': u'1200'
        },
        {
            'name':
            u'RECENT_COUNT',
            'global_name':
            u'DOCUMENTS_RECENT_COUNT',
            'default':
            40,
            'description':
            _(u'Maximum number of recent (created, edited, viewed) documents to remember per user.'
              )
        },
        {
            'name':
            u'ZOOM_PERCENT_STEP',
            'global_name':
            u'DOCUMENTS_ZOOM_PERCENT_STEP',
            'default':
            50,
            'description':
            _(u'Amount in percent zoom in or out a document page per user interaction.'
              )
        },
        {
            'name':
            u'ZOOM_MAX_LEVEL',
            'global_name':
            u'DOCUMENTS_ZOOM_MAX_LEVEL',
            'default':
            200,
            'description':
            _(u'Maximum amount in percent (%) to allow user to zoom in a document page interactively.'
              )
        },
        {
            'name':
            u'ZOOM_MIN_LEVEL',
            'global_name':
            u'DOCUMENTS_ZOOM_MIN_LEVEL',
            'default':
            50,
            'description':
            _(u'Minimum amount in percent (%) to allow user to zoom out a document page interactively.'
              )
        },
        {
            'name':
            u'ROTATION_STEP',
            'global_name':
            u'DOCUMENTS_ROTATION_STEP',
            'default':
            90,
            'description':
            _(u'Amount in degrees to rotate a document page per user interaction.'
              )
        },
        #
        {
            'name': u'CACHE_PATH',
            'global_name': u'DOCUMENTS_CACHE_PATH',
            'default': os.path.join(settings.PROJECT_ROOT, 'image_cache'),
            'exists': True
        },
    ])
Example #20
0
"""Configuration options for the dynamic_search app"""

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'dynamic_search',
    module=u'dynamic_search.conf.settings',
    settings=[
        {
            'name': u'SHOW_OBJECT_TYPE',
            'global_name': u'SEARCH_SHOW_OBJECT_TYPE',
            'default': True,
            'hidden': True
        },
        {
            'name': u'LIMIT',
            'global_name': u'SEARCH_LIMIT',
            'default': 100,
            'description':
            _(u'Maximum amount search hits to fetch and display.')
        },
    ])
Example #21
0
"""Configuration options for the grouping app"""

from smart_settings.api import register_settings

register_settings(
    namespace=u"grouping",
    module=u"grouping.conf.settings",
    settings=[{"name": u"SHOW_EMPTY_GROUPS", "global_name": u"GROUPING_SHOW_EMPTY_GROUPS", "default": True}],
)
Example #22
0
"""Configuration options for the converter app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'converter',
    module=u'converter.conf.settings',
    settings=[
        {'name': u'IM_CONVERT_PATH', 'global_name': u'CONVERTER_IM_CONVERT_PATH', 'default': u'/usr/bin/convert', 'description': _(u'File path to imagemagick\'s convert program.'), 'exists': True},
        {'name': u'IM_IDENTIFY_PATH', 'global_name': u'CONVERTER_IM_IDENTIFY_PATH', 'default': u'/usr/bin/identify', 'description': _(u'File path to imagemagick\'s identify program.'), 'exists': True},
        {'name': u'UNPAPER_PATH', 'global_name': u'CONVERTER_UNPAPER_PATH', 'default': u'/usr/bin/unpaper', 'description': _(u'File path to unpaper program.'), 'exists': True},
        {'name': u'GM_PATH', 'global_name': u'CONVERTER_GM_PATH', 'default': u'/usr/bin/gm', 'description': _(u'File path to graphicsmagick\'s program.'), 'exists': True},
        {'name': u'GM_SETTINGS', 'global_name': u'CONVERTER_GM_SETTINGS', 'default': u''},
        {'name': u'GRAPHICS_BACKEND', 'global_name': u'CONVERTER_GRAPHICS_BACKEND', 'default': u'converter.backends.imagemagick', 'description': _(u'Graphics conversion backend to use.  Options are: converter.backends.imagemagick and converter.backends.graphicsmagick.')},
        {'name': u'UNOCONV_PATH', 'global_name': u'CONVERTER_UNOCONV_PATH', 'default': u'/usr/bin/unoconv', 'exists': True},
        {'name': u'OCR_OPTIONS', 'global_name': u'CONVERTER_OCR_OPTIONS', 'default': u'-colorspace Gray -depth 8 -resample 200x200'},
        {'name': u'DEFAULT_OPTIONS', 'global_name': u'CONVERTER_DEFAULT_OPTIONS', 'default': u''},
        {'name': u'LOW_QUALITY_OPTIONS', 'global_name': u'CONVERTER_LOW_QUALITY_OPTIONS', 'default': u''},
        {'name': u'HIGH_QUALITY_OPTIONS', 'global_name': u'CONVERTER_HIGH_QUALITY_OPTIONS', 'default': u'-density 400'},
        {'name': u'PRINT_QUALITY_OPTIONS', 'global_name': u'CONVERTER_PRINT_QUALITY_OPTIONS', 'default': u'-density 500'},
    ]
)
Example #23
0
"""Configuration options for the ocr app"""

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'ocr',
    module=u'ocr.conf.settings',
    settings=[
        {'name': u'TESSERACT_PATH', 'global_name': u'OCR_TESSERACT_PATH', 'default': u'/usr/bin/tesseract', 'exists': True},
        {'name': u'TESSERACT_LANGUAGE', 'global_name': u'OCR_TESSERACT_LANGUAGE', 'default': u'eng'},
        {'name': u'REPLICATION_DELAY', 'global_name': u'OCR_REPLICATION_DELAY', 'default': 0, 'description': _(u'Amount of seconds to delay OCR of documents to allow for the node\'s storage replication overhead.')},
        {'name': u'NODE_CONCURRENT_EXECUTION', 'global_name': u'OCR_NODE_CONCURRENT_EXECUTION', 'default': 1, 'description': _(u'Maximum amount of concurrent document OCRs a node can perform.')},
        {'name': u'AUTOMATIC_OCR', 'global_name': u'OCR_AUTOMATIC_OCR', 'default': False, 'description': _(u'Automatically queue newly created documents for OCR.')},
        {'name': u'QUEUE_PROCESSING_INTERVAL', 'global_name': u'OCR_QUEUE_PROCESSING_INTERVAL', 'default': 10},
        {'name': u'CACHE_URI', 'global_name': u'OCR_CACHE_URI', 'default': None, 'description': _(u'URI in the form: "memcached://127.0.0.1:11211/" to specify a cache backend to use for locking. Multiple hosts can be specified separated by a semicolon.')},
        {'name': u'UNPAPER_PATH', 'global_name': u'OCR_UNPAPER_PATH', 'default': u'/usr/bin/unpaper', 'description': _(u'File path to unpaper program.'), 'exists': True},
    ]
)
Example #24
0
register_settings(
    namespace="mailer",
    module="mailer.settings",
    settings=[
        {
            "name": "LINK_SUBJECT_TEMPLATE",
            "global_name": "MAILER_LINK_SUBJECT_TEMPLATE",
            "default": _("Link for document: {{ document }}"),
            "description": _("Template for the document link email form subject line."),
        },
        {
            "name": "LINK_BODY_TEMPLATE",
            "global_name": "MAILER_LINK_BODY_TEMPLATE",
            "default": _(
                'To access this document click on the following link: <a href="{{ link }}">{{ link }}</a><br /><br />\n\n--------<br />\nThis email has been sent from Mayan EDMS (http://www.mayan-edms.com)'
            ),
            "description": _("Template for the document link email form body line."),
        },
        {
            "name": "DOCUMENT_SUBJECT_TEMPLATE",
            "global_name": "MAILER_DOCUMENT_SUBJECT_TEMPLATE",
            "default": _("Document: {{ document }}"),
            "description": _("Template for the document email form subject line."),
        },
        {
            "name": "DOCUMENT_BODY_TEMPLATE",
            "global_name": "MAILER_DOCUMENT_BODY_TEMPLATE",
            "default": _(
                "Attached to this email is the document: {{ document }}<br /><br />\n\n--------<br />\nThis email has been sent from Mayan EDMS (http://www.mayan-edms.com)"
            ),
            "description": _("Template for the document email form body line."),
        },
    ],
)
Example #25
0
from __future__ import unicode_literals

import os

from django.conf import settings

from smart_settings.api import register_settings

register_settings(
    namespace='storage',
    module='storage.settings',
    settings=[
        {'name': 'FILESTORAGE_LOCATION', 'global_name': 'STORAGE_FILESTORAGE_LOCATION', 'default': os.path.join(settings.MEDIA_ROOT, 'document_storage'), 'exists': True},
    ]
)
Example #26
0
"""Configuration options for the document_indexing app"""

from django.utils.translation import ugettext_lazy as _

from common.utils import proper_name
from smart_settings.api import register_settings

available_indexing_functions = {
    'proper_name': proper_name
}

register_settings(
    namespace=u'document_indexing',
    module=u'document_indexing.conf.settings',
    settings=[
        # Definition
        {'name': u'AVAILABLE_INDEXING_FUNCTIONS', 'global_name': u'DOCUMENT_INDEXING_AVAILABLE_INDEXING_FUNCTIONS', 'default': available_indexing_functions},
        {'name': u'SUFFIX_SEPARATOR', 'global_name': u'DOCUMENT_INDEXING_SUFFIX_SEPARATOR', 'default': u'_'},
        # Filesystem serving
        {'name': u'SLUGIFY_PATHS', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_SLUGIFY_PATHS', 'default': False},
        {'name': u'MAX_SUFFIX_COUNT', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_MAX_SUFFIX_COUNT', 'default': 1000},
        {'name': u'FILESYSTEM_SERVING', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_SERVING', 'default': {}, 'description': _(u'A dictionary that maps the index name and where on the filesystem that index will be mirrored.')}
    ]
)
Example #27
0
register_settings(
    namespace='documents',
    module='documents.settings',
    settings=[
        # Storage
        {
            'name': 'STORAGE_BACKEND',
            'global_name': 'DOCUMENTS_STORAGE_BACKEND',
            'default': 'storage.backends.filebasedstorage.FileBasedStorage'
        },
        # Usage
        {
            'name': 'PREVIEW_SIZE',
            'global_name': 'DOCUMENTS_PREVIEW_SIZE',
            'default': '640x480'
        },
        {
            'name': 'PRINT_SIZE',
            'global_name': 'DOCUMENTS_PRINT_SIZE',
            'default': '1400'
        },
        {
            'name': 'MULTIPAGE_PREVIEW_SIZE',
            'global_name': 'DOCUMENTS_MULTIPAGE_PREVIEW_SIZE',
            'default': '160x120'
        },
        {
            'name': 'THUMBNAIL_SIZE',
            'global_name': 'DOCUMENTS_THUMBNAIL_SIZE',
            'default': '50x50'
        },
        {
            'name': 'DISPLAY_SIZE',
            'global_name': 'DOCUMENTS_DISPLAY_SIZE',
            'default': '1200'
        },
        {
            'name':
            'RECENT_COUNT',
            'global_name':
            'DOCUMENTS_RECENT_COUNT',
            'default':
            40,
            'description':
            _('Maximum number of recent (created, edited, viewed) documents to remember per user.'
              )
        },
        {
            'name':
            'ZOOM_PERCENT_STEP',
            'global_name':
            'DOCUMENTS_ZOOM_PERCENT_STEP',
            'default':
            50,
            'description':
            _('Amount in percent zoom in or out a document page per user interaction.'
              )
        },
        {
            'name':
            'ZOOM_MAX_LEVEL',
            'global_name':
            'DOCUMENTS_ZOOM_MAX_LEVEL',
            'default':
            200,
            'description':
            _('Maximum amount in percent (%) to allow user to zoom in a document page interactively.'
              )
        },
        {
            'name':
            'ZOOM_MIN_LEVEL',
            'global_name':
            'DOCUMENTS_ZOOM_MIN_LEVEL',
            'default':
            50,
            'description':
            _('Minimum amount in percent (%) to allow user to zoom out a document page interactively.'
              )
        },
        {
            'name':
            'ROTATION_STEP',
            'global_name':
            'DOCUMENTS_ROTATION_STEP',
            'default':
            90,
            'description':
            _('Amount in degrees to rotate a document page per user interaction.'
              )
        },
        #
        {
            'name': 'CACHE_PATH',
            'global_name': 'DOCUMENTS_CACHE_PATH',
            'default': os.path.join(settings.MEDIA_ROOT, 'image_cache'),
            'exists': True
        },
        {
            'name': 'LANGUAGE',
            'global_name': 'DOCUMENTS_LANGUAGE',
            'default': 'eng',
            'description':
            _('Default documents language (in ISO639-2 format).')
        },
        {
            'name': 'LANGUAGE_CHOICES',
            'global_name': 'DOCUMENTS_LANGUAGE_CHOICES',
            'default': LANGUAGE_CHOICES,
            'description': _('List of supported document languages.')
        },
    ])
Example #28
0

def default_uuid():
    """unicode(uuid.uuid4())"""
    return unicode(uuid.uuid4())

register_settings(
    namespace=u'documents',
    module=u'documents.conf.settings',
    settings=[
        # Saving
        {'name': u'CHECKSUM_FUNCTION', 'global_name': u'DOCUMENTS_CHECKSUM_FUNCTION', 'default': default_checksum},
        {'name': u'UUID_FUNCTION', 'global_name': u'DOCUMENTS_UUID_FUNCTION', 'default': default_uuid},
        # Storage
        {'name': u'STORAGE_BACKEND', 'global_name': u'DOCUMENTS_STORAGE_BACKEND', 'default': FileBasedStorage},
        # Usage
        {'name': u'PREVIEW_SIZE', 'global_name': u'DOCUMENTS_PREVIEW_SIZE', 'default': u'640x480'},
        {'name': u'PRINT_SIZE', 'global_name': u'DOCUMENTS_PRINT_SIZE', 'default': u'1400'},
        {'name': u'MULTIPAGE_PREVIEW_SIZE', 'global_name': u'DOCUMENTS_MULTIPAGE_PREVIEW_SIZE', 'default': u'160x120'},
        {'name': u'THUMBNAIL_SIZE', 'global_name': u'DOCUMENTS_THUMBNAIL_SIZE', 'default': u'50x50'},
        {'name': u'DISPLAY_SIZE', 'global_name': u'DOCUMENTS_DISPLAY_SIZE', 'default': u'1200'},
        {'name': u'RECENT_COUNT', 'global_name': u'DOCUMENTS_RECENT_COUNT', 'default': 40, 'description': _(u'Maximum number of recent (created, edited, viewed) documents to remember per user.')},
        {'name': u'ZOOM_PERCENT_STEP', 'global_name': u'DOCUMENTS_ZOOM_PERCENT_STEP', 'default': 50, 'description': _(u'Amount in percent zoom in or out a document page per user interaction.')},
        {'name': u'ZOOM_MAX_LEVEL', 'global_name': u'DOCUMENTS_ZOOM_MAX_LEVEL', 'default': 200, 'description': _(u'Maximum amount in percent (%) to allow user to zoom in a document page interactively.')},
        {'name': u'ZOOM_MIN_LEVEL', 'global_name': u'DOCUMENTS_ZOOM_MIN_LEVEL', 'default': 50, 'description': _(u'Minimum amount in percent (%) to allow user to zoom out a document page interactively.')},
        {'name': u'ROTATION_STEP', 'global_name': u'DOCUMENTS_ROTATION_STEP', 'default': 90, 'description': _(u'Amount in degrees to rotate a document page per user interaction.')},
        #
        {'name': u'CACHE_PATH', 'global_name': u'DOCUMENTS_CACHE_PATH', 'default': os.path.join(settings.PROJECT_ROOT, 'image_cache'), 'exists': True},
    ]
)
Example #29
0
"""Configuration options for the permissions app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u"permissions",
    module=u"permissions.conf.settings",
    settings=[
        {
            "name": u"DEFAULT_ROLES",
            "global_name": u"ROLES_DEFAULT_ROLES",
            "default": [],
            "description": _("A list of existing roles that are automatically assigned to newly created users"),
        }
    ],
)
Example #30
0
register_settings(
    namespace=u'ocr',
    module=u'ocr.conf.settings',
    settings=[
        {
            'name': u'TESSERACT_PATH',
            'global_name': u'OCR_TESSERACT_PATH',
            'default': u'/usr/bin/tesseract',
            'exists': True
        },
        {
            'name': u'TESSERACT_LANGUAGE',
            'global_name': u'OCR_TESSERACT_LANGUAGE',
            'default': u'eng'
        },
        {
            'name':
            u'REPLICATION_DELAY',
            'global_name':
            u'OCR_REPLICATION_DELAY',
            'default':
            0,
            'description':
            _(u'Amount of seconds to delay OCR of documents to allow for the node\'s storage replication overhead.'
              )
        },
        {
            'name':
            u'NODE_CONCURRENT_EXECUTION',
            'global_name':
            u'OCR_NODE_CONCURRENT_EXECUTION',
            'default':
            1,
            'description':
            _(u'Maximum amount of concurrent document OCRs a node can perform.'
              )
        },
        {
            'name':
            u'AUTOMATIC_OCR',
            'global_name':
            u'OCR_AUTOMATIC_OCR',
            'default':
            False,
            'description':
            _(u'Automatically queue newly created documents for OCR.')
        },
        {
            'name': u'QUEUE_PROCESSING_INTERVAL',
            'global_name': u'OCR_QUEUE_PROCESSING_INTERVAL',
            'default': 10
        },
        {
            'name':
            u'CACHE_URI',
            'global_name':
            u'OCR_CACHE_URI',
            'default':
            None,
            'description':
            _(u'URI in the form: "memcached://127.0.0.1:11211/" to specify a cache backend to use for locking. Multiple hosts can be specified separated by a semicolon.'
              )
        },
        {
            'name': u'UNPAPER_PATH',
            'global_name': u'OCR_UNPAPER_PATH',
            'default': u'/usr/bin/unpaper',
            'description': _(u'File path to unpaper program.'),
            'exists': True
        },
    ])
Example #31
0
"""
Configuration options for the django_gpg app
"""
import os

from django.utils.translation import ugettext_lazy as _
from django.conf import settings

from smart_settings.api import register_settings

register_settings(
    namespace=u'django_gpg',
    module=u'django_gpg.conf.settings',
    settings=[
        {'name': u'KEYSERVERS', 'global_name': u'SIGNATURES_KEYSERVERS', 'default': ['pool.sks-keyservers.net'], 'description': _(u'List of keyservers to be queried for unknown keys.')},
        {'name': u'GPG_HOME', 'global_name': u'SIGNATURES_GPG_HOME', 'default': os.path.join(settings.PROJECT_ROOT, u'gpg_home'), 'description': _(u'Home directory used to store keys as well as configuration files.')},
    ]
)
Example #32
0
register_settings(
    namespace=u'document_indexing',
    module=u'document_indexing.conf.settings',
    settings=[
        # Definition
        {
            'name': u'AVAILABLE_INDEXING_FUNCTIONS',
            'global_name': u'DOCUMENT_INDEXING_AVAILABLE_INDEXING_FUNCTIONS',
            'default': available_indexing_functions
        },
        {
            'name': u'SUFFIX_SEPARATOR',
            'global_name': u'DOCUMENT_INDEXING_SUFFIX_SEPARATOR',
            'default': u'_'
        },
        # Filesystem serving
        {
            'name': u'SLUGIFY_PATHS',
            'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_SLUGIFY_PATHS',
            'default': False
        },
        {
            'name': u'MAX_SUFFIX_COUNT',
            'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_MAX_SUFFIX_COUNT',
            'default': 1000
        },
        {
            'name':
            u'FILESYSTEM_SERVING',
            'global_name':
            u'DOCUMENT_INDEXING_FILESYSTEM_SERVING',
            'default': {},
            'description':
            _(u'A dictionary that maps the index name and where on the filesystem that index will be mirrored.'
              )
        }
    ])
Example #33
0
'''Configuration options for the converter app'''

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'converter',
    module=u'converter.conf.settings',
    settings=[
        {'name': u'IM_CONVERT_PATH', 'global_name': u'CONVERTER_IM_CONVERT_PATH', 'default': u'/usr/bin/convert', 'description': _(u'File path to imagemagick\'s convert program.'), 'exists': True},
        {'name': u'IM_IDENTIFY_PATH', 'global_name': u'CONVERTER_IM_IDENTIFY_PATH', 'default': u'/usr/bin/identify', 'description': _(u'File path to imagemagick\'s identify program.'), 'exists': True},
        {'name': u'GM_PATH', 'global_name': u'CONVERTER_GM_PATH', 'default': u'/usr/bin/gm', 'description': _(u'File path to graphicsmagick\'s program.'), 'exists': True},
        {'name': u'GM_SETTINGS', 'global_name': u'CONVERTER_GM_SETTINGS', 'default': u''},
        {'name': u'GRAPHICS_BACKEND', 'global_name': u'CONVERTER_GRAPHICS_BACKEND', 'default': u'converter.backends.python', 'description': _(u'Graphics conversion backend to use.  Options are: converter.backends.imagemagick, converter.backends.graphicsmagick and converter.backends.python.')},
        {'name': u'LIBREOFFICE_PATH', 'global_name': u'CONVERTER_LIBREOFFICE_PATH', 'default': u'/usr/bin/libreoffice', 'exists': True, 'description': _(u'Path to the libreoffice program.')},
        
        #{'name': u'OCR_OPTIONS', 'global_name': u'CONVERTER_OCR_OPTIONS', 'default': u'-colorspace Gray -depth 8 -resample 200x200'},
        #{'name': u'HIGH_QUALITY_OPTIONS', 'global_name': u'CONVERTER_HIGH_QUALITY_OPTIONS', 'default': u'-density 400'},
        #{'name': u'PRINT_QUALITY_OPTIONS', 'global_name': u'CONVERTER_PRINT_QUALITY_OPTIONS', 'default': u'-density 500'},
    ]
)
Example #34
0
'''
Configuration options for the django_gpg app
'''

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'django_gpg',
    module=u'django_gpg.conf.settings',
    settings=[
        {'name': u'KEYSERVERS', 'global_name': u'SIGNATURES_KEYSERVERS', 'default': ['pool.sks-keyservers.net'], 'description': _(u'List of keyservers to be queried for unknown keys.')},
    ]
)
Example #35
0
'''
Configuration options for the django_gpg app
'''

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'django_gpg',
    module=u'django_gpg.conf.settings',
    settings=[
        {
            'name': u'KEYSERVERS',
            'global_name': u'SIGNATURES_KEYSERVERS',
            'default': ['pool.sks-keyservers.net'],
            'description':
            _(u'List of keyservers to be queried for unknown keys.')
        },
    ])
Example #36
0
'''Configuration options for the linking app'''

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'linking',
    module=u'linking.conf.settings',
    settings=[
        {'name': u'SHOW_EMPTY_SMART_LINKS', 'global_name': u'LINKING_SHOW_EMPTY_SMART_LINKS', 'default': True, 'description': _(u'Show smart link that don\'t return any documents.')},
    ]
)
Example #37
0
from __future__ import unicode_literals

import os

from django.conf import settings
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace='django_gpg',
    module='django_gpg.settings',
    settings=[
        {'name': 'KEYSERVERS', 'global_name': 'SIGNATURES_KEYSERVERS', 'default': ['pool.sks-keyservers.net'], 'description': _('List of keyservers to be queried for unknown keys.')},
        {'name': 'GPG_HOME', 'global_name': 'SIGNATURES_GPG_HOME', 'default': os.path.join(settings.MEDIA_ROOT, 'gpg_home'), 'description': _('Home directory used to store keys as well as configuration files.')},
        {'name': 'GPG_PATH', 'global_name': 'SIGNATURES_GPG_PATH', 'default': '/usr/bin/gpg', 'exists': True, 'description': _('Path to the GPG binary.')},
    ]
)
Example #38
0
"""Configuration options for the document_indexing app"""

from common.utils import proper_name
from smart_settings.api import register_settings

available_indexing_functions = {
    'proper_name': proper_name
}

register_settings(
    namespace=u'document_indexing',
    module=u'document_indexing.conf.settings',
    settings=[
        # Definition
        {'name': u'AVAILABLE_INDEXING_FUNCTIONS', 'global_name': u'DOCUMENT_INDEXING_AVAILABLE_INDEXING_FUNCTIONS', 'default': available_indexing_functions},
        {'name': u'SUFFIX_SEPARATOR', 'global_name': u'DOCUMENT_INDEXING_SUFFIX_SEPARATOR', 'default': u'_'},
        # Filesystem serving
        {'name': u'SLUGIFY_PATHS', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_SLUGIFY_PATHS', 'default': False},
        {'name': u'MAX_SUFFIX_COUNT', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_MAX_SUFFIX_COUNT', 'default': 1000},
        {'name': u'FILESERVING_PATH', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_PATH', 'default': u'/tmp/mayan/documents', 'exists': True},
        {'name': u'FILESERVING_ENABLE', 'global_name': u'DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_ENABLE', 'default': True}
    ]
)
Example #39
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace='converter',
    module='converter.settings',
    settings=[
        {'name': 'IM_CONVERT_PATH', 'global_name': 'CONVERTER_IM_CONVERT_PATH', 'default': '/usr/bin/convert', 'description': _('File path to imagemagick\'s convert program.'), 'exists': True},
        {'name': 'IM_IDENTIFY_PATH', 'global_name': 'CONVERTER_IM_IDENTIFY_PATH', 'default': '/usr/bin/identify', 'description': _('File path to imagemagick\'s identify program.'), 'exists': True},
        {'name': 'GM_PATH', 'global_name': 'CONVERTER_GM_PATH', 'default': '/usr/bin/gm', 'description': _('File path to graphicsmagick\'s program.'), 'exists': True},
        {'name': 'GM_SETTINGS', 'global_name': 'CONVERTER_GM_SETTINGS', 'default': ''},
        {'name': 'GRAPHICS_BACKEND', 'global_name': 'CONVERTER_GRAPHICS_BACKEND', 'default': 'converter.backends.python.Python', 'description': _('Graphics conversion backend to use.  Options are: converter.backends.imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick and converter.backends.python.Python')},
        {'name': 'LIBREOFFICE_PATH', 'global_name': 'CONVERTER_LIBREOFFICE_PATH', 'default': '/usr/bin/libreoffice', 'exists': True, 'description': _('Path to the libreoffice program.')},
        {'name': 'PDFTOPPM_PATH', 'global_name': 'CONVERTER_PDFTOPPM_PATH', 'default': '/usr/bin/pdftoppm', 'exists': True, 'description': _('Path to the Popple program pdftoppm.')},
    ]
)
Example #40
0
from __future__ import unicode_literals

from smart_settings.api import register_settings

available_indexing_functions = {}

register_settings(
    namespace='document_indexing',
    module='document_indexing.settings',
    settings=[
        # Definition
        {
            'name': 'AVAILABLE_INDEXING_FUNCTIONS',
            'global_name': 'DOCUMENT_INDEXING_AVAILABLE_INDEXING_FUNCTIONS',
            'default': available_indexing_functions
        },
    ])
Example #41
0
register_settings(
    namespace='mailer',
    module='mailer.settings',
    settings=[
        {
            'name':
            'LINK_SUBJECT_TEMPLATE',
            'global_name':
            'MAILER_LINK_SUBJECT_TEMPLATE',
            'default':
            _('Link for document: {{ document }}'),
            'description':
            _('Template for the document link email form subject line.')
        },
        {
            'name':
            'LINK_BODY_TEMPLATE',
            'global_name':
            'MAILER_LINK_BODY_TEMPLATE',
            'default':
            _('To access this document click on the following link: <a href="{{ link }}">{{ link }}</a><br /><br />\n\n--------<br />\nThis email has been sent from Mayan EDMS (http://www.mayan-edms.com)'
              ),
            'description':
            _('Template for the document link email form body line.')
        },
        {
            'name': 'DOCUMENT_SUBJECT_TEMPLATE',
            'global_name': 'MAILER_DOCUMENT_SUBJECT_TEMPLATE',
            'default': _('Document: {{ document }}'),
            'description':
            _('Template for the document email form subject line.')
        },
        {
            'name':
            'DOCUMENT_BODY_TEMPLATE',
            'global_name':
            'MAILER_DOCUMENT_BODY_TEMPLATE',
            'default':
            _('Attached to this email is the document: {{ document }}<br /><br />\n\n--------<br />\nThis email has been sent from Mayan EDMS (http://www.mayan-edms.com)'
              ),
            'description':
            _('Template for the document email form body line.')
        },
    ])
Example #42
0
"""Configuration options for the web_theme app"""
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'web_theme',
    module=u'web_theme.settings',
    settings=[
        {'name': u'THEME', 'global_name': u'WEB_THEME_THEME', 'default': u'activo', 'description': _(u'CSS theme to apply, options are: amro, bec, bec-green, blue, default, djime-cerulean, drastic-dark, kathleene, olive, orange, red, reidb-greenish and warehouse.')},
        {'name': u'ENABLE_SCROLL_JS', 'global_name': u'WEB_THEME_ENABLE_SCROLL_JS', 'default': True, 'hidden': True},
        {'name': u'VERBOSE_LOGIN', 'global_name': u'WEB_THEME_VERBOSE_LOGIN', 'default': True, 'description': _(u'Display extra information in the login screen.')},
    ]
)
Example #43
0
"""Configuration options for the storage app"""
import os

from django.utils.translation import ugettext_lazy as _
from django.conf import settings

from smart_settings.api import register_settings

register_settings(
    namespace=u'storage',
    module=u'storage.conf.settings',
    settings=[
        {'name': u'GRIDFS_HOST', 'global_name': u'STORAGE_GRIDFS_HOST', 'default': u'localhost'},
        {'name': u'GRIDFS_PORT', 'global_name': u'STORAGE_GRIDFS_PORT', 'default': 27017},
        {'name': u'GRIDFS_DATABASE_NAME', 'global_name': u'STORAGE_GRIDFS_DATABASE_NAME', 'default': u'document_storage'},
        {'name': u'FILESTORAGE_LOCATION', 'global_name': u'STORAGE_FILESTORAGE_LOCATION', 'default': os.path.join(settings.PROJECT_ROOT, u'document_storage'), 'exists': True},
    ]
)
Example #44
0
"""Configuration options for the linking app"""

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'linking',
    module=u'linking.conf.settings',
    settings=[
        {
            'name': u'SHOW_EMPTY_SMART_LINKS',
            'global_name': u'LINKING_SHOW_EMPTY_SMART_LINKS',
            'default': True,
            'description':
            _(u'Show smart link that don\'t return any documents.')
        },
    ])
Example #45
0
"""Configuration options for the metadata app"""

import datetime

from django.contrib.auth.models import User

from smart_settings.api import register_settings

default_available_functions = {
    'current_date': datetime.datetime.now().date,
}

default_available_models = {'User': User}

register_settings(
    namespace=u'metadata',
    module=u'metadata.conf.settings',
    settings=[
        # Definition
        {
            'name': u'AVAILABLE_FUNCTIONS',
            'global_name': u'METADATA_AVAILABLE_FUNCTIONS',
            'default': default_available_functions
        },
        {
            'name': u'AVAILABLE_MODELS',
            'global_name': u'METADATA_AVAILABLE_MODELS',
            'default': default_available_models
        },
    ])
Example #46
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace='permissions',
    module='permissions.settings',
    settings=[
        {
            'name':
            'DEFAULT_ROLES',
            'global_name':
            'ROLES_DEFAULT_ROLES',
            'default': [],
            'description':
            _('A list of existing roles that are automatically assigned to newly created users'
              )
        },
    ])
Example #47
0
"""Configuration options for the dynamic_search app"""

from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

register_settings(
    namespace=u'dynamic_search',
    module=u'dynamic_search.conf.settings',
    settings=[
        {'name': u'SHOW_OBJECT_TYPE', 'global_name': u'SEARCH_SHOW_OBJECT_TYPE', 'default': True, 'hidden': True},
        {'name': u'LIMIT', 'global_name': u'SEARCH_LIMIT', 'default': 100, 'description': _(u'Maximum amount search hits to fetch and display.')},
        {'name': u'RECENT_COUNT', 'global_name': u'SEARCH_RECENT_COUNT', 'default': 5, 'description': _(u'Maximum number of search queries to remember per user.')},
    ]
)
Example #48
0
from django.conf import settings
from django.utils.translation import ugettext_lazy as _

from smart_settings.api import register_settings

LANGUAGE_CHOICES = [(i.bibliographic, _(i.name)) for i in list(pycountry.languages)]

register_settings(
    namespace='documents',
    module='documents.settings',
    settings=[
        # Storage
        {'name': 'STORAGE_BACKEND', 'global_name': 'DOCUMENTS_STORAGE_BACKEND', 'default': 'storage.backends.filebasedstorage.FileBasedStorage'},
        # Usage
        {'name': 'PREVIEW_SIZE', 'global_name': 'DOCUMENTS_PREVIEW_SIZE', 'default': '640x480'},
        {'name': 'PRINT_SIZE', 'global_name': 'DOCUMENTS_PRINT_SIZE', 'default': '1400'},
        {'name': 'MULTIPAGE_PREVIEW_SIZE', 'global_name': 'DOCUMENTS_MULTIPAGE_PREVIEW_SIZE', 'default': '160x120'},
        {'name': 'THUMBNAIL_SIZE', 'global_name': 'DOCUMENTS_THUMBNAIL_SIZE', 'default': '50x50'},
        {'name': 'DISPLAY_SIZE', 'global_name': 'DOCUMENTS_DISPLAY_SIZE', 'default': '1200'},
        {'name': 'RECENT_COUNT', 'global_name': 'DOCUMENTS_RECENT_COUNT', 'default': 40, 'description': _('Maximum number of recent (created, edited, viewed) documents to remember per user.')},
        {'name': 'ZOOM_PERCENT_STEP', 'global_name': 'DOCUMENTS_ZOOM_PERCENT_STEP', 'default': 50, 'description': _('Amount in percent zoom in or out a document page per user interaction.')},
        {'name': 'ZOOM_MAX_LEVEL', 'global_name': 'DOCUMENTS_ZOOM_MAX_LEVEL', 'default': 200, 'description': _('Maximum amount in percent (%) to allow user to zoom in a document page interactively.')},
        {'name': 'ZOOM_MIN_LEVEL', 'global_name': 'DOCUMENTS_ZOOM_MIN_LEVEL', 'default': 50, 'description': _('Minimum amount in percent (%) to allow user to zoom out a document page interactively.')},
        {'name': 'ROTATION_STEP', 'global_name': 'DOCUMENTS_ROTATION_STEP', 'default': 90, 'description': _('Amount in degrees to rotate a document page per user interaction.')},
        #
        {'name': 'CACHE_PATH', 'global_name': 'DOCUMENTS_CACHE_PATH', 'default': os.path.join(settings.MEDIA_ROOT, 'image_cache'), 'exists': True},
        {'name': 'LANGUAGE', 'global_name': 'DOCUMENTS_LANGUAGE', 'default': 'eng', 'description': _('Default documents language (in ISO639-2 format).')},
        {'name': 'LANGUAGE_CHOICES', 'global_name': 'DOCUMENTS_LANGUAGE_CHOICES', 'default': LANGUAGE_CHOICES, 'description': _('List of supported document languages.')},
    ]
)