From ba95aa9c29f349b90c765014d56d6f9e0e7bbecf Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 14 Dec 2022 23:09:11 -0300 Subject: [PATCH 01/16] Adapted paths to nuitka compiled code --- autosub/__init__.py | 17 ++++++++++++++--- pytranscriber/control/ctr_main.py | 15 +++++++++------ pytranscriber/util/util.py | 6 ++++++ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/autosub/__init__.py b/autosub/__init__.py index 88afbde0..6f13a178 100755 --- a/autosub/__init__.py +++ b/autosub/__init__.py @@ -16,6 +16,7 @@ import sys import tempfile import wave +import re import json import requests @@ -156,6 +157,10 @@ def __call__(self, sentence): except KeyboardInterrupt: return None +def extract_tmp_root(path_code_file): + #extract root tmp dir from code path + root_tmp_extracted = re.findall('/\S+/onefile_[0-9_]*/', path_code_file) + return root_tmp_extracted[0] def which(program): """ @@ -176,11 +181,17 @@ def is_exe(file_path): else: #looks for file in the script execution folder before checking on system path #if its running frozen code from pyInstaller the path depends on pyInstaller tmp folder - if hasattr(sys, 'frozen'): - current_dir = sys._MEIPASS #tmp dir where the bundled binary is extracted - else: + + + try: + #for nuitka compiled code + if __compiled__: + #tmp dir where the bundled binary is extracted + current_dir = extract_tmp_root(os.path.dirname(__file__)) + except: #checks the current directory for ffmpeg binary when running locally directly from interpreter current_dir = os.getcwd() + print("DIR AUTOSUB BIN:", current_dir) local_program = os.path.join(current_dir, program) if is_exe(local_program): return local_program diff --git a/pytranscriber/control/ctr_main.py b/pytranscriber/control/ctr_main.py index 5ab6d54e..2dfa9baa 100644 --- a/pytranscriber/control/ctr_main.py +++ b/pytranscriber/control/ctr_main.py @@ -23,6 +23,7 @@ from pytranscriber.gui.gui import Ui_window import os import sys +import re class Ctr_Main(): @@ -247,13 +248,15 @@ def __listenerChangeLanguage(self, event): #if it was a valid event if currentLang: #loads the languageFile - if hasattr(sys, 'frozen'): - #if frozen gets temp folder - currentDir = sys._MEIPASS - else: + try: + if __compiled__: + #if frozen gets temp folder + currentDir = util.extract_tmp_root(os.path.dirname(__file__)) + except: #app folder currentDir = "" - pathLangFile = os.path.join(currentDir,'pytranscriber/gui/'+currentLang ) + pathLangFile = os.path.join(currentDir,'pytranscriber/gui/'+currentLang) + print("PATHLANGFILE:", pathLangFile) self.objGUI.trans.load(pathLangFile) QtWidgets.QApplication.instance().installTranslator(self.objGUI.trans) @@ -321,7 +324,7 @@ def __listenerBSelectMedia(self): # options = QFileDialog.Options() options = QFileDialog.DontUseNativeDialog files, _ = QFileDialog.getOpenFileNames(self.objGUI.centralwidget, "Select media", "", - "All Media Files (*.mp3 *.mp4 *.wav *.m4a *.wma *.ogg *.mkv *.webm)") + "All Media Files (*.mp3 *.mp4 *.wav *.m4a *.wma *.ogg *.ogv *.mkv *.webm *.ts)") if files: self.objGUI.qlwListFilesSelected.addItems(files) diff --git a/pytranscriber/util/util.py b/pytranscriber/util/util.py index 7343032d..16eb5da1 100644 --- a/pytranscriber/util/util.py +++ b/pytranscriber/util/util.py @@ -45,3 +45,9 @@ def is_internet_connected(proxies=None): @staticmethod def percentage(currentval, maxval): return 100 * currentval / float(maxval) + + @staticmethod + def extract_tmp_root(path_code_file): + #extract root tmp dir from code path + root_tmp_extracted = re.findall('/\S+/onefile_[0-9_]*/', path_code_file) + return root_tmp_extracted[0] \ No newline at end of file From e63fcd219f86fc82d3631858c375cd0bc332b9c7 Mon Sep 17 00:00:00 2001 From: Raryel Date: Tue, 20 Dec 2022 22:53:05 -0300 Subject: [PATCH 02/16] Remove duplicate implementation code --- autosub/__init__.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/autosub/__init__.py b/autosub/__init__.py index 6f13a178..f4136025 100755 --- a/autosub/__init__.py +++ b/autosub/__init__.py @@ -16,8 +16,6 @@ import sys import tempfile import wave -import re - import json import requests try: @@ -157,11 +155,6 @@ def __call__(self, sentence): except KeyboardInterrupt: return None -def extract_tmp_root(path_code_file): - #extract root tmp dir from code path - root_tmp_extracted = re.findall('/\S+/onefile_[0-9_]*/', path_code_file) - return root_tmp_extracted[0] - def which(program): """ Return the path for a given executable. From 1b1cae86f3fd1c6e6b2b60b48c9f009990bf5b7b Mon Sep 17 00:00:00 2001 From: Raryel Date: Tue, 20 Dec 2022 22:53:28 -0300 Subject: [PATCH 03/16] Import util implementation --- autosub/__init__.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/autosub/__init__.py b/autosub/__init__.py index f4136025..34b4df52 100755 --- a/autosub/__init__.py +++ b/autosub/__init__.py @@ -31,6 +31,9 @@ ) from autosub.formatters import FORMATTERS +sys.path.append("../../") +from pytranscriber.util.util import MyUtil + DEFAULT_SUBTITLE_FORMAT = 'srt' DEFAULT_CONCURRENCY = 10 DEFAULT_SRC_LANGUAGE = 'en' @@ -174,14 +177,15 @@ def is_exe(file_path): else: #looks for file in the script execution folder before checking on system path #if its running frozen code from pyInstaller the path depends on pyInstaller tmp folder - - try: + print("StartTry:", os.path.dirname(__file__)) #for nuitka compiled code if __compiled__: + #tmp dir where the bundled binary is extracted - current_dir = extract_tmp_root(os.path.dirname(__file__)) - except: + current_dir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) + except Exception as ex: + print("Exception", type(ex),ex) #checks the current directory for ffmpeg binary when running locally directly from interpreter current_dir = os.getcwd() print("DIR AUTOSUB BIN:", current_dir) From ea9326bb273535a456ee1a57340e6ddb35dc1f33 Mon Sep 17 00:00:00 2001 From: Raryel Date: Tue, 20 Dec 2022 22:53:51 -0300 Subject: [PATCH 04/16] Implementation adaptations for Windows --- pytranscriber/control/ctr_main.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pytranscriber/control/ctr_main.py b/pytranscriber/control/ctr_main.py index 2dfa9baa..f592b945 100644 --- a/pytranscriber/control/ctr_main.py +++ b/pytranscriber/control/ctr_main.py @@ -23,7 +23,6 @@ from pytranscriber.gui.gui import Ui_window import os import sys -import re class Ctr_Main(): @@ -249,11 +248,13 @@ def __listenerChangeLanguage(self, event): if currentLang: #loads the languageFile try: + print("StartTry:", os.path.dirname(__file__)) if __compiled__: #if frozen gets temp folder - currentDir = util.extract_tmp_root(os.path.dirname(__file__)) - except: + currentDir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) + except Exception as ex: #app folder + print("Exception", type(ex),ex) currentDir = "" pathLangFile = os.path.join(currentDir,'pytranscriber/gui/'+currentLang) print("PATHLANGFILE:", pathLangFile) From dbadfaa4289e4994bf4cab35ec4908bb50ef87fc Mon Sep 17 00:00:00 2001 From: Raryel Date: Tue, 20 Dec 2022 22:54:05 -0300 Subject: [PATCH 05/16] Implementation for Windows Paths --- pytranscriber/util/util.py | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/pytranscriber/util/util.py b/pytranscriber/util/util.py index 16eb5da1..6950a320 100644 --- a/pytranscriber/util/util.py +++ b/pytranscriber/util/util.py @@ -16,6 +16,10 @@ import os import subprocess import requests +import re +from pathlib import PureWindowsPath +from urllib.parse import urlparse + class MyUtil(object): @@ -48,6 +52,21 @@ def percentage(currentval, maxval): @staticmethod def extract_tmp_root(path_code_file): - #extract root tmp dir from code path - root_tmp_extracted = re.findall('/\S+/onefile_[0-9_]*/', path_code_file) - return root_tmp_extracted[0] \ No newline at end of file + + regex = "\S+/onefile_[0-9_]*/" + # for Unixes + if os.name != "nt": + tmp_root_found = re.findall(regex, path_code_file) + #extract root tmp dir from code path + return tmp_root_found[0] + # for Windows + else: + # converts the Windows Path to uri to use the same regular expression as in Unixes + win_path = PureWindowsPath(path_code_file) + uri_path = win_path.as_uri() + + tmp_root_found = re.findall(regex, uri_path) + # after finding the regular expression on the uri converts back to python path + py_path = urlparse(tmp_root_found[0]) + + return py_path \ No newline at end of file From c8c4393c633c8cd73adbf1536d9fcc704cb92fbe Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 00:05:54 -0300 Subject: [PATCH 06/16] Fixes for windows --- pytranscriber/util/util.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pytranscriber/util/util.py b/pytranscriber/util/util.py index 6950a320..ee6c20f1 100644 --- a/pytranscriber/util/util.py +++ b/pytranscriber/util/util.py @@ -53,20 +53,21 @@ def percentage(currentval, maxval): @staticmethod def extract_tmp_root(path_code_file): - regex = "\S+/onefile_[0-9_]*/" # for Unixes - if os.name != "nt": + if os.name != 'nt': + regex = "\S+/onefile_[0-9_]*/" tmp_root_found = re.findall(regex, path_code_file) #extract root tmp dir from code path return tmp_root_found[0] # for Windows else: + regex = "\S+/ONEFIL[~0-9_]*/" # converts the Windows Path to uri to use the same regular expression as in Unixes win_path = PureWindowsPath(path_code_file) uri_path = win_path.as_uri() tmp_root_found = re.findall(regex, uri_path) # after finding the regular expression on the uri converts back to python path - py_path = urlparse(tmp_root_found[0]) + py_path = urlparse(tmp_root_found[0]).path return py_path \ No newline at end of file From 6522bd230eabcfb1f726a15b11047d3f9bdffef2 Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 01:25:29 -0300 Subject: [PATCH 07/16] nuitka script --- freeze-linux-nuitka.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 freeze-linux-nuitka.sh diff --git a/freeze-linux-nuitka.sh b/freeze-linux-nuitka.sh new file mode 100755 index 00000000..c4a22a1c --- /dev/null +++ b/freeze-linux-nuitka.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +pipenv shell +nuitka3 --enable-plugin=pyqt5 --include-data-files="ffmpeg"="./" --include-data-files="pytranscriber/gui/*.qm"="pytranscriber/gui/" main.py --onefile \ No newline at end of file From 57cbb8baa5af725b7e752f7ae22a645c749d9f62 Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 16:59:29 -0300 Subject: [PATCH 08/16] update version string --- pytranscriber/gui/gui.py | 2 +- pytranscriber/gui/gui.ui | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pytranscriber/gui/gui.py b/pytranscriber/gui/gui.py index d8c2cd74..eb0c0766 100644 --- a/pytranscriber/gui/gui.py +++ b/pytranscriber/gui/gui.py @@ -126,7 +126,7 @@ def setupUi(self, window): def retranslateUi(self, window): _translate = QtCore.QCoreApplication.translate - window.setWindowTitle(_translate("window", "pyTranscriber - v1.8 - 17/08/2022")) + window.setWindowTitle(_translate("window", "pyTranscriber - v1.9 - 21/12/2022")) self.bSelectMedia.setText(_translate("window", "Select file(s)")) self.bConvert.setText(_translate("window", "Transcribe Audio / Generate Subtitles")) self.bOpenOutputFolder.setText(_translate("window", "Open Output Folder")) diff --git a/pytranscriber/gui/gui.ui b/pytranscriber/gui/gui.ui index dc9c6ded..89d6a42d 100755 --- a/pytranscriber/gui/gui.ui +++ b/pytranscriber/gui/gui.ui @@ -11,7 +11,7 @@ - pyTranscriber - v1.8 - 17/08/2022 + pyTranscriber - v1.9 - 21/12/2022 From f8cbe38a300f225617db1b76c13960c475943760 Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 16:59:44 -0300 Subject: [PATCH 09/16] remove debug lines --- autosub/__init__.py | 3 --- pytranscriber/control/ctr_main.py | 2 -- 2 files changed, 5 deletions(-) diff --git a/autosub/__init__.py b/autosub/__init__.py index 34b4df52..46d88625 100755 --- a/autosub/__init__.py +++ b/autosub/__init__.py @@ -178,17 +178,14 @@ def is_exe(file_path): #looks for file in the script execution folder before checking on system path #if its running frozen code from pyInstaller the path depends on pyInstaller tmp folder try: - print("StartTry:", os.path.dirname(__file__)) #for nuitka compiled code if __compiled__: - #tmp dir where the bundled binary is extracted current_dir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) except Exception as ex: print("Exception", type(ex),ex) #checks the current directory for ffmpeg binary when running locally directly from interpreter current_dir = os.getcwd() - print("DIR AUTOSUB BIN:", current_dir) local_program = os.path.join(current_dir, program) if is_exe(local_program): return local_program diff --git a/pytranscriber/control/ctr_main.py b/pytranscriber/control/ctr_main.py index f592b945..5f4dc5c0 100644 --- a/pytranscriber/control/ctr_main.py +++ b/pytranscriber/control/ctr_main.py @@ -248,7 +248,6 @@ def __listenerChangeLanguage(self, event): if currentLang: #loads the languageFile try: - print("StartTry:", os.path.dirname(__file__)) if __compiled__: #if frozen gets temp folder currentDir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) @@ -257,7 +256,6 @@ def __listenerChangeLanguage(self, event): print("Exception", type(ex),ex) currentDir = "" pathLangFile = os.path.join(currentDir,'pytranscriber/gui/'+currentLang) - print("PATHLANGFILE:", pathLangFile) self.objGUI.trans.load(pathLangFile) QtWidgets.QApplication.instance().installTranslator(self.objGUI.trans) From 4396e9f139babd2ebd82d5960940ce4628a50157 Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 21:05:12 -0300 Subject: [PATCH 10/16] reverting back regression --- autosub/__init__.py | 3 +++ pytranscriber/control/ctr_main.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/autosub/__init__.py b/autosub/__init__.py index 46d88625..34b4df52 100755 --- a/autosub/__init__.py +++ b/autosub/__init__.py @@ -178,14 +178,17 @@ def is_exe(file_path): #looks for file in the script execution folder before checking on system path #if its running frozen code from pyInstaller the path depends on pyInstaller tmp folder try: + print("StartTry:", os.path.dirname(__file__)) #for nuitka compiled code if __compiled__: + #tmp dir where the bundled binary is extracted current_dir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) except Exception as ex: print("Exception", type(ex),ex) #checks the current directory for ffmpeg binary when running locally directly from interpreter current_dir = os.getcwd() + print("DIR AUTOSUB BIN:", current_dir) local_program = os.path.join(current_dir, program) if is_exe(local_program): return local_program diff --git a/pytranscriber/control/ctr_main.py b/pytranscriber/control/ctr_main.py index 5f4dc5c0..f592b945 100644 --- a/pytranscriber/control/ctr_main.py +++ b/pytranscriber/control/ctr_main.py @@ -248,6 +248,7 @@ def __listenerChangeLanguage(self, event): if currentLang: #loads the languageFile try: + print("StartTry:", os.path.dirname(__file__)) if __compiled__: #if frozen gets temp folder currentDir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) @@ -256,6 +257,7 @@ def __listenerChangeLanguage(self, event): print("Exception", type(ex),ex) currentDir = "" pathLangFile = os.path.join(currentDir,'pytranscriber/gui/'+currentLang) + print("PATHLANGFILE:", pathLangFile) self.objGUI.trans.load(pathLangFile) QtWidgets.QApplication.instance().installTranslator(self.objGUI.trans) From f34982ab24d85075765b805a8684ee46fd568b6e Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 21:54:04 -0300 Subject: [PATCH 11/16] norm path --- pytranscriber/util/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytranscriber/util/util.py b/pytranscriber/util/util.py index ee6c20f1..1daad9c9 100644 --- a/pytranscriber/util/util.py +++ b/pytranscriber/util/util.py @@ -70,4 +70,4 @@ def extract_tmp_root(path_code_file): # after finding the regular expression on the uri converts back to python path py_path = urlparse(tmp_root_found[0]).path - return py_path \ No newline at end of file + return os.path.normpath(py_path) \ No newline at end of file From 64d4afba214ee828ebe174b788262758c5a67d79 Mon Sep 17 00:00:00 2001 From: Raryel Date: Wed, 21 Dec 2022 23:08:08 -0300 Subject: [PATCH 12/16] Simplified version with PurePath --- autosub/__init__.py | 26 ++++++-------------------- pytranscriber/control/ctr_main.py | 18 +++++------------- 2 files changed, 11 insertions(+), 33 deletions(-) diff --git a/autosub/__init__.py b/autosub/__init__.py index 34b4df52..5d20d45e 100755 --- a/autosub/__init__.py +++ b/autosub/__init__.py @@ -30,9 +30,7 @@ LANGUAGE_CODES, GOOGLE_SPEECH_API_KEY, GOOGLE_SPEECH_API_URL, ) from autosub.formatters import FORMATTERS - -sys.path.append("../../") -from pytranscriber.util.util import MyUtil +from pathlib import PurePath DEFAULT_SUBTITLE_FORMAT = 'srt' DEFAULT_CONCURRENCY = 10 @@ -175,23 +173,11 @@ def is_exe(file_path): if is_exe(program): return program else: - #looks for file in the script execution folder before checking on system path - #if its running frozen code from pyInstaller the path depends on pyInstaller tmp folder - try: - print("StartTry:", os.path.dirname(__file__)) - #for nuitka compiled code - if __compiled__: - - #tmp dir where the bundled binary is extracted - current_dir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) - except Exception as ex: - print("Exception", type(ex),ex) - #checks the current directory for ffmpeg binary when running locally directly from interpreter - current_dir = os.getcwd() - print("DIR AUTOSUB BIN:", current_dir) - local_program = os.path.join(current_dir, program) - if is_exe(local_program): - return local_program + local_program_path = PurePath(__file__).parent.parent.joinpath(program) + str_local_program_path = str(local_program_path) + print("path_ffmpeg",str_local_program_path) + if is_exe(str_local_program_path): + return str_local_program_path else: for path in os.environ["PATH"].split(os.pathsep): path = path.strip('"') diff --git a/pytranscriber/control/ctr_main.py b/pytranscriber/control/ctr_main.py index f592b945..4bd49149 100644 --- a/pytranscriber/control/ctr_main.py +++ b/pytranscriber/control/ctr_main.py @@ -23,6 +23,7 @@ from pytranscriber.gui.gui import Ui_window import os import sys +from pathlib import PurePath class Ctr_Main(): @@ -246,19 +247,10 @@ def __listenerChangeLanguage(self, event): #if it was a valid event if currentLang: - #loads the languageFile - try: - print("StartTry:", os.path.dirname(__file__)) - if __compiled__: - #if frozen gets temp folder - currentDir = MyUtil.extract_tmp_root(os.path.dirname(__file__)) - except Exception as ex: - #app folder - print("Exception", type(ex),ex) - currentDir = "" - pathLangFile = os.path.join(currentDir,'pytranscriber/gui/'+currentLang) - print("PATHLANGFILE:", pathLangFile) - self.objGUI.trans.load(pathLangFile) + currentDir = PurePath(__file__).parent.parent.parent + pathLangFile = currentDir.joinpath('pytranscriber').joinpath('gui').joinpath(currentLang) + print("pathlangfile", pathLangFile) + self.objGUI.trans.load(str(pathLangFile)) QtWidgets.QApplication.instance().installTranslator(self.objGUI.trans) else: From 498bbb7ba01b032612ddbcf36c705ecf5cff2e84 Mon Sep 17 00:00:00 2001 From: Raryel Date: Thu, 22 Dec 2022 17:42:59 -0300 Subject: [PATCH 13/16] Simplified version with purepath --- pytranscriber/util/util.py | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/pytranscriber/util/util.py b/pytranscriber/util/util.py index 1daad9c9..90e9fd31 100644 --- a/pytranscriber/util/util.py +++ b/pytranscriber/util/util.py @@ -48,26 +48,4 @@ def is_internet_connected(proxies=None): @staticmethod def percentage(currentval, maxval): - return 100 * currentval / float(maxval) - - @staticmethod - def extract_tmp_root(path_code_file): - - # for Unixes - if os.name != 'nt': - regex = "\S+/onefile_[0-9_]*/" - tmp_root_found = re.findall(regex, path_code_file) - #extract root tmp dir from code path - return tmp_root_found[0] - # for Windows - else: - regex = "\S+/ONEFIL[~0-9_]*/" - # converts the Windows Path to uri to use the same regular expression as in Unixes - win_path = PureWindowsPath(path_code_file) - uri_path = win_path.as_uri() - - tmp_root_found = re.findall(regex, uri_path) - # after finding the regular expression on the uri converts back to python path - py_path = urlparse(tmp_root_found[0]).path - - return os.path.normpath(py_path) \ No newline at end of file + return 100 * currentval / float(maxval) \ No newline at end of file From 14fb4a6691b26d8413b0e1e5f74dacec37c98f2a Mon Sep 17 00:00:00 2001 From: Raryel Date: Thu, 22 Dec 2022 17:43:13 -0300 Subject: [PATCH 14/16] Windows nuitka compile script --- freeze-nuitka-win.bat | 1 + 1 file changed, 1 insertion(+) create mode 100644 freeze-nuitka-win.bat diff --git a/freeze-nuitka-win.bat b/freeze-nuitka-win.bat new file mode 100644 index 00000000..d369b68a --- /dev/null +++ b/freeze-nuitka-win.bat @@ -0,0 +1 @@ +nuitka --enable-plugin=pyqt5 --include-data-files="ffmpeg.exe"="./" --include-data-files="pytranscriber/gui/*.qm"="pytranscriber/gui/" main.py --onefile --disable-console \ No newline at end of file From 037a9626836396484b6f25e4069b0af780086316 Mon Sep 17 00:00:00 2001 From: Raryel Date: Thu, 22 Dec 2022 17:43:36 -0300 Subject: [PATCH 15/16] Requirements updated --- Pipfile | 32 +++- Pipfile.lock | 370 +++++++++++++++++++++++++++++++---------------- requirements.txt | Bin 1128 -> 563 bytes 3 files changed, 277 insertions(+), 125 deletions(-) diff --git a/Pipfile b/Pipfile index 1f89202a..6df7af99 100644 --- a/Pipfile +++ b/Pipfile @@ -5,9 +5,39 @@ name = "pypi" [packages] autosub = "*" -pyqt5 = "*" +pyqt5 = "==5.15.4" pyinstaller = "*" macholib = "*" +cachetools = "==4.2.4" +certifi = "==2021.10.8" +chardet = "==4.0.0" +charset-normalizer = "==2.0.6" +google-api-core = "==2.1.0" +google-api-python-client = "==2.24.0" +google-auth = "==2.3.0" +google-auth-httplib2 = "==0.1.0" +google-auth-oauthlib = "==0.4.6" +googleapis-common-protos = "==1.53.0" +httplib2 = "==0.20.1" +idna = "==3.2" +oauthlib = "==3.1.1" +progressbar = "==2.5" +protobuf = "==3.18.1" +pyasn1 = "==0.4.8" +pyasn1-modules = "==0.2.8" +pyparsing = "==2.4.7" +pyqt5-qt5 = "==5.15.2" +pyqt5-sip = "==12.9.0" +pysrt = "==1.1.2" +requests = "==2.26.0" +requests-oauthlib = "==1.3.0" +rsa = "==4.7.2" +six = "==1.16.0" +uritemplate = "==3.0.1" +urllib3 = "==1.26.7" +nuitka = "*" +orderedset = "*" +zstandard = "*" [dev-packages] diff --git a/Pipfile.lock b/Pipfile.lock index b151ad52..ad380cf3 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "b0469913a10e37f228531153e6945aa1a647ebdcb2024b2cb6f36208f0307c74" + "sha256": "c3ab8ecad8bfe2aba696037bce93a0f88fc34072315d7bf09bac892d7bba18bb" }, "pipfile-spec": 6, "requires": { @@ -18,10 +18,10 @@ "default": { "altgraph": { "hashes": [ - "sha256:743628f2ac6a7c26f5d9223c91ed8ecbba535f506f4b6f558885a8a56a105857", - "sha256:ebf2269361b47d97b3b88e696439f6e4cbc607c17c51feb1754f90fb79839158" + "sha256:ad33358114df7c9416cdb8fa1eaa5852166c505118717021c6a8c7c7abbd03dd", + "sha256:c8ac1ca6772207179ed8003ce7687757c04b0b71536f81e2ac5755c6226458fe" ], - "version": "==0.17.2" + "version": "==0.17.3" }, "autosub": { "hashes": [ @@ -32,116 +32,163 @@ }, "cachetools": { "hashes": [ - "sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757", - "sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db" + "sha256:89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693", + "sha256:92971d3cb7d2a97efff7c7bb1657f21a8f5fb309a37530537c71b1774189f2d1" ], - "markers": "python_version ~= '3.7'", - "version": "==5.2.0" + "index": "pypi", + "version": "==4.2.4" }, "certifi": { "hashes": [ - "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d", - "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412" + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" ], - "markers": "python_version >= '3.6'", - "version": "==2022.6.15" + "index": "pypi", + "version": "==2021.10.8" }, "chardet": { "hashes": [ - "sha256:0368df2bfd78b5fc20572bb4e9bb7fb53e2c094f60ae9993339e8671d0afb8aa", - "sha256:d3e64f022d254183001eccc5db4040520c0f23b1a3f33d6413e099eb7f126557" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "markers": "python_version >= '3.6'", - "version": "==5.0.0" + "index": "pypi", + "version": "==4.0.0" }, "charset-normalizer": { "hashes": [ - "sha256:5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5", - "sha256:575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413" + "sha256:5d209c0a931f215cee683b6445e2d77677e7e75e159f78def0db09d68fafcaa6", + "sha256:5ec46d183433dcbd0ab716f2d7f29d8dee50505b3fdb40c6b985c7c4f5a3591f" ], - "markers": "python_version >= '3.6'", - "version": "==2.1.0" + "index": "pypi", + "version": "==2.0.6" }, "google-api-core": { "hashes": [ - "sha256:06f7244c640322b508b125903bb5701bebabce8832f85aba9335ec00b3d02edc", - "sha256:93c6a91ccac79079ac6bbf8b74ee75db970cc899278b97d53bc012f35908cf50" + "sha256:5ec27b942b34d04559cbf3674430bb83fc3d74e7d32b8bbd31c4466e71740b83", + "sha256:c344e1aacd8330527c5130bdfe03118d8859ce798bcf0e5d23770ab6873e0615" ], - "markers": "python_version >= '3.6'", - "version": "==2.8.2" + "index": "pypi", + "version": "==2.1.0" }, "google-api-python-client": { "hashes": [ - "sha256:1766c700eee14809ca1f7f52868c937755153289ea77ecdfd73dea6910e9a34d", - "sha256:7837094c6d35cc8e680b60ebefe37f117ad521f3b263b0c7a6efa0b2f84cb17a" + "sha256:1c6267c7f018d86afc62dd8ec844a3e7189022a35ee239ed704cbda010888998", + "sha256:75edc13a5c6dd9ff6f47721162a845edc343b4987ee059842e9a7905ad62e917" ], - "markers": "python_version >= '3.7'", - "version": "==2.55.0" + "index": "pypi", + "version": "==2.24.0" }, "google-auth": { "hashes": [ - "sha256:1deba4a54f95ef67b4139eaf5c20eaa7047215eec9f6a2344599b8596db8863b", - "sha256:7904dbd44b745c7323fef29565adee2fe7ff48473e2d94443aced40b0404a395" + "sha256:2800f6dfad29c6ced5faf9ca0c38ea8ba1ebe2559b10c029bd021e3de3301627", + "sha256:91892727c09cf5d090c391936a8e67ef5b9a9794c2f426b3d0ceedddbcc0ef50" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==2.10.0" + "index": "pypi", + "version": "==2.3.0" }, "google-auth-httplib2": { "hashes": [ "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10", "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac" ], + "index": "pypi", "version": "==0.1.0" }, + "google-auth-oauthlib": { + "hashes": [ + "sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73", + "sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a" + ], + "index": "pypi", + "version": "==0.4.6" + }, "googleapis-common-protos": { "hashes": [ - "sha256:8eb2cbc91b69feaf23e32452a7ae60e791e09967d81d4fcc7fc388182d1bd394", - "sha256:c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417" + "sha256:a88ee8903aa0a81f6c3cec2d5cf62d3c8aa67c06439b0496b49048fb1854ebf4", + "sha256:f6d561ab8fb16b30020b940e2dd01cd80082f4762fa9f3ee670f4419b4b8dbd0" ], - "markers": "python_version >= '3.7'", - "version": "==1.56.4" + "index": "pypi", + "version": "==1.53.0" }, "httplib2": { "hashes": [ - "sha256:58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585", - "sha256:8b6a905cb1c79eefd03f8669fd993c36dc341f7c558f056cb5a33b5c2f458543" + "sha256:0efbcb8bfbfbc11578130d87d8afcc65c2274c6eb446e59fc674e4d7c972d327", + "sha256:8fa4dbf2fbf839b71f8c7837a831e00fcdc860feca99b8bda58ceae4bc53d185" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.20.4" + "index": "pypi", + "version": "==0.20.1" }, "idna": { "hashes": [ - "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", - "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a", + "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3" + ], + "index": "pypi", + "version": "==3.2" + }, + "macholib": { + "hashes": [ + "sha256:44c40f2cd7d6726af8fa6fe22549178d3a4dfecc35a9cd15ea916d9c83a688e0", + "sha256:557bbfa1bb255c20e9abafe7ed6cd8046b48d9525db2f9b77d3122a63a2a8bf8" + ], + "index": "pypi", + "version": "==1.16.2" + }, + "nuitka": { + "hashes": [ + "sha256:a6127afa922411ad418308685330ba432cca9b7049b70013d5e25f0db3b337dd" + ], + "index": "pypi", + "version": "==1.3.1" + }, + "oauthlib": { + "hashes": [ + "sha256:42bf6354c2ed8c6acb54d971fce6f88193d97297e18602a3a886603f9d7730cc", + "sha256:8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3" + ], + "index": "pypi", + "version": "==3.1.1" + }, + "orderedset": { + "hashes": [ + "sha256:b2f5ccfb5a86e7b3b3ddf18b29779cc18b24653abf9d6da4bebecf33780a6e29" ], - "markers": "python_version >= '3.5'", - "version": "==3.3" + "index": "pypi", + "version": "==2.0.3" }, "progressbar": { "hashes": [ "sha256:5d81cb529da2e223b53962afd6c8ca0f05c6670e40309a7219eacc36af9b6c63" ], + "index": "pypi", "version": "==2.5" }, "protobuf": { "hashes": [ - "sha256:0275902f8292039d4a022319d3f86e8b231ac4c51d7be4cb797890fb78c16b85", - "sha256:142ef5d73d6cd1bd8ab539d7d73c3722f31d33e64914e01bb91439cfcef11a9f", - "sha256:2ea8c841cc6422aea07d0f4f71f0e5e6e130de9a4b6c31a53b9d2a41a75f2d54", - "sha256:47b7cf3e542fd50a3a7c24d0da13451bc362a32c0a9b905714942ea8cf35fa11", - "sha256:5783dc0d6edae631145337fabb18503b4f77274f94cdd22a4b26b9fe5029e718", - "sha256:5b95c5f515334dd3a811762e3c588b469bf39d4ee7b7f47ac1e0c41dc73809f7", - "sha256:5e47947fbfefd5a1bdc7c28eea1d197ea6dba5812789c2429667831a55ef71b7", - "sha256:7e51f6244e53e936abadf624ab3a0f06dc106b27473997374fbb34e6b2eb1e60", - "sha256:a8119c029c60cf29b7eea5a9f56648482388e874611243f41cd10aff0a0e5461", - "sha256:adeccfbffbf4c9d1e77da86dc995d76c837d01387e412066cc803ad037000892", - "sha256:cb50d93ef748671b7e2537658869e00aaa8175d717d8e73a23fcd58842883229", - "sha256:d9b0398ff68017015ec2a37fb0ab390363a654362b15ca2e4543d3c82587768f", - "sha256:e113f3d1629cebc911b107ce704f1a17d7e1589efef5c498e202bd47df223955", - "sha256:fd62b6eda64e199b5da651d6be42af2aa8e30805961af1fc5f70292affca78e3" + "sha256:0851b5b89191e1976d34fa2e8eb8659829dfb45252053224cf9df857fb5f6a45", + "sha256:09d9268f6f9da81b7657adcf2fb397524c82f20cdf9e0db3ff4e7567977abd67", + "sha256:10544fc7ace885a882623083c24da5b14148c77563acddc3c58d66f6153c09cd", + "sha256:1c9bb40503751087300dd12ce2e90899d68628977905c76effc48e66d089391e", + "sha256:387f621bf7295a331f8c8a6962d097ceddeb85356792888cfa6a5c6bfc6886a4", + "sha256:3c1644f8a7f19b45c7a4c32278e2a55ae9e7e2f9e5f02d960a61f04a4890d3e6", + "sha256:4d19c9cb805fd2be1d59eee39e152367ee92a30167e77bd06c8819f8f0009a4c", + "sha256:61ca58e14033ca0dfa484a31d57237c1be3b6013454c7f53876a20fc88dd69b1", + "sha256:6f714f5de9d40b3bec90ede4a688cce52f637ccdc5403afcda1f67598f4fdcd7", + "sha256:7a7be937c319146cc9f2626f0181e6809062c353e1fe449ecd0df374ba1036b2", + "sha256:7e2f0677d68ecdd1cfda2abea65873f5bc7c3f5aae199404a3f5c1d1198c1a63", + "sha256:8c1c5d3966c856f60a9d8d62f4455d70c31026422acdd5c228edf22b65b16c38", + "sha256:93bad12895d8b0ebc66b605c2ef1802311595f881aef032d9f13282b7550e6b2", + "sha256:c0e2790c580070cff2921b93d562539ae027064340151c50db6aaf94c33048cd", + "sha256:c492c217d3f69f4d2d5619571e52ab98538edbf53caf67e53ea92bd0a3b5670f", + "sha256:d6d927774c0ec746fed15a4faff5f44aad0b7a3421fadb6f3ae5ca1f2f8ae26e", + "sha256:d76201380f41a2d83fb613a4683059d1fcafbe969518b3e409e279a8788fde2f", + "sha256:e2ee8b11e3eb2ed38f12137c3c132270a0b1dd509e317228ac47b67f21a583f1", + "sha256:e9ac691f7b24e4371dcd3980e4f5d6c840a2010da37986203053fee995786ec5", + "sha256:f20f803892f2135e8b96dc58c9a0c6a7ad8436794bf8784af229498d939b4c77", + "sha256:fa6d1049d5315566f55c04d0b50c0033415144f96a9d25c820dc542fe2bb7f45" ], - "markers": "python_version >= '3.7'", - "version": "==4.21.4" + "index": "pypi", + "version": "==3.18.1" }, "pyasn1": { "hashes": [ @@ -159,6 +206,7 @@ "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" ], + "index": "pypi", "version": "==0.4.8" }, "pyasn1-modules": { @@ -177,51 +225,53 @@ "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d", "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405" ], + "index": "pypi", "version": "==0.2.8" }, "pyinstaller": { "hashes": [ - "sha256:066b83a0eae89ad418749e9e29429c152f1ff096230df11a093bbded8344ade0", - "sha256:4c658a762cbbee5c5997c364578804d4c1e91d688de8ed018710c2705bf1474b", - "sha256:7591a9e1e2a481f99eb99036d6786e20717bc10f8f0a8ef519958cb3172fac7a", - "sha256:794e8e143ae73d1acdd2cbc52f02dd34cdfbd954ede34c7067ce68a268d8b7c2", - "sha256:9efbad718fe29d425336f289871c67bfc6a1876013037fee2ef1f7613fd675a2", - "sha256:a0e7a80fe04204add3f743101958a3cf62b79e7ccda838388784b1a35bb5b27f", - "sha256:aa9d1b8639d2402438c179ae1c8acfd41b65366c803a5a6484a5bb7586e88647", - "sha256:b38505b445cdd64279f04650e0ddfe5ac6cef61996b14f06e3c99da8aac3cfbe", - "sha256:cae43e01e04f37185d23202aba8cf2837fa24ec3d0aa5ebc42e26f404e6eba95", - "sha256:d4123992556951ed24e11cf2eec9a4e18e94ee8bd63ca49d9b7fc37387097eb9", - "sha256:de71d4669806e4d54b23b477cc077e2e8fe9c4d57e79ed32d22b7585137fd7b7" + "sha256:0e5953937d35f0b37543cc6915dacaf3239bcbdf3fd3ecbb7866645468a16775", + "sha256:0f80e2403e76630ad3392c71f09c1a4284e8d8a8a99fb55ff3a0aba0e06300ed", + "sha256:1ac3f09b838710c43e34b0a7ad003bd168a754b0b786c561b47baf1af9104354", + "sha256:28a8a0da656493aa32d9665e2f6f84775da0f23174859ed8facaa4226fe77a17", + "sha256:2c1dd9d11cfc48bab61eeb06de69a3d1ad742bbb2ef14716965ca0333dd43a5b", + "sha256:3180b9bf22263380adc5e2ee051b7c21463292877215bbe70c9155dc76f4b966", + "sha256:3e51e18a16dec0414079762843cf892a5d70749ad56ca7b3c7b5f8367dc50b1e", + "sha256:9b47c10fbefac6f6493266f8b1689109b2b14efa9142dbd2cd7549226a4568b7", + "sha256:9cdb8ee8622ee8d2c6cd67f001b610019d4371a8bf3f7850562640ce786894d7", + "sha256:b967ae71ab7b05e18608dbb4518da5afa54f0835927cb7a5ce52ab8fffed03b6", + "sha256:dfc12e92fe10ae645dd0dd1fcfa4cd7677b2e96119e3cd4980d742e09bb78925", + "sha256:f35f06d48faea0ad738429c009941059beebaa306e9d9ead95f1df4b441de2aa" ], "index": "pypi", - "version": "==5.3" + "version": "==5.7.0" }, "pyinstaller-hooks-contrib": { "hashes": [ - "sha256:c4210fc50282c9c6a918e485e0bfae9405592390508e3be9fde19acc2213da56", - "sha256:e46f099934dd4577fb1ddcf37a99fa04027c92f8f5291c8802f326345988d001" + "sha256:1a125838a22d7b35a18993c6e56d3c5cc3ad7da00954f95bc5606523939203f2", + "sha256:5ae8da3a92cf20e37b3e00604d0c3468896e7d746e5c1449473597a724331b0b" ], "markers": "python_version >= '3.7'", - "version": "==2022.8" + "version": "==2022.14" }, "pyparsing": { "hashes": [ - "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", - "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" + "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", + "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "markers": "python_version >= '3.1'", - "version": "==3.0.9" + "index": "pypi", + "version": "==2.4.7" }, "pyqt5": { "hashes": [ - "sha256:08694f0a4c7d4f3d36b2311b1920e6283240ad3b7c09b515e08262e195dcdf37", - "sha256:1a793748c60d5aff3850b7abf84d47c1d41edb11231b7d7c16bef602c36be643", - "sha256:232fe5b135a095cbd024cf341d928fc672c963f88e6a52b0c605be8177c2fdb5", - "sha256:755121a52b3a08cb07275c10ebb96576d36e320e572591db16cfdbc558101594", - "sha256:e319c9d8639e0729235c1b09c99afdadad96fa3dbd8392ab561b5ab5946ee6ef" + "sha256:213bebd51821ed89b4d5b35bb10dbe67564228b3568f463a351a08e8b1677025", + "sha256:2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be", + "sha256:883a549382fc22d29a0568f3ef20b38c8e7ab633a59498ac4eb63a3bf36d3fd3", + "sha256:8c0848ba790a895801d5bfd171da31cad3e551dbcc4e59677a3b622de2ceca98", + "sha256:a88526a271e846e44779bb9ad7a738c6d3c4a9d01e15a128ecfc6dd4696393b7" ], "index": "pypi", - "version": "==5.15.7" + "version": "==5.15.4" }, "pyqt5-qt5": { "hashes": [ @@ -230,84 +280,156 @@ "sha256:76980cd3d7ae87e3c7a33bfebfaee84448fd650bad6840471d6cae199b56e154", "sha256:9cc7a768b1921f4b982ebc00a318ccb38578e44e45316c7a4a850e953e1dd327" ], + "index": "pypi", "version": "==5.15.2" }, "pyqt5-sip": { "hashes": [ - "sha256:0f77655c62ec91d47c2c99143f248624d44dd2d8a12d016e7c020508ad418aca", - "sha256:205f3e1b3eea3597d8e878936c1a06e04bd23a59e8b179ee806465d72eea3071", - "sha256:3126c84568ab341c12e46ded2230f62a9a78752a70fdab13713f89a71cd44f73", - "sha256:4031547dfb679be309094bfa79254f5badc5ddbe66b9ad38e319d84a7d612443", - "sha256:42320e7a94b1085ed85d49794ed4ccfe86f1cae80b44a894db908a8aba2bc60e", - "sha256:4e5c1559311515291ea0ab0635529f14536954e3b973a7c7890ab7e4de1c2c23", - "sha256:51e377789d59196213eddf458e6927f33ba9d217b614d17d20df16c9a8b2c41c", - "sha256:686071be054e5be6ca5aaaef7960931d4ba917277e839e2e978c7cbe3f43bb6e", - "sha256:9356260d4feb60dbac0ab66f8a791a0d2cda1bf98c9dec8e575904a045fbf7c5", - "sha256:9bca450c5306890cb002fe36bbca18f979dd9e5b810b766dce8e3ce5e66ba795", - "sha256:ad21ca0ee8cae2a41b61fc04949dccfab6fe008749627d94e8c7078cb7a73af1", - "sha256:b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39", - "sha256:b69a1911f768b489846335e31e49eb34795c6b5a038ca24d894d751e3b0b44da", - "sha256:d12b81c3a08abf7657a2ebc7d3649852a1f327eb2146ebadf45930486d32e920", - "sha256:ec5e9ef78852e1f96f86d7e15c9215878422b83dde36d44f1539a3062942f19c", - "sha256:f1f9e312ff8284d6dfebc5366f6f7d103f84eec23a4da0be0482403933e68660", - "sha256:f6b72035da4e8fecbb0bc4a972e30a5674a9ad5608dbddaa517e983782dbf3bf" + "sha256:055581c6fed44ba4302b70eeb82e979ff70400037358908f251cd85cbb3dbd93", + "sha256:0fc9aefacf502696710b36cdc9fa2a61487f55ee883dbcf2c2a6477e261546f7", + "sha256:42274a501ab4806d2c31659170db14c282b8313d2255458064666d9e70d96206", + "sha256:4347bd81d30c8e3181e553b3734f91658cfbdd8f1a19f254777f906870974e6d", + "sha256:485972daff2fb0311013f471998f8ec8262ea381bded244f9d14edaad5f54271", + "sha256:4f8e05fe01d54275877c59018d8e82dcdd0bc5696053a8b830eecea3ce806121", + "sha256:69a3ad4259172e2b1aa9060de211efac39ddd734a517b1924d9c6c0cc4f55f96", + "sha256:6a8701892a01a5a2a4720872361197cc80fdd5f49c8482d488ddf38c9c84f055", + "sha256:6d5bca2fc222d58e8093ee8a81a6e3437067bb22bc3f86d06ec8be721e15e90a", + "sha256:83c3220b1ca36eb8623ba2eb3766637b19eb0ce9f42336ad8253656d32750c0a", + "sha256:a25b9843c7da6a1608f310879c38e6434331aab1dc2fe6cb65c14f1ecf33780e", + "sha256:ac57d796c78117eb39edd1d1d1aea90354651efac9d3590aac67fa4983f99f1f", + "sha256:b09f4cd36a4831229fb77c424d89635fa937d97765ec90685e2f257e56a2685a", + "sha256:c446971c360a0a1030282a69375a08c78e8a61d568bfd6dab3dcc5cf8817f644", + "sha256:c5216403d4d8d857ec4a61f631d3945e44fa248aa2415e9ee9369ab7c8a4d0c7", + "sha256:d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32", + "sha256:d59af63120d1475b2bf94fe8062610720a9be1e8940ea146c7f42bb449d49067", + "sha256:d85002238b5180bce4b245c13d6face848faa1a7a9e5c6e292025004f2fd619a", + "sha256:d8b2bdff7bbf45bc975c113a03b14fd669dc0c73e1327f02706666a7dd51a197", + "sha256:dd05c768c2b55ffe56a9d49ce6cc77cdf3d53dbfad935258a9e347cbfd9a5850", + "sha256:fc43f2d7c438517ee33e929e8ae77132749c15909afab6aeece5fcf4147ffdb5" ], - "markers": "python_version >= '3.7'", - "version": "==12.11.0" + "index": "pypi", + "version": "==12.9.0" }, "pysrt": { "hashes": [ "sha256:b4f844ba33e4e7743e9db746492f3a193dc0bc112b153914698e7c1cdeb9b0b9" ], + "index": "pypi", "version": "==1.1.2" }, "requests": { "hashes": [ - "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", - "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" + "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24", + "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7" ], - "markers": "python_version >= '3.7' and python_version < '4'", - "version": "==2.28.1" + "index": "pypi", + "version": "==2.26.0" + }, + "requests-oauthlib": { + "hashes": [ + "sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d", + "sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a", + "sha256:fa6c47b933f01060936d87ae9327fead68768b69c6c9ea2109c48be30f2d4dbc" + ], + "index": "pypi", + "version": "==1.3.0" }, "rsa": { "hashes": [ - "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7", - "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21" + "sha256:78f9a9bf4e7be0c5ded4583326e7461e3a3c5aae24073648b4bdfa797d78c9d2", + "sha256:9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9" ], - "markers": "python_version >= '3.6'", - "version": "==4.9" + "index": "pypi", + "version": "==4.7.2" }, "setuptools": { "hashes": [ - "sha256:73bfae4791da7c1c56882ab17577d00f7a37a0347162aeb9360058de0dc25083", - "sha256:abcb76aa4decd7a17cbe0e4b31bdf549d106ba7f668e87e0860f5f7b84b9b3fe" + "sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54", + "sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75" ], "markers": "python_version >= '3.7'", - "version": "==63.4.2" + "version": "==65.6.3" }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "index": "pypi", "version": "==1.16.0" }, "uritemplate": { "hashes": [ - "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0", - "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e" + "sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f", + "sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae" ], - "markers": "python_version >= '3.6'", - "version": "==4.1.1" + "index": "pypi", + "version": "==3.0.1" }, "urllib3": { "hashes": [ - "sha256:c33ccba33c819596124764c23a97d25f32b28433ba0dedeb77d873a38722c9bc", - "sha256:ea6e8fb210b19d950fab93b60c9009226c63a28808bc8386e05301e25883ac0a" + "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece", + "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'", - "version": "==1.26.11" + "index": "pypi", + "version": "==1.26.7" + }, + "zstandard": { + "hashes": [ + "sha256:04c298d381a3b6274b0a8001f0da0ec7819d052ad9c3b0863fe8c7f154061f76", + "sha256:0fde1c56ec118940974e726c2a27e5b54e71e16c6f81d0b4722112b91d2d9009", + "sha256:126aa8433773efad0871f624339c7984a9c43913952f77d5abeee7f95a0c0860", + "sha256:1a4fb8b4ac6772e4d656103ccaf2e43e45bd16b5da324b963d58ef360d09eb73", + "sha256:2e4812720582d0803e84aefa2ac48ce1e1e6e200ca3ce1ae2be6d410c1d637ae", + "sha256:2f01b27d0b453f07cbcff01405cdd007e71f5d6410eb01303a16ba19213e58e4", + "sha256:31d12fcd942dd8dbf52ca5f6b1bbe287f44e5d551a081a983ff3ea2082867863", + "sha256:3c927b6aa682c6d96225e1c797f4a5d0b9f777b327dea912b23471aaf5385376", + "sha256:3d5bb598963ac1f1f5b72dd006adb46ca6203e4fb7269a5b6e1f99e85b07ad38", + "sha256:401508efe02341ae681752a87e8ac9ef76df85ef1a238a7a21786a489d2c983d", + "sha256:4514b19abe6dbd36d6c5d75c54faca24b1ceb3999193c5b1f4b685abeabde3d0", + "sha256:47dfa52bed3097c705451bafd56dac26535545a987b6759fa39da1602349d7ba", + "sha256:4fa496d2d674c6e9cffc561639d17009d29adee84a27cf1e12d3c9be14aa8feb", + "sha256:55a513ec67e85abd8b8b83af8813368036f03e2d29a50fc94033504918273980", + "sha256:55b3187e0bed004533149882ef8c24e954321f3be81f8a9ceffe35099b82a0d0", + "sha256:593f96718ad906e24d6534187fdade28b611f8ed06e27ba972ba48aecec45fc6", + "sha256:5e21032efe673b887464667d09406bab6e16d96b09ad87e80859e3a20b6745b6", + "sha256:60a86b7b2b1c300779167cf595e019e61afcc0e20c4838692983a921db9006ac", + "sha256:619f9bf37cdb4c3dc9d4120d2a1003f5db9446f3618a323219f408f6a9df6725", + "sha256:660b91eca10ee1b44c47843894abe3e6cfd80e50c90dee3123befbf7ca486bd3", + "sha256:67710d220af405f5ce22712fa741d85e8b3ada7a457ea419b038469ba379837c", + "sha256:6caed86cd47ae93915d9031dc04be5283c275e1a2af2ceff33932071f3eeff4d", + "sha256:6d2182e648e79213b3881998b30225b3f4b1f3e681f1c1eaf4cacf19bde1040d", + "sha256:72758c9f785831d9d744af282d54c3e0f9db34f7eae521c33798695464993da2", + "sha256:74c2637d12eaacb503b0b06efdf55199a11b1d7c580bd3dd9dfe84cac97ef2f6", + "sha256:755020d5aeb1b10bffd93d119e7709a2a7475b6ad79c8d5226cea3f76d152ce0", + "sha256:7ccc4727300f223184520a6064c161a90b5d0283accd72d1455bcd85ec44dd0d", + "sha256:81ab21d03e3b0351847a86a0b298b297fde1e152752614138021d6d16a476ea6", + "sha256:8371217dff635cfc0220db2720fc3ce728cd47e72bb7572cca035332823dbdfc", + "sha256:876567136b0359f6581ecd892bdb4ca03a0eead0265db73206c78cff03bcdb0f", + "sha256:879411d04068bd489db57dcf6b82ffad3c5fb2a1fdd30817c566d8b7bedee442", + "sha256:898500957ae5e7f31b7271ace4e6f3625b38c0ac84e8cedde8de3a77a7fdae5e", + "sha256:8c9ca56345b0c5574db47560603de9d05f63cce5dfeb3a456eb60f3fec737ff2", + "sha256:8ec2c146e10b59c376b6bc0369929647fcd95404a503a7aa0990f21c16462248", + "sha256:8f7c68de4f362c1b2f426395fe4e05028c56d0782b2ec3ae18a5416eaf775576", + "sha256:909bdd4e19ea437eb9b45d6695d722f6f0fd9d8f493e837d70f92062b9f39faf", + "sha256:9d97c713433087ba5cee61a3e8edb54029753d45a4288ad61a176fa4718033ce", + "sha256:a65e0119ad39e855427520f7829618f78eb2824aa05e63ff19b466080cd99210", + "sha256:aa9087571729c968cd853d54b3f6e9d0ec61e45cd2c31e0eb8a0d4bdbbe6da2f", + "sha256:aef0889417eda2db000d791f9739f5cecb9ccdd45c98f82c6be531bdc67ff0f2", + "sha256:b253d0c53c8ee12c3e53d181fb9ef6ce2cd9c41cbca1c56a535e4fc8ec41e241", + "sha256:b80f6f6478f9d4ca26daee6c61584499493bf97950cfaa1a02b16bb5c2c17e70", + "sha256:be6329b5ba18ec5d32dc26181e0148e423347ed936dda48bf49fb243895d1566", + "sha256:c7560f622e3849cc8f3e999791a915addd08fafe80b47fcf3ffbda5b5151047c", + "sha256:d1a7a716bb04b1c3c4a707e38e2dee46ac544fff931e66d7ae944f3019fc55b8", + "sha256:d63b04e16df8ea21dfcedbf5a60e11cbba9d835d44cb3cbff233cfd037a916d5", + "sha256:d777d239036815e9b3a093fa9208ad314c040c26d7246617e70e23025b60083a", + "sha256:e892d3177380ec080550b56a7ffeab680af25575d291766bdd875147ba246a91", + "sha256:e9c90a44470f2999779057aeaf33461cbd8bb59d8f15e983150d10bb260e16e0", + "sha256:f097dda5d4f9b9b01b3c9fa2069f9c02929365f48f341feddf3d6b32510a2f93", + "sha256:f4ebfe03cbae821ef994b2e58e4df6a087470cc522aca502614e82a143365d45" + ], + "index": "pypi", + "version": "==0.19.0" } }, "develop": {} diff --git a/requirements.txt b/requirements.txt index 0f79083d17c14f2ce260b7d5dbed67181da8a14c..4bd8ac8528d10ee9bd9aa197583d95cda4f03c15 100644 GIT binary patch literal 563 zcmY*XTW-T35d7yZAcO5B{oo2!djw(=8x}9sZ*N_(D-PI*hrdbRG=8Xx3hLw*Utj7M2COVhR*+ zo)mo*eil>EV{TlH)~!(Nq19rKWSE?i&G~Hh3;POCIG0PM%Tr}+Ca>~u_vu#gC5**e zY-|u{MWadCty4X%6G!&3eNwM=FJzCr_liFdbwjd?@T|leJjX33qy^Pg%%4!<2CtHex8dpMAdaOLAnF=ndh85DD%m$s@zIQXqL`@5RxVVFAyc?1;x^ L*Gy&|@gJ~XJvpv4 literal 1128 zcmZ`&S#EjI20+A9RK%};ZZ~LA-!=zb+kVcICHk;p{wG^_J zMk<-4!?TxB-tep>kqqxj9_0ZQl?DOEOcx$`BKI5)+IwSZ?U<``Fjmi}z z>MP-PJ9DJiq`=RK73gn)9r9xewrl6NPJM5H#2v8>rVsMP>Rxq>@YPB^>mlN^YI+CX z2Qtg`F30y2=kO22TX(a{(mAgpQ?FR5DtQH#Z5OqV$i#Nfk_-8Ar;l(#ACvb&9~q_} z`Y&r7=6t<1#ElalfMv5Z$AOP3KfOvijw~lA+(AQybh*iep2If8Jz?G6Z~AgZGQF1U EA3hbQ7XSbN From cf966d34eccb718a1b97490674fcbeb227f112cc Mon Sep 17 00:00:00 2001 From: Raryel Date: Thu, 22 Dec 2022 17:43:47 -0300 Subject: [PATCH 16/16] Upgraded win setup generator --- script-installer-windows.iss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 script-installer-windows.iss diff --git a/script-installer-windows.iss b/script-installer-windows.iss old mode 100755 new mode 100644 index 7278bfd9..b643c8c8 --- a/script-installer-windows.iss +++ b/script-installer-windows.iss @@ -7,8 +7,8 @@ ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{5240AB76-FC62-4BFA-A1EF-FA49AF701F80} AppName=pyTranscriber -AppVersion=1.7 -;AppVerName=pyTranscriber 1.7 +AppVersion=1.9 +AppVerName=pyTranscriber 1.9 AppPublisher=Raryel C. Souza AppPublisherURL=https://github.com/raryelcostasouza/pyTranscriber AppSupportURL=https://github.com/raryelcostasouza/pyTranscriber