From 267ddcd92bdee8b7c6f7142ce517b4a05f5c0068 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 14 Oct 2022 13:50:29 +0800 Subject: [PATCH] bugfix --- kivyblocks/download.py | 7 +++++ kivyblocks/imgs/download.png | Bin 0 -> 37912 bytes kivyblocks/imgs/upload.png | Bin 0 -> 34151 bytes kivyblocks/markdown.py | 3 +- kivyblocks/register.py | 2 ++ kivyblocks/upload.py | 57 +++++++++++++++++++++++++++++++++++ 6 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 kivyblocks/download.py create mode 100644 kivyblocks/imgs/download.png create mode 100644 kivyblocks/imgs/upload.png create mode 100644 kivyblocks/upload.py diff --git a/kivyblocks/download.py b/kivyblocks/download.py new file mode 100644 index 0000000..784df93 --- /dev/null +++ b/kivyblocks/download.py @@ -0,0 +1,7 @@ +from kivy.properties import StringProperty + +class DownloadFile(ClickableIconText): + def __init__(self, **kw): + pass + + diff --git a/kivyblocks/imgs/download.png b/kivyblocks/imgs/download.png new file mode 100644 index 0000000000000000000000000000000000000000..99b9876f1ddf51e0024bc27d7fd22912abf53061 GIT binary patch literal 37912 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 SUN@q9R8qKnA?uvU-TwncWhv|c literal 0 HcmV?d00001 diff --git a/kivyblocks/markdown.py b/kivyblocks/markdown.py index fea4163..58e98d5 100644 --- a/kivyblocks/markdown.py +++ b/kivyblocks/markdown.py @@ -191,7 +191,7 @@ class MarkdownBody(VBox): self.md_obj = md_obj super().__init__(**kw) self.padding=padding - self.size_hint = None,None + self.size_hint = 1,None self.bind(parent=self.resize) self.resize() @@ -205,6 +205,7 @@ class MarkdownBody(VBox): f(v) def resize(self, *args): + return Logger.info('MDBody:resize called') if self.parent: ps = [0,0,0,0] diff --git a/kivyblocks/register.py b/kivyblocks/register.py index 0219800..f4a9f2f 100644 --- a/kivyblocks/register.py +++ b/kivyblocks/register.py @@ -42,10 +42,12 @@ from .block_test import BlockTest from .hierarchy import Hierarchy from .price import PriceView from .ffpyplayer_video import FFVideo +from .upload import UploadFile r = Factory.register # if kivy.platform in ['win','linux', 'macosx']: # r('ScreenWithMic', ScreenWithMic) +r('UploadFile', UploadFile) r('FFVideo', FFVideo) r('AnchorBox', AnchorBox) r('FloatBox', FloatBox) diff --git a/kivyblocks/upload.py b/kivyblocks/upload.py new file mode 100644 index 0000000..078ade4 --- /dev/null +++ b/kivyblocks/upload.py @@ -0,0 +1,57 @@ +import os +from kivy.properties import StringProperty, ListProperty +from kivyblocks.utils import blockImage, CSize +import requests +from plyer import filechooser +from .i18n import I18n +from .clickable import ClickableIconText +from .baseWidget import Running +from .message import Error + +class UploadFile(ClickableIconText): + upload_url = StringProperty(None) + name = StringProperty('upfile') + # suffixes = ListProperty([]) + def __init__(self, **kw): + super().__init__(**kw) + self.otext = 'please select file' + self.img_kw = { + "size_hint":[None, None], + "width":CSize(1), + "height":CSize(1) + } + self.source = blockImage('upload.png') + self.file_url = None + self.running = None + + def getValue(self): + return { + self.name:self.file_url + } + + def on_press(self, *args): + i18n = I18n() + filechooser.open_file(title=i18n('open file'), + on_selection=self.file_selected) + + def file_selected(self, files): + running = Running(self) + def readfile(f): + with open(f, 'rb') as o: + d = o.read(102400) + if not d: + return + yield d + fpath = files[0] + fn = os.path.basename(fpath) + print('fn=', fn) + headers={ + 'Content-Type': 'application/octet-stream', + 'Content-Disposition':'attachments;filename={}'.format(fn) + } + r = requests.post(self.upload_url, + data=readfile(files[0]), + headers=headers + ) + running.dismiss() +