Make zencoder and algolia optional packages
If zencoder is not set as ENCODING_BACKEND this can cause issues, but at least it is possible to run Pillar without the zencoder package installed. Also, we load the algolia module using the new SEARCH_BACKEND config setting.
This commit is contained in:
parent
9e6bd9c219
commit
ee95abb62a
@ -4,7 +4,6 @@ import os
|
|||||||
import tempfile
|
import tempfile
|
||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from zencoder import Zencoder
|
|
||||||
from flask import g
|
from flask import g
|
||||||
from flask import request
|
from flask import request
|
||||||
from flask import abort
|
from flask import abort
|
||||||
@ -137,7 +136,7 @@ except KeyError:
|
|||||||
raise SystemExit('GCLOUD_PROJECT configuration value is missing')
|
raise SystemExit('GCLOUD_PROJECT configuration value is missing')
|
||||||
|
|
||||||
# Algolia search
|
# Algolia search
|
||||||
if 'ALGOLIA_USER' in app.config:
|
if app.config['SEARCH_BACKEND'] == 'algolia':
|
||||||
from algoliasearch import algoliasearch
|
from algoliasearch import algoliasearch
|
||||||
|
|
||||||
client = algoliasearch.Client(
|
client = algoliasearch.Client(
|
||||||
@ -151,6 +150,7 @@ else:
|
|||||||
|
|
||||||
# Encoding backend
|
# Encoding backend
|
||||||
if app.config['ENCODING_BACKEND'] == 'zencoder':
|
if app.config['ENCODING_BACKEND'] == 'zencoder':
|
||||||
|
from zencoder import Zencoder
|
||||||
encoding_service_client = Zencoder(app.config['ZENCODER_API_KEY'])
|
encoding_service_client = Zencoder(app.config['ZENCODER_API_KEY'])
|
||||||
else:
|
else:
|
||||||
encoding_service_client = None
|
encoding_service_client = None
|
||||||
|
@ -2,7 +2,6 @@ import logging
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
from zencoder import Zencoder
|
|
||||||
|
|
||||||
from application import encoding_service_client
|
from application import encoding_service_client
|
||||||
|
|
||||||
@ -18,13 +17,13 @@ class Encoder:
|
|||||||
def job_create(src_file):
|
def job_create(src_file):
|
||||||
"""Create an encoding job. Return the backend used as well as an id.
|
"""Create an encoding job. Return the backend used as well as an id.
|
||||||
"""
|
"""
|
||||||
|
if current_app.config['ENCODING_BACKEND'] != 'zencoder' or \
|
||||||
if not isinstance(encoding_service_client, Zencoder):
|
encoding_service_client is None:
|
||||||
log.error('I can only work with Zencoder, not with %r', encoding_service_client)
|
log.error('I can only work with Zencoder, check the config file.')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if src_file['backend'] != 'gcs':
|
if src_file['backend'] != 'gcs':
|
||||||
log.error("Unable to work with storage backend %r", src_file['backend'])
|
log.error('Unable to work with storage backend %r', src_file['backend'])
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# Build the specific GCS input url, assuming the file is stored
|
# Build the specific GCS input url, assuming the file is stored
|
||||||
|
@ -51,6 +51,8 @@ ALGOLIA_API_KEY = '-SECRET-'
|
|||||||
ALGOLIA_INDEX_USERS = 'dev_Users'
|
ALGOLIA_INDEX_USERS = 'dev_Users'
|
||||||
ALGOLIA_INDEX_NODES = 'dev_Nodes'
|
ALGOLIA_INDEX_NODES = 'dev_Nodes'
|
||||||
|
|
||||||
|
SEARCH_BACKEND = 'algolia' # algolia, elastic
|
||||||
|
|
||||||
ZENCODER_API_KEY = '-SECRET-'
|
ZENCODER_API_KEY = '-SECRET-'
|
||||||
ZENCODER_NOTIFICATIONS_SECRET = '-SECRET-'
|
ZENCODER_NOTIFICATIONS_SECRET = '-SECRET-'
|
||||||
ZENCODER_NOTIFICATIONS_URL = 'http://zencoderfetcher/'
|
ZENCODER_NOTIFICATIONS_URL = 'http://zencoderfetcher/'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user