added epg path option

This commit is contained in:
DYefremov
2022-05-31 18:27:11 +03:00
parent 97f04999c4
commit 0140fb4eb4
3 changed files with 778 additions and 730 deletions

View File

@@ -39,9 +39,9 @@ from textwrap import dedent
SEP = os.sep SEP = os.sep
HOME_PATH = str(Path.home()) HOME_PATH = str(Path.home())
CONFIG_PATH = HOME_PATH + "{}.config{}demon-editor{}".format(SEP, SEP, SEP) CONFIG_PATH = HOME_PATH + f"{SEP}.config{SEP}demon-editor{SEP}"
CONFIG_FILE = CONFIG_PATH + "config.json" CONFIG_FILE = CONFIG_PATH + "config.json"
DATA_PATH = HOME_PATH + "{}DemonEditor{}".format(SEP, SEP) DATA_PATH = HOME_PATH + f"{SEP}DemonEditor{SEP}"
GTK_PATH = os.environ.get("GTK_PATH", None) GTK_PATH = os.environ.get("GTK_PATH", None)
IS_DARWIN = sys.platform == "darwin" IS_DARWIN = sys.platform == "darwin"
@@ -61,6 +61,7 @@ class Defaults(Enum):
# Enigma2. # Enigma2.
BOX_SERVICES_PATH = "/etc/enigma2/" BOX_SERVICES_PATH = "/etc/enigma2/"
BOX_SATELLITE_PATH = "/etc/tuxbox/" BOX_SATELLITE_PATH = "/etc/tuxbox/"
BOX_EPG_PATH = "/etc/enigma2/"
BOX_PICON_PATH = "/usr/share/enigma2/picon/" BOX_PICON_PATH = "/usr/share/enigma2/picon/"
BOX_PICON_PATHS = ("/usr/share/enigma2/picon/", BOX_PICON_PATHS = ("/usr/share/enigma2/picon/",
"/media/hdd/picon/", "/media/hdd/picon/",
@@ -73,8 +74,8 @@ class Defaults(Enum):
NEUTRINO_BOX_PICON_PATH = "/usr/share/tuxbox/neutrino/icons/logo/" NEUTRINO_BOX_PICON_PATH = "/usr/share/tuxbox/neutrino/icons/logo/"
NEUTRINO_BOX_PICON_PATHS = ("/usr/share/tuxbox/neutrino/icons/logo/",) NEUTRINO_BOX_PICON_PATHS = ("/usr/share/tuxbox/neutrino/icons/logo/",)
# Paths. # Paths.
BACKUP_PATH = "{}backup{}".format(DATA_PATH, SEP) BACKUP_PATH = f"{DATA_PATH}backup{SEP}"
PICON_PATH = "{}picons{}".format(DATA_PATH, SEP) PICON_PATH = f"{DATA_PATH}picons{SEP}"
DEFAULT_PROFILE = "default" DEFAULT_PROFILE = "default"
BACKUP_BEFORE_DOWNLOADING = True BACKUP_BEFORE_DOWNLOADING = True
@@ -94,9 +95,9 @@ class Defaults(Enum):
STREAM_LIB = "mpv" if IS_WIN else "vlc" STREAM_LIB = "mpv" if IS_WIN else "vlc"
MAIN_LIST_PLAYBACK = False MAIN_LIST_PLAYBACK = False
PROFILE_FOLDER_DEFAULT = False PROFILE_FOLDER_DEFAULT = False
RECORDS_PATH = DATA_PATH + "records{}".format(SEP) RECORDS_PATH = f"{DATA_PATH}records{SEP}"
ACTIVATE_TRANSCODING = False ACTIVATE_TRANSCODING = False
ACTIVE_TRANSCODING_PRESET = "720p TV{}device".format(SEP) ACTIVE_TRANSCODING_PRESET = f"720p TV{SEP}device"
class SettingsType(IntEnum): class SettingsType(IntEnum):
@@ -110,12 +111,14 @@ class SettingsType(IntEnum):
srv_path = Defaults.BOX_SERVICES_PATH.value srv_path = Defaults.BOX_SERVICES_PATH.value
sat_path = Defaults.BOX_SATELLITE_PATH.value sat_path = Defaults.BOX_SATELLITE_PATH.value
picons_path = Defaults.BOX_PICON_PATH.value picons_path = Defaults.BOX_PICON_PATH.value
epg_path = Defaults.BOX_EPG_PATH.value
http_timeout = 5 http_timeout = 5
telnet_timeout = 5 telnet_timeout = 5
else: else:
srv_path = Defaults.NEUTRINO_BOX_SERVICES_PATH.value srv_path = Defaults.NEUTRINO_BOX_SERVICES_PATH.value
sat_path = Defaults.NEUTRINO_BOX_SATELLITE_PATH.value sat_path = Defaults.NEUTRINO_BOX_SATELLITE_PATH.value
picons_path = Defaults.NEUTRINO_BOX_PICON_PATH.value picons_path = Defaults.NEUTRINO_BOX_PICON_PATH.value
epg_path = ""
http_timeout = 2 http_timeout = 2
telnet_timeout = 1 telnet_timeout = 1
@@ -133,6 +136,7 @@ class SettingsType(IntEnum):
"services_path": srv_path, "services_path": srv_path,
"user_bouquet_path": srv_path, "user_bouquet_path": srv_path,
"satellites_xml_path": sat_path, "satellites_xml_path": sat_path,
"epg_dat_path": epg_path,
"picons_path": picons_path} "picons_path": picons_path}
@@ -359,6 +363,14 @@ class Settings:
def satellites_xml_path(self, value): def satellites_xml_path(self, value):
self._cp_settings["satellites_xml_path"] = value self._cp_settings["satellites_xml_path"] = value
@property
def epg_dat_path(self):
return self._cp_settings.get("epg_dat_path", self.get_default("epg_dat_path"))
@epg_dat_path.setter
def epg_dat_path(self, value):
self._cp_settings["epg_dat_path"] = value
@property @property
def picons_path(self): def picons_path(self):
return self._cp_settings.get("picons_path", self.get_default("picons_path")) return self._cp_settings.get("picons_path", self.get_default("picons_path"))
@@ -703,6 +715,14 @@ class Settings:
def display_picons(self, value): def display_picons(self, value):
self._settings["display_picons"] = value self._settings["display_picons"] = value
@property
def display_epg(self):
return self._settings.get("display_epg", False)
@display_epg.setter
def display_epg(self, value):
self._settings["display_epg"] = value
@property @property
def alternate_layout(self): def alternate_layout(self):
return self._settings.get("alternate_layout", IS_DARWIN) return self._settings.get("alternate_layout", IS_DARWIN)

File diff suppressed because it is too large Load Diff

View File

@@ -112,6 +112,7 @@ class SettingsDialog:
self._services_field = builder.get_object("services_field") self._services_field = builder.get_object("services_field")
self._user_bouquet_field = builder.get_object("user_bouquet_field") self._user_bouquet_field = builder.get_object("user_bouquet_field")
self._satellites_xml_field = builder.get_object("satellites_xml_field") self._satellites_xml_field = builder.get_object("satellites_xml_field")
self._epg_dat_box = builder.get_object("epg_dat_box")
self._picons_paths_box = builder.get_object("picons_paths_box") self._picons_paths_box = builder.get_object("picons_paths_box")
self._remove_picon_path_button = builder.get_object("remove_picon_path_button") self._remove_picon_path_button = builder.get_object("remove_picon_path_button")
# Paths. # Paths.
@@ -191,7 +192,7 @@ class SettingsDialog:
self._profile_remove_button = builder.get_object("profile_remove_button") self._profile_remove_button = builder.get_object("profile_remove_button")
# Network. # Network.
# Separated due to a bug with response (presumably in the builder) in ubuntu 18.04 and derivatives. # Separated due to a bug with response (presumably in the builder) in ubuntu 18.04 and derivatives.
builder.get_object("network_settings_frame").add(builder.get_object("network_box")) builder.get_object("network_settings_frame").add(builder.get_object("network_grid"))
# Style. # Style.
self._style_provider = Gtk.CssProvider() self._style_provider = Gtk.CssProvider()
self._style_provider.load_from_path(UI_RESOURCES_PATH + "style.css") self._style_provider.load_from_path(UI_RESOURCES_PATH + "style.css")
@@ -305,6 +306,7 @@ class SettingsDialog:
self._services_field.set_text(self._settings.services_path) self._services_field.set_text(self._settings.services_path)
self._user_bouquet_field.set_text(self._settings.user_bouquet_path) self._user_bouquet_field.set_text(self._settings.user_bouquet_path)
self._satellites_xml_field.set_text(self._settings.satellites_xml_path) self._satellites_xml_field.set_text(self._settings.satellites_xml_path)
self._epg_dat_box.set_active_id(self._settings.epg_dat_path)
self._picons_paths_box.set_active_id(self._settings.picons_path) self._picons_paths_box.set_active_id(self._settings.picons_path)
self._data_path_field.set_text(self._settings.default_data_path) self._data_path_field.set_text(self._settings.default_data_path)
self._picons_path_field.set_text(self._settings.default_picon_path) self._picons_path_field.set_text(self._settings.default_picon_path)
@@ -368,7 +370,7 @@ class SettingsDialog:
self._settings.telnet_timeout = int(self._telnet_timeout_spin_button.get_value()) self._settings.telnet_timeout = int(self._telnet_timeout_spin_button.get_value())
self._settings.services_path = self._services_field.get_text() self._settings.services_path = self._services_field.get_text()
self._settings.user_bouquet_path = self._user_bouquet_field.get_text() self._settings.user_bouquet_path = self._user_bouquet_field.get_text()
self._settings.satellites_xml_path = self._satellites_xml_field.get_text() self._settings.epg_dat_path = self._epg_dat_box.get_active_id()
self._settings.picons_path = self._picons_paths_box.get_active_id() self._settings.picons_path = self._picons_paths_box.get_active_id()
def on_save_settings(self, item=None): def on_save_settings(self, item=None):