locales for media-monitor
This commit is contained in:
parent
41aeec8a21
commit
d7b6146ef9
1 changed files with 30 additions and 16 deletions
|
@ -7,6 +7,8 @@ import signal
|
||||||
import traceback
|
import traceback
|
||||||
import locale
|
import locale
|
||||||
|
|
||||||
|
from configobj import ConfigObj
|
||||||
|
|
||||||
from api_clients import api_client as apc
|
from api_clients import api_client as apc
|
||||||
from std_err_override import LogWriter
|
from std_err_override import LogWriter
|
||||||
|
|
||||||
|
@ -23,6 +25,33 @@ from airtimefilemonitor.mediaconfig import AirtimeMediaConfig
|
||||||
from airtimefilemonitor.workerprocess import MediaMonitorWorkerProcess
|
from airtimefilemonitor.workerprocess import MediaMonitorWorkerProcess
|
||||||
from airtimefilemonitor.airtimemediamonitorbootstrap import AirtimeMediaMonitorBootstrap
|
from airtimefilemonitor.airtimemediamonitorbootstrap import AirtimeMediaMonitorBootstrap
|
||||||
|
|
||||||
|
def get_locale():
|
||||||
|
current_locale = locale.getlocale()
|
||||||
|
|
||||||
|
if current_locale[1] is None:
|
||||||
|
logger.debug("No locale currently set. Attempting to get default locale.")
|
||||||
|
default_locale = locale.getdefaultlocale()
|
||||||
|
|
||||||
|
if default_locale[1] is None:
|
||||||
|
logger.debug("No default locale exists. Let's try loading from /etc/default/locale")
|
||||||
|
if os.path.exists("/etc/default/locale"):
|
||||||
|
config = ConfigObj('/etc/default/locale')
|
||||||
|
lang = config.get('LANG')
|
||||||
|
new_locale = lang
|
||||||
|
else:
|
||||||
|
logger.error("/etc/default/locale could not be found! Please run 'sudo update-locale' from command-line.")
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
new_locale = default_locale
|
||||||
|
|
||||||
|
logger.debug("New locale set to: " + locale.setlocale(locale.LC_ALL, new_locale))
|
||||||
|
|
||||||
|
|
||||||
|
current_locale_encoding = locale.getlocale()[1].lower()
|
||||||
|
|
||||||
|
if current_locale_encoding not in ['utf-8', 'utf8']:
|
||||||
|
logger.error("Need a UTF-8 locale. Currently '%s'. Exiting..." % current_locale_encoding)
|
||||||
|
|
||||||
# configure logging
|
# configure logging
|
||||||
try:
|
try:
|
||||||
logging.config.fileConfig("logging.cfg")
|
logging.config.fileConfig("logging.cfg")
|
||||||
|
@ -41,16 +70,7 @@ logger.info("\n\n*** Media Monitor bootup ***\n\n")
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fs_encoding = locale.getdefaultlocale()[1]
|
get_locale()
|
||||||
if fs_encoding is not None:
|
|
||||||
if fs_encoding not in ['utf-8', 'utf8']:
|
|
||||||
logger.error("Filesystem encoding needs to be UTF-8. Currently '%s'. Exiting..." % fs_encoding)
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
|
||||||
logger.debug("Filesystem encoding: '%s'" % fs_encoding)
|
|
||||||
else:
|
|
||||||
logger.debug("Unknown encoding")
|
|
||||||
|
|
||||||
|
|
||||||
config = AirtimeMediaConfig(logger)
|
config = AirtimeMediaConfig(logger)
|
||||||
api_client = apc.api_client_factory(config.cfg)
|
api_client = apc.api_client_factory(config.cfg)
|
||||||
|
@ -72,12 +92,6 @@ try:
|
||||||
|
|
||||||
multi_queue = mpQueue()
|
multi_queue = mpQueue()
|
||||||
logger.info("Initializing event processor")
|
logger.info("Initializing event processor")
|
||||||
except Exception, e:
|
|
||||||
logger.error('Exception: %s', e)
|
|
||||||
logger.error("traceback: %s", traceback.format_exc())
|
|
||||||
|
|
||||||
try:
|
|
||||||
|
|
||||||
|
|
||||||
wm = WatchManager()
|
wm = WatchManager()
|
||||||
mmc = MediaMonitorCommon(config, wm=wm)
|
mmc = MediaMonitorCommon(config, wm=wm)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue