Ejemplo n.º 1
0
 def updateDefaultDirectory(self):
     for directory in [Config.DEFAULT_FILE_DIRECTORY, Config.APPDATA_PATH]:
         try:
             OSUtils.createDirectory(self.getDefaultDirectory())
             break
         except:
             self.setDefaultDirectory(directory)
Ejemplo n.º 2
0
 def save(self):
     try:
         OSUtils.createDirectory(Config.DB_ROOT)
         with open(Config.DB_FILE, "w", encoding="utf-8") as file:
             JsonDatabase.dump(DatabaseLoader.unpack(self.__dict__), file, cls=DatabaseEncoder)
     except:
         return False
     else:
         return True
Ejemplo n.º 3
0
 def updateConfig(self):
     try:
         response = requests.get(
             OSUtils.joinUrl(Config.SERVER_URL, "config.json"))
     except:
         raise Exceptions.ConnectionFailure
     if response.status_code == 200:
         try:
             from Core.Config import Config as CoreConfig
             from Services.Utils.Image.Config import Config as ImageLoaderConfig
             from Services.Account.Config import Config as AuthConfig
             from Services.Ad.Config import Config as AdConfig
             from Services.Translator.Config import Config as TranslatorConfig
             from Services.Temp.Config import Config as TempConfig
             from Services.Twitch.Gql.TwitchGqlConfig import Config as GqlConfig
             from Services.Twitch.Playback.TwitchPlaybackConfig import Config as PlaybackConfig
             from Search.Config import Config as SearchConfig
             from Search.Helper.Config import Config as SearchHelperConfig
             from Download.Downloader.Engine.Config import Config as DownloadEngineConfig
             from Download.Downloader.FFmpeg.Config import Config as FFmpegConfig
             from Download.Downloader.Task.Config import Config as TaskConfig
             CONFIG_FILES = {
                 "": CoreConfig,
                 "IMAGE_LOADER": ImageLoaderConfig,
                 "AUTH": AuthConfig,
                 "AD": AdConfig,
                 "TRANSLATOR": TranslatorConfig,
                 "TEMP": TempConfig,
                 "API": GqlConfig,
                 "PLAYBACK": PlaybackConfig,
                 "SEARCH": SearchConfig,
                 "SEARCH_HELPER": SearchHelperConfig,
                 "DOWNLOAD_ENGINE": DownloadEngineConfig,
                 "FFMPEG": FFmpegConfig,
                 "TASK": TaskConfig
             }
             data = response.json()
             configData = data.get("global")
             configData.update(
                 data.get("local").get(Translator.getLanguage()))
             for key, value in configData.items():
                 if ":" in key:
                     configTarget, configPath = key.split(":", 1)
                     configTarget = CONFIG_FILES[configTarget]
                 else:
                     configPath = key
                     configTarget = CONFIG_FILES[""]
                 configPath = configPath.split(".")
                 for target in configPath[:-1]:
                     configTarget = getattr(configTarget, target)
                 setattr(configTarget, configPath[-1], value)
         except:
             raise Exceptions.UpdateRequired
     else:
         raise Exceptions.ConnectionFailure
Ejemplo n.º 4
0
 def cleanTempDirKeyFile(self, tempDirKeyFile):
     if OSUtils.isFile(tempDirKeyFile):
         with open(tempDirKeyFile) as file:
             tempDir = file.read()
             if OSUtils.isDirectory(tempDir):
                 OSUtils.removeDirectory(tempDir)
         OSUtils.removeFile(tempDirKeyFile)
Ejemplo n.º 5
0
 def updateRestrictions(self):
     try:
         response = requests.get(
             OSUtils.joinUrl(Config.SERVER_URL, "restrictions.json"))
     except:
         raise Exceptions.ConnectionFailure
     if response.status_code == 200:
         try:
             data = response.json()
             ContentManager.setRestrictions(data)
         except:
             raise Exceptions.UpdateRequired
     else:
         raise Exceptions.ConnectionFailure
Ejemplo n.º 6
0
 def load(self):
     language = self.getLanguage()
     path = QtCore.QLibraryInfo.location(
         QtCore.QLibraryInfo.TranslationsPath)
     for fileName in ["qtbase_{}"]:
         QtTranslator = QtCore.QTranslator()
         QtTranslator.load(fileName.format(language), path)
         self.translators.append(QtTranslator)
         QtCore.QCoreApplication.installTranslator(QtTranslator)
     path = OSUtils.joinPath(Config.TRANSLATORS_PATH, language)
     for translation in Config.TRANSLATION_LIST:
         UiTranslator = QtCore.QTranslator()
         UiTranslator.load(translation, path)
         self.translators.append(UiTranslator)
         QtCore.QCoreApplication.installTranslator(UiTranslator)
Ejemplo n.º 7
0
 def updateStatus(self):
     try:
         response = requests.get(
             OSUtils.joinUrl(Config.SERVER_URL, "status.json"))
     except:
         raise Exceptions.ConnectionFailure
     if response.status_code == 200:
         try:
             data = response.json()
             self.status.syncData(data)
         except:
             raise Exceptions.UpdateRequired
         if self.status.operational:
             if self.status.version.latestVersion != Config.VERSION:
                 if self.status.version.updateRequired:
                     raise Exceptions.UpdateRequired
                 else:
                     raise Exceptions.UpdateFound
         else:
             raise Exceptions.Unavailable
     else:
         raise Exceptions.ConnectionFailure
Ejemplo n.º 8
0
 def CleanUnknownVersion(data):
     try:
         OSUtils.removeDirectory(OSUtils.joinPath(os.getenv("TEMP"), Config.APP_NAME))
     except:
         pass
     return data
Ejemplo n.º 9
0
 def __init__(self):
     try:
         OSUtils.createDirectory(Config.TEMP_LIST_DIRECTORY)
         self.cleanup()
     except:
         pass
Ejemplo n.º 10
0
 def cleanup(self):
     self.directory.cleanup()
     self.file.close()
     OSUtils.removeFile(self.file.name)
Ejemplo n.º 11
0
 def __enter__(self):
     self.driver = WebDriverLoader.WebDriverLoader(
         OSUtils.joinPath(CoreConfig.APPDATA_PATH,
                          "webdrivers")).getAvailableDriver()
     atexit.register(self.tryExit)
     return self.driver