From ca6acb3942529bf4dd0780e92cc0396e6090c922 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 2 Jul 2014 16:47:32 -0400 Subject: [PATCH] Update from pbs to sh as pbs is now obsolete --- mayan/apps/installation/classes.py | 21 ++++----------------- mayan/apps/installation/literals.py | 10 ++++++++++ mayan/apps/installation/models.py | 28 ++++++++++++---------------- requirements/common.txt | 2 +- setup.py | 4 +++- 5 files changed, 30 insertions(+), 35 deletions(-) create mode 100644 mayan/apps/installation/literals.py diff --git a/mayan/apps/installation/classes.py b/mayan/apps/installation/classes.py index 33cfbdeff5..3807dc8dab 100644 --- a/mayan/apps/installation/classes.py +++ b/mayan/apps/installation/classes.py @@ -4,12 +4,12 @@ from collections import namedtuple from json import dumps import os -import pbs +import sh try: - from pbs import pip + from sh import pip PIP = True -except pbs.CommandNotFound: +except sh.CommandNotFound: PIP = False from django.conf import settings @@ -116,19 +116,6 @@ class VirtualEnv(object): return Dependency(package, version, standard=True) def get_packages_info(self, requirements_file=None): - if requirements_file: - try: - with open(requirements_file) as file_in: - for line in file_in.readlines(): - yield self.extract_dependency(line) - except IOError: - # A requirement file was specified but not found or unable - # to be read - self.get_environment_packages() - else: - self.get_environment_packages() - - def get_environment_packages(self): for item in pip('freeze').splitlines(): yield self.extract_dependency(item) @@ -141,7 +128,7 @@ class VirtualEnv(object): requirements = {} installed_packages = {} - for item in self.get_packages_info(self.requirements_file_path): + for item in self.get_packages_info(): requirements[item.name] = item for item in self.get_packages_info(): diff --git a/mayan/apps/installation/literals.py b/mayan/apps/installation/literals.py new file mode 100644 index 0000000000..bfff2fd680 --- /dev/null +++ b/mayan/apps/installation/literals.py @@ -0,0 +1,10 @@ +import os + +from django.conf import settings + + +FORM_SUBMIT_URL = 'https://docs.google.com/spreadsheet/formResponse' +FORM_KEY = 'dGZrYkw3SDl5OENMTG15emp1UFFEUWc6MQ' +FORM_RECEIVER_FIELD = 'entry.0.single' +TIMEOUT = 5 +FABFILE_MARKER = os.path.join(settings.BASE_DIR, 'fabfile_install') diff --git a/mayan/apps/installation/models.py b/mayan/apps/installation/models.py index f53a3bd57a..28ea76dcc5 100644 --- a/mayan/apps/installation/models.py +++ b/mayan/apps/installation/models.py @@ -6,14 +6,14 @@ import platform import uuid import time -import pbs +from git import Repo import psutil import requests -from git import Repo +import sh try: - from pbs import lsb_release, uname -except pbs.CommandNotFound: + from sh import lsb_release, uname +except sh.CommandNotFound: LSB = False else: LSB = True @@ -31,12 +31,8 @@ from lock_manager import Lock, LockError from ocr.conf.settings import TESSERACT_PATH, UNPAPER_PATH, PDFTOTEXT_PATH from .classes import Property, PropertyNamespace, VirtualEnv, PIPNotFound - -FORM_SUBMIT_URL = 'https://docs.google.com/spreadsheet/formResponse' -FORM_KEY = 'dGZrYkw3SDl5OENMTG15emp1UFFEUWc6MQ' -FORM_RECEIVER_FIELD = 'entry.0.single' -TIMEOUT = 5 -FABFILE_MARKER = os.path.join(settings.BASE_DIR, 'fabfile_install') +from .literals import (FORM_SUBMIT_URL, FORM_KEY, FORM_RECEIVER_FIELD, + TIMEOUT, FABFILE_MARKER) class Installation(Singleton): @@ -77,26 +73,26 @@ class Installation(Singleton): def binary_dependencies(self): namespace = PropertyNamespace('bins', _(u'Binary dependencies')) - tesseract = pbs.Command(TESSERACT_PATH) + tesseract = sh.Command(TESSERACT_PATH) try: namespace.add_property('tesseract', _(u'tesseract version'), tesseract('-v').stderr, report=True) - except pbs.CommandNotFound: + except sh.CommandNotFound: namespace.add_property('tesseract', _(u'tesseract version'), _(u'not found'), report=True) except Exception: namespace.add_property('tesseract', _(u'tesseract version'), _(u'error getting version'), report=True) - unpaper = pbs.Command(UNPAPER_PATH) + unpaper = sh.Command(UNPAPER_PATH) try: namespace.add_property('unpaper', _(u'unpaper version'), unpaper('-V').stdout, report=True) - except pbs.CommandNotFound: + except sh.CommandNotFound: namespace.add_property('unpaper', _(u'unpaper version'), _(u'not found'), report=True) except Exception: namespace.add_property('unpaper', _(u'unpaper version'), _(u'error getting version'), report=True) - pdftotext = pbs.Command(PDFTOTEXT_PATH) + pdftotext = sh.Command(PDFTOTEXT_PATH) try: namespace.add_property('pdftotext', _(u'pdftotext version'), pdftotext('-v').stderr, report=True) - except pbs.CommandNotFound: + except sh.CommandNotFound: namespace.add_property('pdftotext', _(u'pdftotext version'), _(u'not found'), report=True) except Exception: namespace.add_property('pdftotext', _(u'pdftotext version'), _(u'error getting version'), report=True) diff --git a/requirements/common.txt b/requirements/common.txt index 01b546f758..9ab2e2b0bb 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -16,7 +16,6 @@ ghostscript==0.4.1 Pillow==2.4.0 PyYAML==3.10 -pbs==0.105 pdfminer==20110227 psutil==0.5.1 pytz==2014.4 @@ -26,6 +25,7 @@ python-magic==0.4.6 requests==0.14.1 +sh==1.09 slate==0.3 South==0.8.4 diff --git a/setup.py b/setup.py index 9e3831f3d1..979f4028db 100644 --- a/setup.py +++ b/setup.py @@ -72,9 +72,11 @@ install_requires = [ 'python-gnupg==0.3.6', 'python-hkp==0.1.3', 'python-magic==0.4.6', +'pytz==2014.4', 'requests==0.14.1', -'slate==0.3', 'South==0.8.4', +'sh==1.09', +'slate==0.3', 'unicode-slugify==0.1', 'wsgiref==0.1.2', ]