diff options
author | nathansmithsmith <nathansmith7@mailfence.com> | 2023-11-10 04:30:14 +0000 |
---|---|---|
committer | nathansmithsmith <nathansmith7@mailfence.com> | 2023-11-10 04:30:14 +0000 |
commit | c0bd1ca2348d568b7f34081b09bc4e53baaff749 (patch) | |
tree | 5e9c64dd3195c05f36783cab8cd878a364da0322 /src | |
parent | 40b98d98f8dcc7b8a6da46e825d667989a436c67 (diff) | |
download | youload-c0bd1ca2348d568b7f34081b09bc4e53baaff749.tar.gz youload-c0bd1ca2348d568b7f34081b09bc4e53baaff749.tar.bz2 youload-c0bd1ca2348d568b7f34081b09bc4e53baaff749.zip |
App somewhat working on android
Diffstat (limited to 'src')
-rw-r--r-- | src/main.py | 10 | ||||
-rw-r--r-- | src/util.py | 9 | ||||
-rw-r--r-- | src/view/app.py | 17 | ||||
-rw-r--r-- | src/view/file_chooser.py | 8 |
4 files changed, 30 insertions, 14 deletions
diff --git a/src/main.py b/src/main.py index 98838fa..7b17930 100644 --- a/src/main.py +++ b/src/main.py @@ -1,7 +1,9 @@ from view.app import YouloadApp +import ssl -if __name__ == "__main__": - app = YouloadApp() - run = app.run() - print(run) +ssl._create_default_https_context = ssl._create_unverified_context + +app = YouloadApp() +run = app.run() +print(run) diff --git a/src/util.py b/src/util.py new file mode 100644 index 0000000..4b82c77 --- /dev/null +++ b/src/util.py @@ -0,0 +1,9 @@ +import os +from kivy.utils import platform + +def get_default_download_dir() -> str: + if platform == "android": + return "/sdcard/Download" + else: + from pathlib import Path + return os.path.join(str(Path.home()), "Downloads") diff --git a/src/view/app.py b/src/view/app.py index 203cc56..98c7842 100644 --- a/src/view/app.py +++ b/src/view/app.py @@ -3,18 +3,16 @@ from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button -from kivy.uix.floatlayout import FloatLayout from kivy.uix.textinput import TextInput -from kivy.uix.popup import Popup from kivy.uix.label import Label +from kivy import platform import threading -from pathlib import Path -import os from model.youload_playlist import YouLoadPlayList from view.file_chooser import YouloadFileChooser from view.download_type_chooser import YouloadDownloadTypeChooser +import util class YouloadApp(App): def build(self): @@ -54,7 +52,7 @@ class YouloadApp(App): self.download_type_button.bind(on_press=self.download_type_chooser.open) # Folder display. - self.folder_display = Label(text=os.getcwd(), size_hint=(0.4, 1.0)) + self.folder_display = Label(text=util.get_default_download_dir(), size_hint=(0.4, 1.0)) # choose folder button. self.choose_folder_button = Button(text="Folder", size_hint=(0.2, 1.0)) @@ -77,6 +75,12 @@ class YouloadApp(App): return layout + def on_start(self, **kwargs): + + if platform == "android": + from android.permissions import request_permissions, Permission + request_permissions([Permission.WRITE_EXTERNAL_STORAGE, Permission.READ_EXTERNAL_STORAGE]) + def uid_url_input(self, instance, value): self.url = value @@ -113,6 +117,8 @@ class YouloadApp(App): self.download_status.text = "Error getting playlist" except AttributeError: self.download_status.text = "Download type not supported" + except Exception as e: + self.downloads_display.text = repr(e) self.submit.text = "Download" self.is_downloading = False @@ -137,4 +143,3 @@ class YouloadApp(App): def on_stop(self): self.stop_download() - diff --git a/src/view/file_chooser.py b/src/view/file_chooser.py index dfba199..0129264 100644 --- a/src/view/file_chooser.py +++ b/src/view/file_chooser.py @@ -3,8 +3,8 @@ from kivy.uix.button import Button from kivy.uix.boxlayout import BoxLayout from kivy.uix.filechooser import FileChooserListView from kivy.uix.textinput import TextInput -from pathlib import Path -import os + +import util class YouloadFileChooser(Popup): @@ -16,7 +16,7 @@ class YouloadFileChooser(Popup): self.title = "Find folder" # Path input. - self.path_input = TextInput(text=str(Path.home()), multiline=False, size_hint=(0.9, 1.0)) + self.path_input = TextInput(text=util.get_default_download_dir(), multiline=False, size_hint=(0.9, 1.0)) self.path_input.bind(text=self.uid_path_input) # Close button. @@ -29,7 +29,7 @@ class YouloadFileChooser(Popup): # File chooser. self.file_chooser = FileChooserListView(size_hint=(1.0, 0.9)) - self.file_chooser.path = str(Path.home()) + self.file_chooser.path = util.get_default_download_dir() layout.add_widget(top_bar_layout) layout.add_widget(self.file_chooser) |