Added base code for settings

This commit is contained in:
2019-06-17 06:01:55 -05:00
parent 26f2da1e6d
commit 0447974029
9 changed files with 139 additions and 18 deletions

View File

@@ -4,4 +4,4 @@ import config
from . import youtube, zaycev
# conditional imports
if config.app != None and config.app["services"]["tidal"]["username"] != "" and config.app["services"]["tidal"]["password"] != "":
from . import tidal
from . import tidal

View File

@@ -1,6 +1,10 @@
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from __future__ import unicode_literals # at top of module
import logging
import wx
import config
log = logging.getLogger("extractors.config")
class song(object):
""" Represents a song in all services. Data will be filled by the service itself"""
@@ -20,4 +24,22 @@ class song(object):
return self.extractor.format_track(self)
def get_download_url(self):
self.download_url = self.extractor.get_download_url(self.url)
self.download_url = self.extractor.get_download_url(self.url)
class baseSettings(wx.Panel):
config_section = "base"
def __init__(self, *args, **kwargs):
super(baseSettings, self).__init__(*args, **kwargs)
self.map = []
def save(self):
for i in self.map:
config.app["services"][self.config_section][i[0]] = i[1].GetValue()
def load(self):
for i in self.map:
if i[0] in config.app["services"][self.config_section]:
i[1].SetValue(config.app["services"][self.config_section][i[0]])
else:
log.error("No key available: {key} on extractor {extractor}".format(key=i[0], extractor=self.config_section))

View File

@@ -3,10 +3,11 @@ from __future__ import unicode_literals # at top of module
import isodate
import youtube_dl
import logging
import wx
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from .import baseFile
from update.utils import seconds_to_string
from .import baseFile
DEVELOPER_KEY = "AIzaSyCU_hvZJEjLlAGAnlscquKEkE8l0lVOfn0"
YOUTUBE_API_SERVICE_NAME = "youtube"
@@ -101,4 +102,16 @@ class interface(object):
return video["formats"][0]["url"]
def format_track(self, item):
return "{0} {1}".format(item.title, item.duration)
return "{0} {1}".format(item.title, item.duration)
class settings(baseFile.baseSettings):
name = _("Youtube Settings")
config_section = "youtube"
def __init__(self, parent):
super(settings, self).__init__(parent=parent)
sizer = wx.BoxSizer(wx.VERTICAL)
self.transcode = wx.CheckBox(self, wx.NewId(), _("Enable transcode when downloading"))
self.map.append(("transcode", self.transcode))
sizer.Add(self.transcode, 0, wx.ALL, 5)
self.SetSizer(sizer)