Source code for flexget.plugins.generic.cron_env
import sys
from loguru import logger
from flexget.event import event
from flexget.utils.log import log_once
from flexget.utils.simple_persistence import SimplePersistence
__author__ = 'paranoidi'
logger = logger.bind(name='cron_env')
[docs]
@event('manager.execute.started')
def check_env(manager, options):
persistence = SimplePersistence(plugin='cron_env')
encoding = sys.getfilesystemencoding()
if options.cron:
if 'terminal_encoding' in persistence:
terminal_encoding = persistence['terminal_encoding']
if terminal_encoding.lower() != encoding.lower():
logger.warning(
'Your cron environment has different filesystem encoding ({}) compared to your terminal environment ({}).',
encoding,
terminal_encoding,
)
if encoding == 'ANSI_X3.4-1968':
logger.warning(
'Your current cron environment results filesystem encoding ANSI_X3.4-1968 '
'which supports only ASCII letters in filenames.'
)
else:
log_once('Good! Your crontab environment seems to be same as terminal.')
else:
logger.info('Please run FlexGet manually once for environment verification purposes.')
else:
logger.debug('Encoding {} stored', encoding)
persistence['terminal_encoding'] = encoding