diff --git a/HISTORY.rst b/HISTORY.rst index e7a2169b23..23977f1943 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -153,7 +153,8 @@ django_gpg app. - Updated the django_gpg app to work with the latest version of the python-gnupg package (0.4.3). - +- Set sensible default path for binaries by detecting + the operating system. 3.1.9 (2018-11-01) ================== diff --git a/mayan/apps/converter/literals.py b/mayan/apps/converter/literals.py index f631e9bb58..3f36cf6500 100644 --- a/mayan/apps/converter/literals.py +++ b/mayan/apps/converter/literals.py @@ -1,14 +1,21 @@ from __future__ import unicode_literals +import platform + CHUNK_SIZE = 1024 -DEFAULT_ZOOM_LEVEL = 100 -DEFAULT_ROTATION = 0 -DEFAULT_PAGE_NUMBER = 1 -DEFAULT_PILLOW_FORMAT = 'JPEG' -DEFAULT_LIBREOFFICE_PATH = '/usr/bin/libreoffice' +if platform.system() == 'OpenBSD': + DEFAULT_LIBREOFFICE_PATH = '/usr/local/bin/libreoffice' + DEFAULT_PDFINFO_PATH = '/usr/local/bin/pdfinfo' + DEFAULT_PDFTOPPM_PATH = '/usr/local/bin/pdftoppm' +else: + DEFAULT_LIBREOFFICE_PATH = '/usr/bin/libreoffice' + DEFAULT_PDFINFO_PATH = '/usr/bin/pdfinfo' + DEFAULT_PDFTOPPM_PATH = '/usr/bin/pdftoppm' +DEFAULT_PAGE_NUMBER = 1 DEFAULT_PDFTOPPM_DPI = 300 DEFAULT_PDFTOPPM_FORMAT = 'jpeg' # Possible values jpeg, png, tiff -DEFAULT_PDFTOPPM_PATH = '/usr/bin/pdftoppm' -DEFAULT_PDFINFO_PATH = '/usr/bin/pdfinfo' +DEFAULT_PILLOW_FORMAT = 'JPEG' +DEFAULT_ROTATION = 0 +DEFAULT_ZOOM_LEVEL = 100 diff --git a/mayan/apps/django_gpg/literals.py b/mayan/apps/django_gpg/literals.py index 108a94bb6b..9567ea6987 100644 --- a/mayan/apps/django_gpg/literals.py +++ b/mayan/apps/django_gpg/literals.py @@ -1,8 +1,14 @@ from __future__ import unicode_literals +import platform + from django.utils.translation import ugettext_lazy as _ -DEFAULT_GPG_PATH = '/usr/bin/gpg1' +if platform.system() == 'OpenBSD': + DEFAULT_GPG_PATH = '/usr/local/bin/gpg' +else: + DEFAULT_GPG_PATH = '/usr/bin/gpg1' + DEFAULT_SETTING_GPG_BACKEND = 'mayan.apps.django_gpg.classes.PythonGNUPGBackend' ERROR_MSG_BAD_PASSPHRASE = 'BAD_PASSPHRASE' diff --git a/mayan/apps/document_parsing/literals.py b/mayan/apps/document_parsing/literals.py new file mode 100644 index 0000000000..4de1072ce4 --- /dev/null +++ b/mayan/apps/document_parsing/literals.py @@ -0,0 +1,8 @@ +from __future__ import unicode_literals + +import platform + +if platform.system() == 'OpenBSD': + DEFAULT_PDFTOTEXT_PATH = '/usr/local/bin/pdftotext' +else: + DEFAULT_PDFTOTEXT_PATH = '/usr/bin/pdftotext' diff --git a/mayan/apps/document_parsing/settings.py b/mayan/apps/document_parsing/settings.py index 1e9dd9f368..fd920cafcc 100644 --- a/mayan/apps/document_parsing/settings.py +++ b/mayan/apps/document_parsing/settings.py @@ -4,6 +4,8 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.smart_settings import Namespace +from .literals import DEFAULT_PDFTOTEXT_PATH + namespace = Namespace(name='document_parsing', label=_('Document parsing')) setting_auto_parsing = namespace.add_setting( @@ -14,7 +16,7 @@ setting_auto_parsing = namespace.add_setting( ) setting_pdftotext_path = namespace.add_setting( global_name='DOCUMENT_PARSING_PDFTOTEXT_PATH', - default='/usr/bin/pdftotext', + default=DEFAULT_PDFTOTEXT_PATH, help_text=_( 'File path to poppler\'s pdftotext program used to extract text ' 'from PDF files.' diff --git a/mayan/apps/sources/literals.py b/mayan/apps/sources/literals.py index ee01737193..40097ba537 100644 --- a/mayan/apps/sources/literals.py +++ b/mayan/apps/sources/literals.py @@ -1,7 +1,14 @@ from __future__ import unicode_literals +import platform + from django.utils.translation import ugettext_lazy as _ +if platform.system() == 'OpenBSD': + DEFAULT_SCANIMAGE_PATH = '/usr/local/bin/scanimage' +else: + DEFAULT_SCANIMAGE_PATH = '/usr/bin/scanimage' + DEFAULT_IMAP_MAILBOX = 'INBOX' DEFAULT_INTERVAL = 600 DEFAULT_METADATA_ATTACHMENT_NAME = 'metadata.yaml' diff --git a/mayan/apps/sources/settings.py b/mayan/apps/sources/settings.py index f35e989e67..4bf8778ac7 100644 --- a/mayan/apps/sources/settings.py +++ b/mayan/apps/sources/settings.py @@ -7,10 +7,12 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.smart_settings import Namespace +from .literals import DEFAULT_SCANIMAGE_PATH + namespace = Namespace(name='sources', label=_('Sources')) setting_scanimage_path = namespace.add_setting( - global_name='SOURCES_SCANIMAGE_PATH', default='/usr/bin/scanimage', + global_name='SOURCES_SCANIMAGE_PATH', default=DEFAULT_SCANIMAGE_PATH, help_text=_( 'File path to the scanimage program used to control image scanners.' ),