Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import os
- import time
- import traceback
- import logging
- import logging.config
- import yaml
- from subprocess import Popen, PIPE
- def setup_logging(
- default_path='logging.yaml',
- default_level=logging.INFO,
- env_key='LOG_CFG'
- ):
- """Setup logging configuration"""
- path = default_path
- value = os.getenv(env_key, None)
- if value:
- path = value
- if os.path.exists(path):
- with open(path, 'rt') as f:
- config = yaml.safe_load(f.read())
- logging.config.dictConfig(config)
- else:
- logging.basicConfig(level=default_level)
- # logging setup
- setup_logging()
- log = logging.getLogger('EmberMediaManager')
- log.info("Ranarr Ember Media Manager post-processing script started.")
- # Ember Media Manager installation path (MUST BET SET AS AN ENV VARIABLE)
- app_path = os.environ.get('EmberMediaManager')
- if not app_path:
- log.info("You MUST set EmberMediaManager an env and point to executable")
- else:
- # build command to run Ember Media Manager and update / scrape new Movie
- command = []
- command.append(app_path)
- command.append(u'-profile')
- command.append(u'redglory')
- command.append(u'-scanfolder')
- command.append(u'"{}"'.format(os.environ.get('Radarr_Movie_Path')))
- command.append(u'-scrapemovies')
- command.append(u'newauto')
- command.append(u'all')
- command.append(u'-nowindow')
- startTime = time.time()
- log.info("Starting Ember Media Manager with application arguments: %s", str(command))
- log.info("Movie Title: %s", os.environ.get('Radarr_Movie_Title'))
- log.info("Movie Full Path: %s", os.environ.get('Radarr_Movie_Path'))
- log.info("Movie IMDB ID: %s", os.environ.get('Radarr_Movie_ImdbId'))
- try:
- p = Popen(command, stdout=PIPE, stderr=PIPE)
- log.info("Ember Media Manager: running on PID: (" + str(p.pid) + ")")
- output, error = p.communicate()
- if p.returncode == 0:
- endTime = time.time()
- log.info("Ember Media Manager ran sucessfully for: %s seconds", str(int(endTime - startTime)))
- else:
- log.error("Ember Media Manager failed with: %d %s %s" % (p.returncode, output, error))
- except:
- log.error("Oh No! Something went wrong!: %s", traceback.format_exc())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement