aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authornathansmithsmith <nathansmith7@mailfence.com>2023-11-10 04:30:14 +0000
committernathansmithsmith <nathansmith7@mailfence.com>2023-11-10 04:30:14 +0000
commitc0bd1ca2348d568b7f34081b09bc4e53baaff749 (patch)
tree5e9c64dd3195c05f36783cab8cd878a364da0322 /src
parent40b98d98f8dcc7b8a6da46e825d667989a436c67 (diff)
downloadyouload-c0bd1ca2348d568b7f34081b09bc4e53baaff749.tar.gz
youload-c0bd1ca2348d568b7f34081b09bc4e53baaff749.tar.bz2
youload-c0bd1ca2348d568b7f34081b09bc4e53baaff749.zip
App somewhat working on android
Diffstat (limited to 'src')
-rw-r--r--src/main.py10
-rw-r--r--src/util.py9
-rw-r--r--src/view/app.py17
-rw-r--r--src/view/file_chooser.py8
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)