from marshmallow.exceptions import ValidationError import config from .db.BingoPostgresAdapter import BingoPostgresAdapter from .db.models import LibraryMeta, User as Usermodel from .db.database import db_session from .common.util import item_to_sdf_chunk, merge_dicts, api_route from .celery_app import celery from .validation import LibrarySchema, SearcherSchema, UserSchema libraries_api = Blueprint('libraries_api', __name__) if not os.path.exists(config.__dict__['UPLOAD_FOLDER']): os.makedirs(config.__dict__['UPLOAD_FOLDER']) libraries_api.indigo = Indigo() libraries_api.renderer = IndigoRenderer(libraries_api.indigo) libraries_api.indigo_inchi = IndigoInchi(libraries_api.indigo) libraries_api.config = config.__dict__ libraries_api.adapter = BingoPostgresAdapter(libraries_api.config, libraries_api.indigo, libraries_api.indigo_inchi) libraries_api.redis = redis.StrictRedis(host='localhost', port=6379, db=0) libraries_api_app = flask_restful.Api(libraries_api) libraries_api_logger = logging.getLogger('libraries') #libraries_api_logger.addHandler(logging.FileHandler('/srv/api/app.log')) auth = HTTPBasicAuth() libraries_api_app.route = types.MethodType(api_route, libraries_api_app) @auth.verify_password
import traceback import types from indigo import Indigo from indigo_renderer import IndigoRenderer from indigo_inchi import IndigoInchi from .celery_app import celery import config from .common.util import api_route imago_api = Blueprint('imago', __name__) imago_api_logger = logging.getLogger('imago') imago_api.config = config.__dict__ imago_api.indigo = Indigo() imago_api.renderer = IndigoRenderer(imago_api.indigo) imago_api.indigo_inchi = IndigoInchi(imago_api.indigo) imago_api_app = flask_restful.Api(imago_api) imago_api_app.route = types.MethodType(api_route, imago_api_app) allowed_types = imago_api.config['ALLOWED_TYPES'] versions = [] with open('/srv/service_version', 'r') as ver: for line in ver.readlines(): if line.startswith("imago-console-"): versions.append(re.search('imago-console-(.*)\..*', line).group(1)) @celery.task(bind=True) def recognize_image(self, args):