bazarr/bazarr/config.py

80 lines
2.3 KiB
Python
Raw Normal View History

2018-12-14 22:18:52 +00:00
# coding=utf-8
import os
import configparser
from get_argv import config_dir
class _ConfigSection(object):
"""Hold settings for a section of the configuration file."""
def __getattr__(self, attr):
if attr in self.__dict__:
return self.__dict__[attr]
else:
raise AttributeError('No "%s" setting in section.' % attr)
def __getitem__(self, item):
return getattr(self, item)
def __repr__(self):
return str(tuple(self.__dict__.keys()))
def read(config_file):
"""Read settings from file and return a dot notation object."""
config = configparser.ConfigParser()
config.read(unicode(config_file))
dotini = _ConfigSection()
for section in config.sections():
s = _ConfigSection()
for key, value in config.items(section):
if value == "True":
value = True
elif value == "False":
value = False
setattr(s, key, value)
setattr(dotini, section, s)
return dotini
settings = read(os.path.join(os.path.join(config_dir, 'config', 'config.ini')))
2018-12-15 00:36:28 +00:00
base_url = settings.general.base_url
2018-12-14 22:18:52 +00:00
# sonarr url
if settings.sonarr.ssl:
protocol_sonarr = "https"
else:
protocol_sonarr = "http"
if settings.sonarr.base_url == '':
settings.sonarr.base_url = "/"
if not settings.sonarr.base_url.startswith("/"):
settings.sonarr.base_url = "/" + settings.sonarr.base_url
if settings.sonarr.base_url.endswith("/"):
settings.sonarr.base_url = settings.sonarr.base_url[:-1]
url_sonarr = protocol_sonarr + "://" + settings.sonarr.ip + ":" + settings.sonarr.port + settings.sonarr.base_url
url_sonarr_short = protocol_sonarr + "://" + settings.sonarr.ip + ":" + settings.sonarr.port
# radarr url
if settings.radarr.ssl:
protocol_radarr = "https"
else:
protocol_radarr = "http"
if settings.radarr.base_url == '':
settings.radarr.base_url = "/"
if not settings.radarr.base_url.startswith("/"):
settings.radarr.base_url = "/" + settings.radarr.base_url
if settings.radarr.base_url.endswith("/"):
settings.radarr.base_url = settings.radarr.base_url[:-1]
url_radarr = protocol_radarr + "://" + settings.radarr.ip + ":" + settings.radarr.port + settings.radarr.base_url
url_radarr_short = protocol_radarr + "://" + settings.radarr.ip + ":" + settings.radarr.port