From 0538ab06124927739020a4e85b3def92e6300fd6 Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Thu, 7 Apr 2022 16:26:09 -0400 Subject: [PATCH 01/13] Layout mais consistente, adicionando card --- .kivy/logs/kivy_22-04-07_13.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_14.txt | 58 +++++++++++++ .kivy/logs/kivy_22-04-07_15.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_16.txt | 28 +++++++ .kivy/logs/kivy_22-04-07_17.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_18.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_19.txt | 28 +++++++ .kivy/logs/kivy_22-04-07_20.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_21.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_22.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_23.txt | 40 +++++++++ .kivy/logs/kivy_22-04-07_24.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_25.txt | 42 ++++++++++ .kivy/logs/kivy_22-04-07_26.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_27.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_28.txt | 58 +++++++++++++ .kivy/logs/kivy_22-04-07_29.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_30.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_31.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_32.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_33.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_34.txt | 44 ++++++++++ .kivy/logs/kivy_22-04-07_35.txt | 69 +++++++++++++++ .kivy/logs/kivy_22-04-07_36.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_37.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_38.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_39.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_40.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_41.txt | 47 +++++++++++ .kivy/logs/kivy_22-04-07_42.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_43.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_44.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_45.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_46.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_47.txt | 26 ++++++ .kivy/logs/kivy_22-04-07_48.txt | 26 ++++++ banco.json | 2 +- crud.kv | 144 +++++++++++++++++++++++++------- crud.py | 25 +++++- 39 files changed, 1252 insertions(+), 35 deletions(-) create mode 100644 .kivy/logs/kivy_22-04-07_13.txt create mode 100644 .kivy/logs/kivy_22-04-07_14.txt create mode 100644 .kivy/logs/kivy_22-04-07_15.txt create mode 100644 .kivy/logs/kivy_22-04-07_16.txt create mode 100644 .kivy/logs/kivy_22-04-07_17.txt create mode 100644 .kivy/logs/kivy_22-04-07_18.txt create mode 100644 .kivy/logs/kivy_22-04-07_19.txt create mode 100644 .kivy/logs/kivy_22-04-07_20.txt create mode 100644 .kivy/logs/kivy_22-04-07_21.txt create mode 100644 .kivy/logs/kivy_22-04-07_22.txt create mode 100644 .kivy/logs/kivy_22-04-07_23.txt create mode 100644 .kivy/logs/kivy_22-04-07_24.txt create mode 100644 .kivy/logs/kivy_22-04-07_25.txt create mode 100644 .kivy/logs/kivy_22-04-07_26.txt create mode 100644 .kivy/logs/kivy_22-04-07_27.txt create mode 100644 .kivy/logs/kivy_22-04-07_28.txt create mode 100644 .kivy/logs/kivy_22-04-07_29.txt create mode 100644 .kivy/logs/kivy_22-04-07_30.txt create mode 100644 .kivy/logs/kivy_22-04-07_31.txt create mode 100644 .kivy/logs/kivy_22-04-07_32.txt create mode 100644 .kivy/logs/kivy_22-04-07_33.txt create mode 100644 .kivy/logs/kivy_22-04-07_34.txt create mode 100644 .kivy/logs/kivy_22-04-07_35.txt create mode 100644 .kivy/logs/kivy_22-04-07_36.txt create mode 100644 .kivy/logs/kivy_22-04-07_37.txt create mode 100644 .kivy/logs/kivy_22-04-07_38.txt create mode 100644 .kivy/logs/kivy_22-04-07_39.txt create mode 100644 .kivy/logs/kivy_22-04-07_40.txt create mode 100644 .kivy/logs/kivy_22-04-07_41.txt create mode 100644 .kivy/logs/kivy_22-04-07_42.txt create mode 100644 .kivy/logs/kivy_22-04-07_43.txt create mode 100644 .kivy/logs/kivy_22-04-07_44.txt create mode 100644 .kivy/logs/kivy_22-04-07_45.txt create mode 100644 .kivy/logs/kivy_22-04-07_46.txt create mode 100644 .kivy/logs/kivy_22-04-07_47.txt create mode 100644 .kivy/logs/kivy_22-04-07_48.txt diff --git a/.kivy/logs/kivy_22-04-07_13.txt b/.kivy/logs/kivy_22-04-07_13.txt new file mode 100644 index 0000000..07916b6 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_13.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_13.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_14.txt b/.kivy/logs/kivy_22-04-07_14.txt new file mode 100644 index 0000000..2cbe62c --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_14.txt @@ -0,0 +1,58 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_14.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 112, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/app.py", line 950, in run +[WARNING] stderr: runTouchApp() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 582, in runTouchApp +[WARNING] stderr: EventLoop.mainloop() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 347, in mainloop +[WARNING] stderr: self.idle() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 391, in idle +[WARNING] stderr: self.dispatch_input() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 342, in dispatch_input +[WARNING] stderr: post_dispatch_input(*pop(0)) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 308, in post_dispatch_input +[WARNING] stderr: wid.dispatch('on_touch_up', me) +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/list.py", line 854, in on_touch_up +[WARNING] stderr: super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 296, in on_touch_up +[WARNING] stderr: return super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/uix/behaviors/button.py", line 179, in on_touch_up +[WARNING] stderr: self.dispatch('on_release') +[WARNING] stderr: File "kivy/_event.pyx", line 705, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "kivy/_event.pyx", line 1248, in kivy._event.EventObservers.dispatch +[WARNING] stderr: File "kivy/_event.pyx", line 1132, in kivy._event.EventObservers._dispatch +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 57, in custom_callback +[WARNING] stderr: exec(__kvlang__.co_value, idmap) +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.kv", line 4, in +[WARNING] stderr: on_release: app.abrir +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 76, in __getattribute__ +[WARNING] stderr: return getattr(object.__getattribute__(self, '_obj'), name) +[WARNING] stderr: AttributeError: 'MyCrud' object has no attribute 'abrir' diff --git a/.kivy/logs/kivy_22-04-07_15.txt b/.kivy/logs/kivy_22-04-07_15.txt new file mode 100644 index 0000000..6e71979 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_15.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_15.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_16.txt b/.kivy/logs/kivy_22-04-07_16.txt new file mode 100644 index 0000000..53f97d6 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_16.txt @@ -0,0 +1,28 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_16.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] Logger: Purge log fired. Analysing... +[INFO ] Logger: Purge finished! +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_17.txt b/.kivy/logs/kivy_22-04-07_17.txt new file mode 100644 index 0000000..a992af8 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_17.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_17.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_18.txt b/.kivy/logs/kivy_22-04-07_18.txt new file mode 100644 index 0000000..01b9884 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_18.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_18.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_19.txt b/.kivy/logs/kivy_22-04-07_19.txt new file mode 100644 index 0000000..e61b946 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_19.txt @@ -0,0 +1,28 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_19.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] Logger: Purge log fired. Analysing... +[INFO ] Logger: Purge finished! +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_20.txt b/.kivy/logs/kivy_22-04-07_20.txt new file mode 100644 index 0000000..df4a46e --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_20.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_20.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_21.txt b/.kivy/logs/kivy_22-04-07_21.txt new file mode 100644 index 0000000..ecbdf7b --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_21.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_21.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_22.txt b/.kivy/logs/kivy_22-04-07_22.txt new file mode 100644 index 0000000..5e25ec4 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_22.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_22.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_23.txt b/.kivy/logs/kivy_22-04-07_23.txt new file mode 100644 index 0000000..7df44fe --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_23.txt @@ -0,0 +1,40 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_23.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/theming.py", line 1126, in __init__ +[WARNING] stderr: App.get_running_app().property("theme_cls", True), +[WARNING] stderr: AttributeError: 'NoneType' object has no attribute 'property' +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 15, in +[WARNING] stderr: kv = Builder.load_file('crud.kv') +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 306, in load_file +[WARNING] stderr: return self.load_string(data, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 404, in load_string +[WARNING] stderr: widget = Factory.get(parser.root.name)(__no_builder=True) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/button.py", line 1800, in __init__ +[WARNING] stderr: super().__init__(**kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/theming.py", line 1134, in __init__ +[WARNING] stderr: raise ValueError( +[WARNING] stderr: ValueError: KivyMD: App object must be initialized before loading root widget. See https://github.com/kivymd/KivyMD/wiki/Modules-Material-App#exceptions diff --git a/.kivy/logs/kivy_22-04-07_24.txt b/.kivy/logs/kivy_22-04-07_24.txt new file mode 100644 index 0000000..a86d639 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_24.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_24.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_25.txt b/.kivy/logs/kivy_22-04-07_25.txt new file mode 100644 index 0000000..46e55ee --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_25.txt @@ -0,0 +1,42 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_25.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/theming.py", line 1126, in __init__ +[WARNING] stderr: App.get_running_app().property("theme_cls", True), +[WARNING] stderr: AttributeError: 'NoneType' object has no attribute 'property' +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 15, in +[WARNING] stderr: kv = Builder.load_file('crud.kv') +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 306, in load_file +[WARNING] stderr: return self.load_string(data, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 408, in load_string +[WARNING] stderr: self._apply_rule( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 659, in _apply_rule +[WARNING] stderr: child = cls(__no_builder=True) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/button.py", line 1800, in __init__ +[WARNING] stderr: super().__init__(**kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/theming.py", line 1134, in __init__ +[WARNING] stderr: raise ValueError( +[WARNING] stderr: ValueError: KivyMD: App object must be initialized before loading root widget. See https://github.com/kivymd/KivyMD/wiki/Modules-Material-App#exceptions diff --git a/.kivy/logs/kivy_22-04-07_26.txt b/.kivy/logs/kivy_22-04-07_26.txt new file mode 100644 index 0000000..3503b04 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_26.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_26.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_27.txt b/.kivy/logs/kivy_22-04-07_27.txt new file mode 100644 index 0000000..ecf4394 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_27.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_27.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_28.txt b/.kivy/logs/kivy_22-04-07_28.txt new file mode 100644 index 0000000..0a30d9f --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_28.txt @@ -0,0 +1,58 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_28.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 112, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/app.py", line 950, in run +[WARNING] stderr: runTouchApp() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 582, in runTouchApp +[WARNING] stderr: EventLoop.mainloop() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 347, in mainloop +[WARNING] stderr: self.idle() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 391, in idle +[WARNING] stderr: self.dispatch_input() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 342, in dispatch_input +[WARNING] stderr: post_dispatch_input(*pop(0)) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 308, in post_dispatch_input +[WARNING] stderr: wid.dispatch('on_touch_up', me) +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/list.py", line 854, in on_touch_up +[WARNING] stderr: super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 296, in on_touch_up +[WARNING] stderr: return super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/uix/behaviors/button.py", line 179, in on_touch_up +[WARNING] stderr: self.dispatch('on_release') +[WARNING] stderr: File "kivy/_event.pyx", line 705, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "kivy/_event.pyx", line 1248, in kivy._event.EventObservers.dispatch +[WARNING] stderr: File "kivy/_event.pyx", line 1132, in kivy._event.EventObservers._dispatch +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 57, in custom_callback +[WARNING] stderr: exec(__kvlang__.co_value, idmap) +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.kv", line 4, in +[WARNING] stderr: on_release: app.abrir +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 76, in __getattribute__ +[WARNING] stderr: return getattr(object.__getattribute__(self, '_obj'), name) +[WARNING] stderr: AttributeError: 'MyCrud' object has no attribute 'abrir' diff --git a/.kivy/logs/kivy_22-04-07_29.txt b/.kivy/logs/kivy_22-04-07_29.txt new file mode 100644 index 0000000..dfacf9f --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_29.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_29.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_30.txt b/.kivy/logs/kivy_22-04-07_30.txt new file mode 100644 index 0000000..0d95bf8 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_30.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_30.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_31.txt b/.kivy/logs/kivy_22-04-07_31.txt new file mode 100644 index 0000000..a310fd3 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_31.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_31.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_32.txt b/.kivy/logs/kivy_22-04-07_32.txt new file mode 100644 index 0000000..c5d1fb4 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_32.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_32.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_33.txt b/.kivy/logs/kivy_22-04-07_33.txt new file mode 100644 index 0000000..fae97d7 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_33.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_33.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_34.txt b/.kivy/logs/kivy_22-04-07_34.txt new file mode 100644 index 0000000..a3ee339 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_34.txt @@ -0,0 +1,44 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_34.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 15, in +[WARNING] stderr: kv = Builder.load_file('crud.kv') +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 306, in load_file +[WARNING] stderr: return self.load_string(data, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 373, in load_string +[WARNING] stderr: parser = Parser(content=string, filename=fn) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 402, in __init__ +[WARNING] stderr: self.parse(content) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 515, in parse +[WARNING] stderr: rule.precompile() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 264, in precompile +[WARNING] stderr: x.precompile() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 264, in precompile +[WARNING] stderr: x.precompile() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 260, in precompile +[WARNING] stderr: x.precompile() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 181, in precompile +[WARNING] stderr: compile(value, self.ctx.filename or '', 'eval') +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.kv", line 144 +[WARNING] stderr: .2' +[WARNING] stderr: ^ +[WARNING] stderr: SyntaxError: EOL while scanning string literal diff --git a/.kivy/logs/kivy_22-04-07_35.txt b/.kivy/logs/kivy_22-04-07_35.txt new file mode 100644 index 0000000..2dd169e --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_35.txt @@ -0,0 +1,69 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_35.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "kivy/properties.pyx", line 861, in kivy.properties.ObservableDict.__getattr__ +[WARNING] stderr: KeyError: 'colecao' +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 115, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/app.py", line 950, in run +[WARNING] stderr: runTouchApp() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 582, in runTouchApp +[WARNING] stderr: EventLoop.mainloop() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 347, in mainloop +[WARNING] stderr: self.idle() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 391, in idle +[WARNING] stderr: self.dispatch_input() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 342, in dispatch_input +[WARNING] stderr: post_dispatch_input(*pop(0)) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/base.py", line 308, in post_dispatch_input +[WARNING] stderr: wid.dispatch('on_touch_up', me) +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/button.py", line 1487, in on_touch_up +[WARNING] stderr: super(MDFloatingActionButton, self).on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 296, in on_touch_up +[WARNING] stderr: return super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/button.py", line 981, in on_touch_up +[WARNING] stderr: return super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/button.py", line 1101, in on_touch_up +[WARNING] stderr: return super().on_touch_up(touch) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/uix/behaviors/button.py", line 179, in on_touch_up +[WARNING] stderr: self.dispatch('on_release') +[WARNING] stderr: File "kivy/_event.pyx", line 705, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "kivy/_event.pyx", line 1248, in kivy._event.EventObservers.dispatch +[WARNING] stderr: File "kivy/_event.pyx", line 1172, in kivy._event.EventObservers._dispatch +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/uix/button.py", line 1886, in +[WARNING] stderr: on_release=lambda x=bottom_button: self.callback(x) +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 99, in callback +[WARNING] stderr: self.root.Remover() +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 48, in Remover +[WARNING] stderr: key = self.ids.colecao.text +[WARNING] stderr: File "kivy/properties.pyx", line 864, in kivy.properties.ObservableDict.__getattr__ +[WARNING] stderr: AttributeError: 'super' object has no attribute '__getattr__' diff --git a/.kivy/logs/kivy_22-04-07_36.txt b/.kivy/logs/kivy_22-04-07_36.txt new file mode 100644 index 0000000..95e339c --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_36.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_36.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_37.txt b/.kivy/logs/kivy_22-04-07_37.txt new file mode 100644 index 0000000..5e260b4 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_37.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_37.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_38.txt b/.kivy/logs/kivy_22-04-07_38.txt new file mode 100644 index 0000000..e32f55a --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_38.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_38.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_39.txt b/.kivy/logs/kivy_22-04-07_39.txt new file mode 100644 index 0000000..1d38974 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_39.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_39.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_40.txt b/.kivy/logs/kivy_22-04-07_40.txt new file mode 100644 index 0000000..1d726cd --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_40.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_40.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_41.txt b/.kivy/logs/kivy_22-04-07_41.txt new file mode 100644 index 0000000..5f2c61f --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_41.txt @@ -0,0 +1,47 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_41.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/crud.py", line 17, in +[WARNING] stderr: kv = Builder.load_file('crud.kv') +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 306, in load_file +[WARNING] stderr: return self.load_string(data, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/builder.py", line 373, in load_string +[WARNING] stderr: parser = Parser(content=string, filename=fn) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 402, in __init__ +[WARNING] stderr: self.parse(content) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 511, in parse +[WARNING] stderr: objects, remaining_lines = self.parse_level(0, lines) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 614, in parse_level +[WARNING] stderr: _objects, _lines = self.parse_level( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 614, in parse_level +[WARNING] stderr: _objects, _lines = self.parse_level( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/lang/parser.py", line 684, in parse_level +[WARNING] stderr: raise ParserException(self, ln, +[WARNING] stderr: kivy.lang.parser.ParserException: Parser: File "/storage/emulated/0/kivymd-crud/crud.kv", line 166: +[WARNING] stderr: ... +[WARNING] stderr: 164: MDFloatLayout: +[WARNING] stderr: 165: canvas.before: +[WARNING] stderr: >> 166: Color: +[WARNING] stderr: 167: rgba: hex('eeeeee') +[WARNING] stderr: 168: Rectangle: +[WARNING] stderr: ... +[WARNING] stderr: Invalid indentation (too many levels) diff --git a/.kivy/logs/kivy_22-04-07_42.txt b/.kivy/logs/kivy_22-04-07_42.txt new file mode 100644 index 0000000..f497b77 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_42.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_42.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_43.txt b/.kivy/logs/kivy_22-04-07_43.txt new file mode 100644 index 0000000..dd98a65 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_43.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_43.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_44.txt b/.kivy/logs/kivy_22-04-07_44.txt new file mode 100644 index 0000000..d79392d --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_44.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_44.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_45.txt b/.kivy/logs/kivy_22-04-07_45.txt new file mode 100644 index 0000000..53c8c46 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_45.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_45.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_46.txt b/.kivy/logs/kivy_22-04-07_46.txt new file mode 100644 index 0000000..7c2a390 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_46.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_46.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_47.txt b/.kivy/logs/kivy_22-04-07_47.txt new file mode 100644 index 0000000..21ed390 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_47.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_47.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-07_48.txt b/.kivy/logs/kivy_22-04-07_48.txt new file mode 100644 index 0000000..db7d601 --- /dev/null +++ b/.kivy/logs/kivy_22-04-07_48.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-07_48.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 6 2021, 01:34:26) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/banco.json b/banco.json index c5ea7e2..a40ddc4 100644 --- a/banco.json +++ b/banco.json @@ -1 +1 @@ -{"ANDRIA": {"nome": "ANDRIA", "idade": "18"}, "JHULY": {"nome": "JHULY", "idade": "19"}, "JASIEL": {"nome": "JASIEL", "idade": "19"}, "JESIEL": {"nome": "JESIEL", "idade": "21"}, "JHENIFFY": {"nome": "JHENIFFY", "idade": "19"}, "GEZIELE": {"nome": "GEZIELE", "idade": "20"}} \ No newline at end of file +{"ANDRIA": {"nome": "ANDRIA", "idade": "18"}, "JHULY": {"nome": "JHULY", "idade": "19"}, "JASIEL": {"nome": "JASIEL", "idade": "19"}, "JESIEL": {"nome": "JESIEL", "idade": "21"}, "JHENIFFY": {"nome": "JHENIFFY", "idade": "19"}, "GEZIELE": {"nome": "GEZIELE", "idade": "20"}, "GERARDO": {"nome": "GERARDO", "idade": "40"}} \ No newline at end of file diff --git a/crud.kv b/crud.kv index f4501ba..4e0c185 100644 --- a/crud.kv +++ b/crud.kv @@ -1,5 +1,27 @@ #:import hex kivy.utils.get_color_from_hex + + padding: 16 + size_hint: None, None + size: "200dp", "100dp" + + MDRelativeLayout: + size_hint: None, None + size: root.size + + MDIconButton: + icon: "dots-vertical" + pos: + root.width - (self.width + root.padding[0] + dp(4)), root.height - (self.height + root.padding[0] + dp(4)) + + MDLabel: + id: label + text: root.text + adaptive_size: True + color: .2, .2, .2, .8 + + + : on_release: app.abrir ImageLeftWidget: @@ -25,14 +47,16 @@ MDToolbar: title: 'CRUD App' - elevation: .10 - size_hint_y: .15 + elevation: 10 + #size_hint_y: .15 MDBoxLayout: orientation: 'vertical' + MDBoxLayout: + id: content - size_hint_y: .6 + #size_hint_y: .6 orientation: 'vertical' canvas.before: @@ -56,41 +80,97 @@ - MDBoxLayout: + #g: 0 - id: box - orientation: 'vertical' - # - halign: 'center' - canvas.before: - Color: - rgba: hex('#eeeeee') - Rectangle: - size: self.size - pos: self.pos +# - MDBoxLayout: - # spacing: '10dp' - # size_hint_y: '10px' - orientation: 'vertical' +# + +# + +# + +# + +# + +# + +# + +# MDBoxLayout: + +# + +# id: box + +# orientation: 'vertical' + +# # + +# halign: 'center' - MDTextField: - id: colecao - hint_text: "Nome" - multiline: False - halign: 'center' - on_text_validate: root.Adicionar(self.text) - spacing: ('10px', '5px') +# canvas.before: +# Color: - MDTextField: - id: idade - hint_text: "Idade" - multiline: False - halign: 'center' - on_text_validate: root.Adicionar(self.text) +# rgba: hex + #eeee') +# Rectangle: + +# size: self.size + +# pos: self.pos + +# + +# MDBoxLayout: + +# # spacing: '10dp' + +# # size_hint_y: '10px' + +# orientation: 'vertical' + +# + +# MDTextField: + +# id: colecao + +# hint_text: "Nome" + +# multiline: False + +# halign: 'center' + +# on_text_validate: root.Adicionar(self.text) + +# spacing: ('10px', '5px') + +# + +# + +# MDTextField: + +# id: idade + +# hint_text: "Idade" + +# mu + + MDFloatLayout: + canvas.before: + Color: + rgba: hex('#282828') + Rectangle: + size: self.size + pos: self.pos + size_hint_y: .00001 + #size_hint_x: .2 MDFloatingActionButtonSpeedDial: data: app.data callback: app.callback @@ -101,7 +181,7 @@ - # MDBoxLayout: + #MDBoxLayout: diff --git a/crud.py b/crud.py index 1f7cef9..2c03c1a 100644 --- a/crud.py +++ b/crud.py @@ -1,6 +1,8 @@ from kivymd.app import MDApp from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.list import TwoLineListItem, TwoLineAvatarListItem +from kivymd.uix.behaviors import RoundedRectangularElevationBehavior +from kivymd.uix.card import MDCard from kivymd.uix.card import MDCardSwipe from kivy.properties import StringProperty from kivymd.toast import toast @@ -15,12 +17,16 @@ kv = Builder.load_file('crud.kv') +class MD3Card(MDCard, RoundedRectangularElevationBehavior): + '''Implements a material design v3 card.''' + + text = StringProperty() -class ListComAvatar(TwoLineAvatarListItem): - source = StringProperty("data/logo/kivy-icon-256.png") +class ListComAvatar(TwoLineAvatarListItem): + source = StringProperty("data/logo/kivy-icon-256.png") @@ -83,6 +89,21 @@ class MyCrud(MDApp): } def on_start(self): self.root.Listar() + styles = { + "elevated": "#f6eeee", "filled": "#f4dedc", "outlined": "#f8f5f4" + } + for style in styles.keys(): + self.root.ids.content.add_widget( + MD3Card( + line_color=(0.2, 0.2, 0.2, 0.8), + style=style, + text=style.capitalize(), + md_bg_color=get_color_from_hex(styles[style]), + ) + ) + + def abrir(self, instance): + print('Certo') def callback(self, instance): print(instance.icon) From bcac5d3ed6936572d45ada113d50e45a9e439073 Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Thu, 7 Apr 2022 22:49:35 -0400 Subject: [PATCH 02/13] =?UTF-8?q?N=C3=A3o=20consegui=20adicionar=20o=20car?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crud.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/crud.py b/crud.py index 2c03c1a..1a6bf05 100644 --- a/crud.py +++ b/crud.py @@ -89,18 +89,9 @@ class MyCrud(MDApp): } def on_start(self): self.root.Listar() - styles = { - "elevated": "#f6eeee", "filled": "#f4dedc", "outlined": "#f8f5f4" - } - for style in styles.keys(): - self.root.ids.content.add_widget( - MD3Card( - line_color=(0.2, 0.2, 0.2, 0.8), - style=style, - text=style.capitalize(), - md_bg_color=get_color_from_hex(styles[style]), - ) - ) + # styles = {"elevated": "#f6eeee", "filled": "#f4dedc", "outlined": "#f8f5f4"} + # for style in styles.keys(): + # self.root.ids.content.add_widget(MD3Card(line_color=(0.2, 0.2, 0.2, 0.8), style=style, text=style.capitalize(), md_bg_color=hex(styles[style]),)) def abrir(self, instance): print('Certo') From d63617b1aead8eb897f8fd6b9b2a424a68874b74 Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Fri, 8 Apr 2022 03:57:05 -0400 Subject: [PATCH 03/13] Navbar menu, dropdownmenu --- crud.kv | 57 ++++++++++++++++++++++++----------------------- crud.py | 69 ++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 85 insertions(+), 41 deletions(-) diff --git a/crud.kv b/crud.kv index 4e0c185..47992d0 100644 --- a/crud.kv +++ b/crud.kv @@ -1,29 +1,26 @@ #:import hex kivy.utils.get_color_from_hex - - padding: 16 - size_hint: None, None - size: "200dp", "100dp" + + + + size_hint_x: .2 + adaptive_size: True + text: root.right_text + # font_style: "Caption" + IconLeftWidget: + icon: root.left_icon + + # RightContentCls: + # id: content_menu + - MDRelativeLayout: - size_hint: None, None - size: root.size - MDIconButton: - icon: "dots-vertical" - pos: - root.width - (self.width + root.padding[0] + dp(4)), root.height - (self.height + root.padding[0] + dp(4)) - MDLabel: - id: label - text: root.text - adaptive_size: True - color: .2, .2, .2, .8 : - on_release: app.abrir + on_release: app.abrir(root) ImageLeftWidget: source: root.source @@ -35,8 +32,8 @@ orientation: 'vertical' # size_hint_y: .5 canvas.before: - Color: - rgba: hex('#eeeeee') + # Color: + # rgba: hex('#eeeeee') Rectangle: size: self.size pos: self.pos @@ -44,11 +41,15 @@ spacing: .5 - + # Toolbar MDToolbar: - title: 'CRUD App' - elevation: 10 - #size_hint_y: .15 + title: "CRUD COM KIVY" + md_bg_color: app.theme_cls.primary_dark + right_action_items: [["dots-vertical", lambda x: app.chamada(x) ],] + + + + # Div MDBoxLayout: orientation: 'vertical' @@ -60,8 +61,8 @@ orientation: 'vertical' canvas.before: - Color: - rgba: hex('eeeeee') + # Color: + # rgba: hex('eeeeee') Rectangle: size: self.size pos: self.pos @@ -161,11 +162,11 @@ # hint_text: "Idade" # mu - + # SpeedDial MDFloatLayout: canvas.before: - Color: - rgba: hex('#282828') + # Color: + # rgba: hex('#282828') Rectangle: size: self.size pos: self.pos diff --git a/crud.py b/crud.py index 1a6bf05..abdafb7 100644 --- a/crud.py +++ b/crud.py @@ -1,11 +1,14 @@ from kivymd.app import MDApp from kivymd.uix.boxlayout import MDBoxLayout +from kivymd.uix.menu import MDDropdownMenu from kivymd.uix.list import TwoLineListItem, TwoLineAvatarListItem from kivymd.uix.behaviors import RoundedRectangularElevationBehavior from kivymd.uix.card import MDCard from kivymd.uix.card import MDCardSwipe from kivy.properties import StringProperty from kivymd.toast import toast +from kivymd.uix.snackbar import Snackbar +from kivymd.uix.list import IRightBodyTouch, OneLineAvatarIconListItem from kivy.lang import Builder from kivy.core.window import Window from kivy.storage.jsonstore import JsonStore @@ -13,17 +16,25 @@ store = JsonStore('banco.json') # store.put('tito', nome = 'Mathieu', idade=32) -#Window.size = 300, 600 +Window.size = 300, 600 kv = Builder.load_file('crud.kv') -class MD3Card(MDCard, RoundedRectangularElevationBehavior): - '''Implements a material design v3 card.''' +# class MD3Card(MDCard, RoundedRectangularElevationBehavior): +# '''Implements a material design v3 card.''' - text = StringProperty() +# text = StringProperty() +# class RightContentCls(IRightBodyTouch, MDBoxLayout): +# icon = StringProperty() +# text = StringProperty() +class Item(OneLineAvatarIconListItem): + left_icon = StringProperty() + right_text = StringProperty('fdxg') + + class ListComAvatar(TwoLineAvatarListItem): source = StringProperty("data/logo/kivy-icon-256.png") @@ -34,6 +45,8 @@ class ListComAvatar(TwoLineAvatarListItem): class VendasWindow(MDBoxLayout): def __init__(self, **kwargs): super().__init__(**kwargs) + + def Adicionar(self): @@ -72,29 +85,38 @@ def Listar(self): nome = store.get(key)['nome'] idade = store.get(key)['idade'] - self.ids.container.add_widget(ListComAvatar(text = f'[b]{nome}[/b]' , secondary_text = f'{idade} anos')) + self.ids.container.add_widget(ListComAvatar(text = nome , secondary_text = f'{idade} anos')) for key in store: print(store.get(key)['nome']) print(store.get(key)['idade']) + + + class MyCrud(MDApp): data = { - 'Mostrar todos': 'text-box-search', - 'Adicionar': 'notebook-plus-outline', - 'Remover': 'delete', 'Filtrar': 'magnify' - } + 'Mostrar todos': 'text-box-search', + 'Adicionar': 'notebook-plus-outline', + 'Remover': 'delete', 'Filtrar': 'magnify' + } + def __init__(self, **kwargs): + super().__init__(**kwargs) + + + + + + def on_start(self): self.root.Listar() - # styles = {"elevated": "#f6eeee", "filled": "#f4dedc", "outlined": "#f8f5f4"} - # for style in styles.keys(): - # self.root.ids.content.add_widget(MD3Card(line_color=(0.2, 0.2, 0.2, 0.8), style=style, text=style.capitalize(), md_bg_color=hex(styles[style]),)) + def abrir(self, instance): - print('Certo') + toast(instance.text) def callback(self, instance): print(instance.icon) @@ -110,9 +132,30 @@ def callback(self, instance): if instance.icon == 'magnify': self.root.Filtrar() def build(self): + self.theme_cls.theme_style = "Light" + self.theme_cls.primary_palette = "Purple" + lista = {'nome':'Adicionar', 'icon': 'plus'}, {'nome':'Remover', 'icon': 'delete'} + menu_items = [{ "right_text": str(key.get('nome')) ,"left_icon": str(key.get('icon')),"viewclass": "Item" , "on_release": lambda x=(str(key.get('nome'))): self.menu_chamada(x),} for key in lista] + self.menu = MDDropdownMenu( + items=menu_items, + width_mult=4) + + # def menu_chamada(self, button): + # self.menu.caller = button + # self.menu.open() return VendasWindow() + def chamada(self, button): + self.menu.caller = button + self.menu.open() + + def menu_chamada(self, text_item): + self.menu.dismiss() + Snackbar(text=text_item).open() + + + From c52db9acd398f7cf3a5166dae1eb8e13b3a7536c Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Fri, 8 Apr 2022 17:55:28 -0400 Subject: [PATCH 04/13] Tamanho da tela adaptativa ao dispositivo --- banco.json | 2 +- crud.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/banco.json b/banco.json index a40ddc4..ac7c9d2 100644 --- a/banco.json +++ b/banco.json @@ -1 +1 @@ -{"ANDRIA": {"nome": "ANDRIA", "idade": "18"}, "JHULY": {"nome": "JHULY", "idade": "19"}, "JASIEL": {"nome": "JASIEL", "idade": "19"}, "JESIEL": {"nome": "JESIEL", "idade": "21"}, "JHENIFFY": {"nome": "JHENIFFY", "idade": "19"}, "GEZIELE": {"nome": "GEZIELE", "idade": "20"}, "GERARDO": {"nome": "GERARDO", "idade": "40"}} \ No newline at end of file +{"Michael": {"nome": "Michael", "idade": "18"}, "Jason": {"nome": "Jason", "idade": "19"}, "JASIEL": {"nome": "JASIEL", "idade": "19"}, "JESIEL": {"nome": "JESIEL", "idade": "21"}, "JHENY": {"nome": "JHENY", "idade": "19"}, "GEZIELE": {"nome": "GEZIELE", "idade": "20"}, "GERARDO": {"nome": "GERARDO", "idade": "40"}} \ No newline at end of file diff --git a/crud.py b/crud.py index abdafb7..1bc3251 100644 --- a/crud.py +++ b/crud.py @@ -13,10 +13,18 @@ from kivy.core.window import Window from kivy.storage.jsonstore import JsonStore -store = JsonStore('banco.json') +# Configurações de Tela +from kivy.utils import platform +if platform == 'win': + Window.size = 300, 600 +# Banco de Dados +store = JsonStore('banco.json') # store.put('tito', nome = 'Mathieu', idade=32) -Window.size = 300, 600 + + + + kv = Builder.load_file('crud.kv') From fff0941a6b1317796b1c2fe84a984df796fb9e1e Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Sat, 9 Apr 2022 04:06:23 -0400 Subject: [PATCH 05/13] Adicionado Icones --- crud.kv | 106 +----------------------------------------------- crud.py | 48 +++------------------- img/user-64.png | Bin 0 -> 2268 bytes img/user.png | Bin 0 -> 6414 bytes 4 files changed, 6 insertions(+), 148 deletions(-) create mode 100644 img/user-64.png create mode 100644 img/user.png diff --git a/crud.kv b/crud.kv index 47992d0..15da69e 100644 --- a/crud.kv +++ b/crud.kv @@ -10,14 +10,6 @@ IconLeftWidget: icon: root.left_icon - # RightContentCls: - # id: content_menu - - - - - - : on_release: app.abrir(root) @@ -43,7 +35,7 @@ # Toolbar MDToolbar: - title: "CRUD COM KIVY" + title: "Banco de Dados" md_bg_color: app.theme_cls.primary_dark right_action_items: [["dots-vertical", lambda x: app.chamada(x) ],] @@ -76,92 +68,6 @@ - - - - - - #g: 0 - -# - -# - -# - -# - -# - -# - -# - -# - -# MDBoxLayout: - -# - -# id: box - -# orientation: 'vertical' - -# # - -# halign: 'center' - -# canvas.before: - -# Color: - -# rgba: hex - - #eeee') - -# Rectangle: - -# size: self.size - -# pos: self.pos - -# - -# MDBoxLayout: - -# # spacing: '10dp' - -# # size_hint_y: '10px' - -# orientation: 'vertical' - -# - -# MDTextField: - -# id: colecao - -# hint_text: "Nome" - -# multiline: False - -# halign: 'center' - -# on_text_validate: root.Adicionar(self.text) - -# spacing: ('10px', '5px') - -# - -# - -# MDTextField: - -# id: idade - -# hint_text: "Idade" - -# mu # SpeedDial MDFloatLayout: canvas.before: @@ -178,13 +84,3 @@ root_button_anim: True - - - - - #MDBoxLayout: - - - - - diff --git a/crud.py b/crud.py index 1bc3251..a9872c0 100644 --- a/crud.py +++ b/crud.py @@ -8,14 +8,14 @@ from kivy.properties import StringProperty from kivymd.toast import toast from kivymd.uix.snackbar import Snackbar -from kivymd.uix.list import IRightBodyTouch, OneLineAvatarIconListItem +from kivymd.uix.list import OneLineAvatarIconListItem from kivy.lang import Builder from kivy.core.window import Window from kivy.storage.jsonstore import JsonStore # Configurações de Tela from kivy.utils import platform -if platform == 'win': +if platform != 'android': Window.size = 300, 600 # Banco de Dados @@ -23,39 +23,21 @@ # store.put('tito', nome = 'Mathieu', idade=32) - - kv = Builder.load_file('crud.kv') -# class MD3Card(MDCard, RoundedRectangularElevationBehavior): -# '''Implements a material design v3 card.''' - -# text = StringProperty() - -# class RightContentCls(IRightBodyTouch, MDBoxLayout): -# icon = StringProperty() -# text = StringProperty() - - class Item(OneLineAvatarIconListItem): left_icon = StringProperty() - right_text = StringProperty('fdxg') - + right_text = StringProperty('') class ListComAvatar(TwoLineAvatarListItem): - source = StringProperty("data/logo/kivy-icon-256.png") - - + source = StringProperty("img/user-64.png") class VendasWindow(MDBoxLayout): def __init__(self, **kwargs): - super().__init__(**kwargs) - - - + super().__init__(**kwargs) def Adicionar(self): @@ -100,11 +82,6 @@ def Listar(self): print(store.get(key)['idade']) - - - - - class MyCrud(MDApp): data = { 'Mostrar todos': 'text-box-search', @@ -115,10 +92,6 @@ def __init__(self, **kwargs): super().__init__(**kwargs) - - - - def on_start(self): self.root.Listar() @@ -149,9 +122,6 @@ def build(self): items=menu_items, width_mult=4) - # def menu_chamada(self, button): - # self.menu.caller = button - # self.menu.open() return VendasWindow() def chamada(self, button): @@ -162,14 +132,6 @@ def menu_chamada(self, text_item): self.menu.dismiss() Snackbar(text=text_item).open() - - - - - - - - if __name__ == '__main__': MyCrud().run() diff --git a/img/user-64.png b/img/user-64.png new file mode 100644 index 0000000000000000000000000000000000000000..18d434ebdb8852032b3d3d02f5208cd78b5b8368 GIT binary patch literal 2268 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 Date: Thu, 14 Apr 2022 00:38:50 -0400 Subject: [PATCH 06/13] =?UTF-8?q?Adicionado=20fun=C3=A7=C3=A3o=20de=20pesq?= =?UTF-8?q?uisa,=20RecycleView=20e=20outras=20funcionalidades?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- banco.json | 1 - crud.kv | 26 +++++++++---- crud.py | 89 +++++++++++++++++++++++++++++--------------- database/banco.json | 7 ++++ img/scr.png | Bin 0 -> 31680 bytes 5 files changed, 85 insertions(+), 38 deletions(-) delete mode 100644 banco.json create mode 100644 database/banco.json create mode 100644 img/scr.png diff --git a/banco.json b/banco.json deleted file mode 100644 index ac7c9d2..0000000 --- a/banco.json +++ /dev/null @@ -1 +0,0 @@ -{"Michael": {"nome": "Michael", "idade": "18"}, "Jason": {"nome": "Jason", "idade": "19"}, "JASIEL": {"nome": "JASIEL", "idade": "19"}, "JESIEL": {"nome": "JESIEL", "idade": "21"}, "JHENY": {"nome": "JHENY", "idade": "19"}, "GEZIELE": {"nome": "GEZIELE", "idade": "20"}, "GERARDO": {"nome": "GERARDO", "idade": "40"}} \ No newline at end of file diff --git a/crud.kv b/crud.kv index 15da69e..14afb33 100644 --- a/crud.kv +++ b/crud.kv @@ -1,6 +1,5 @@ #:import hex kivy.utils.get_color_from_hex - size_hint_x: .2 @@ -44,7 +43,13 @@ # Div MDBoxLayout: orientation: 'vertical' - + + + MDTextField: + id: search_field + hint_text: 'Pesquisar' + on_text: root.existe(self.text, True) + MDBoxLayout: id: content @@ -59,12 +64,19 @@ size: self.size pos: self.pos + RecycleView: + id: rv + key_viewclass: 'viewclass' + key_size: 'height' + - ScrollView: - scroll_timeout : 100 - MDList: - id: container - padding: 0 + RecycleBoxLayout: + padding: dp(10) + default_size: None, dp(64) + default_size_hint: 1, None + size_hint_y: None + height: self.minimum_height + orientation: 'vertical' diff --git a/crud.py b/crud.py index a9872c0..a624193 100644 --- a/crud.py +++ b/crud.py @@ -11,24 +11,34 @@ from kivymd.uix.list import OneLineAvatarIconListItem from kivy.lang import Builder from kivy.core.window import Window -from kivy.storage.jsonstore import JsonStore + +from kivy.uix.textinput import TextInput +from kivymd.uix.label import MDLabel +import re +from kivy.uix.recycleview import RecycleView + + # Configurações de Tela from kivy.utils import platform if platform != 'android': Window.size = 300, 600 +from kivy.storage.jsonstore import JsonStore # Banco de Dados -store = JsonStore('banco.json') +store = JsonStore('database/banco.json') # store.put('tito', nome = 'Mathieu', idade=32) kv = Builder.load_file('crud.kv') + + + class Item(OneLineAvatarIconListItem): left_icon = StringProperty() - right_text = StringProperty('') + right_text = StringProperty() class ListComAvatar(TwoLineAvatarListItem): @@ -37,7 +47,36 @@ class ListComAvatar(TwoLineAvatarListItem): class VendasWindow(MDBoxLayout): def __init__(self, **kwargs): - super().__init__(**kwargs) + super().__init__(**kwargs) + + def existe(self, text='', search=False): + + def add_nome(nome, idade): + self.ids.rv.data.append( + { + 'viewclass': 'ListComAvatar', + 'text': str(nome), + 'secondary_text': str(idade) + + + } + ) + + + self.ids.rv.data = [] + + for key in store: + + nome = store.get(key)['nome'] + idade = store.get(key)['idade'] + if search: + if text in nome: + add_nome(nome, idade) + else: + add_nome(nome, idade) + + + def Adicionar(self): @@ -69,49 +108,39 @@ def Filtrar(self): toast('Test Kivy Toast') - def Listar(self): - res = store.find() - for key in store: - nome = store.get(key)['nome'] - idade = store.get(key)['idade'] - - self.ids.container.add_widget(ListComAvatar(text = nome , secondary_text = f'{idade} anos')) - - for key in store: - print(store.get(key)['nome']) - print(store.get(key)['idade']) - - class MyCrud(MDApp): + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.screen = VendasWindow() data = { 'Mostrar todos': 'text-box-search', 'Adicionar': 'notebook-plus-outline', 'Remover': 'delete', 'Filtrar': 'magnify' } - def __init__(self, **kwargs): - super().__init__(**kwargs) def on_start(self): - self.root.Listar() + self.screen.existe() def abrir(self, instance): toast(instance.text) + + def callback(self, instance): - print(instance.icon) - if instance.icon == 'text-box-search': - self.root.Listar() + Snackbar(text = instance.icon).open() + # if instance.icon == 'text-box-search': + # self.root.Listar() - elif instance.icon == 'notebook-plus-outline': - self.root.Adicionar() + # elif instance.icon == 'notebook-plus-outline': + # self.root.Adicionar() - if instance.icon == 'delete': - self.root.Remover() + # if instance.icon == 'delete': + # self.root.Remover() - if instance.icon == 'magnify': - self.root.Filtrar() + # if instance.icon == 'magnify': + # self.root.Filtrar() def build(self): self.theme_cls.theme_style = "Light" self.theme_cls.primary_palette = "Purple" @@ -122,7 +151,7 @@ def build(self): items=menu_items, width_mult=4) - return VendasWindow() + return self.screen def chamada(self, button): self.menu.caller = button diff --git a/database/banco.json b/database/banco.json new file mode 100644 index 0000000..3ba4c56 --- /dev/null +++ b/database/banco.json @@ -0,0 +1,7 @@ +{"Michael": {"nome": "Michael", "idade": "18"}, +"Jason": {"nome": "Jason", "idade": "19"}, + "JASIEL": {"nome": "JASIEL", "idade": "19"}, + "JESIEL": {"nome": "JESIEL", "idade": "21"}, + "JHENY": {"nome": "JHENY", "idade": "19"}, + "GEZIELE": {"nome": "GEZIELE", "idade": "20"}, + "GERARDO": {"nome": "GERARDO", "idade": "40"}} \ No newline at end of file diff --git a/img/scr.png b/img/scr.png new file mode 100644 index 0000000000000000000000000000000000000000..ee56f82adc9c4d180e16b6870c89c77378b8115d GIT binary patch literal 31680 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 Date: Thu, 14 Apr 2022 03:20:59 -0400 Subject: [PATCH 07/13] Tentando adicionar MVC ao projeto --- __pycache__/conf.cpython-310.pyc | Bin 0 -> 672 bytes __pycache__/create.cpython-310.pyc | Bin 0 -> 692 bytes __pycache__/main.cpython-310.pyc | Bin 0 -> 5248 bytes conf.kv | 22 ++ conf.py | 9 + create.kv | 22 ++ create.py | 10 + crud.kv | 98 ------ main.kv | 104 ++++++ crud.py => main.py | 349 ++++++++++--------- templates/__pycache__/conf.cpython-310.pyc | Bin 0 -> 741 bytes templates/__pycache__/create.cpython-310.pyc | Bin 0 -> 789 bytes templates/conf.kv | 22 ++ templates/conf.py | 13 + templates/create.kv | 22 ++ templates/create.py | 14 + 16 files changed, 421 insertions(+), 264 deletions(-) create mode 100644 __pycache__/conf.cpython-310.pyc create mode 100644 __pycache__/create.cpython-310.pyc create mode 100644 __pycache__/main.cpython-310.pyc create mode 100644 conf.kv create mode 100644 conf.py create mode 100644 create.kv create mode 100644 create.py delete mode 100644 crud.kv create mode 100644 main.kv rename crud.py => main.py (66%) create mode 100644 templates/__pycache__/conf.cpython-310.pyc create mode 100644 templates/__pycache__/create.cpython-310.pyc create mode 100644 templates/conf.kv create mode 100644 templates/conf.py create mode 100644 templates/create.kv create mode 100644 templates/create.py diff --git a/__pycache__/conf.cpython-310.pyc b/__pycache__/conf.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..461d312ef22adec891a40d2f2b67f429c38798ba GIT binary patch literal 672 zcmYjP&1&2*5T22LcWW0KLQj1G7rGBnN-0esr{oe!!5D;VX%}Z@dn>KeCiIp-ZheD7 z3cci2`UtxA)K}=K8hKlGK;n}$`o3>88uEM&F24PI{{ax-7cKT9bc;7`7@7nKRM26G zNSG=x#k0}@IUP_jE%qCmlJ(=xb&5K2-CYscp)6+qYZJHBs4_ z8fw9pt&#<^p^<87UDW7;Q^^SxtDEwVFz lN!9&odL=d(&o`-(&V)$XrmrUNuc=ptzGDU%W|-n3`wNuEooE06 literal 0 HcmV?d00001 diff --git a/__pycache__/create.cpython-310.pyc b/__pycache__/create.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f956fee940454f1070fffd1381205e764ddc18b6 GIT binary patch literal 692 zcmYjP&2H2%5T1#XY<9^afeI&HAQJ2YAcPRD#Hqa$gcL=xOzd5y>ueS~X=%l+m3rgI z86+-!6&}G?PP_sqJkEl4q_IB#ecv}8ck}rSe0=@+{zHxczi6@_v7fy1X=#ukQA3L* zBH>6!Eh|~TOvi0fCIQDfEz>t36PezCOclFk5Jx&V~!afu)i0BrGfwe literal 0 HcmV?d00001 diff --git a/__pycache__/main.cpython-310.pyc b/__pycache__/main.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6c09ab9feb24d1a6a4a123c891692f7753689b1c GIT binary patch literal 5248 zcmai2TXP&&5uW?bu2vUIvLfFiIkrhQi8cX3D1tGur39SVim{!98k`KHJxB6LbJ?7k zm94FHRVbNCUcv*fF;!AQ6(tII;}`fh@G`GF<(U^M6=J^bSzT6g6|*&G``o*~?$h08 z(&6EnhUcGu{cuT*YTCc3a`3TGc@uB;v94)C6MCe@x~JdM?-Ps2bP28q-cR6xY2v(-qLe-Z0Z{G!l<`qfA$$vG|yGjOki59#41^Ob=n* zNpF(rdUQOV@}`&`j-H99y=kULq7(5+?GcbS^&cok!1kF}10C7v$8|cf>Q>y7&CgG%+nsJk-Pq zIk{oI?GSbWv}hep;MC{fsnGe-ZU(#SH2*Qb+wI`LdW@Gt}SYOPku(+_nZz z#%}T3IQtbL-_Q&D`oiUQ8^qA{g)8a(Yr#g^$x$7-zObOuwn* zk=Md3znaUqINoo#ydLC%+HJ<%b2rmYBBZz}TX~SIbfQ4L6-kT=)8vZ08?1+^!Z7Fh z!hE1axi?X_?uBhhd*8}cn5^8u{!--|XtDD&$cQcXRuZ(&nZTWNBD zhsu>s7zxSyd>AH>12d|(<^B9>(q;)O*B7n@OEOwS#}HWEXhrgaP|`TJ9R>Mvs^X#& zBtoU3Xc*zku*&e42BTJeCrguCd8%Z0LO}YZAd{~w1xYJyuA-+~iGwg{uC2ES<%18_ zC~bTigw#A;Xr2M>X`aQUE%aL&z_tkC#fDS3zMllK^!=jd`*A8d5z%$u|D+Q{Wsjm` zRa7InockeAC~7KPxtsergx%59Y4mdO^^5aw+<8BfD!a2Pvryhykl9+Ew(qQk>l?9{ zYpIU7!;H5#)D&htk2iBrxSFHabZ$E$5dbMAngp>gk#fGh(!E8mKs1sDMNKTe^R7>tlP*P`Tz_Tb`#+#AXaJ9P5El0RB z(MwNu3B@jVpJ~gw(1r2P^-M7=Y~eg4UMs?VsCl-iiW>eMF(m5vuY9Iin&(1}k)r;A zOhk~C_S7O>?mmP9aWaHABkXc*Q(MI@q1My?r2me+*ez|xSY#QXVLR)I?#+E7c-0EqYRKje8@yOin1J*DX zS+Ovp>N*Z5<55^-+TKVeVeKMN8*J(gyD&qM6^2?bEIO2h6SUhuOFxE5|8gij-0C;sXvYPw-Kx}#hFb)R%E48Sb!!=PpJVwARmD7)0$ovXe_ zi+&#kOq$G7%~8=r0fm#lD9ja^H!9`sFHyUb$w0O4svl6rT$3C7i>elp;q>%<;25e3w-|jW%l>|ifif4n!;FcLk<5WehfHxcdHlz;4_w17Az~>BB1T4C z1XVaZOENC%CunIHB`!arafcwO+>~*;E|rhIzQF?!z%gP1j>!Qy`a=i6Apb{zFc{?h zbJz%52<(9V`vMh}x5Fq`f$EOlmRUagF2c?1Z4T%LGg-3BW)KFszi-L`)JhBjOTv6q4QxiiRZt7x~!i^Xaqxg5lm^g<2 zsu&j&_^)vo8iHG$MB=nDk61mR3{u2i0HWY{GyvtsChXNWNiFIuhBPeo9R3u8Gz$v8 zsHLP#6uD=`NH8WGacNW=FY98QbTL};u@`i@zj^CEfnJt9c z(HCI}Z=tS?O;iT>Qfs34vKEQ4_^5jLJ6lBWaVy8UqEz6NHKecfW3c#S-yptHte~+=-JmOVfCCF9o3Gc zXJ20Jh@k7P7zdj95O*zNGp5>Bv$n>xZX{--$b@~Ldf!oSHD`h@RHo5x{ zO;AnX%_xQaT-(CN+sNq^n~7f3aWXo7>uwMSBEVHczpwVql+DAv7zOc?2rg~WDkMow z>%P#pktMp-?B^X9S7ajZx78&ym6LF$PhpBWNyUpOiW;n1;Vj{bLdSzVn))FMGY#fF0sihfC{hPXO=+nCOP3=i{=Kt{Y6dsW!_LpX88tmKZ?K}Q%ctkaQxvUXpzDq)c9og1HETQ$iM=x#&Gfm zhm$3nvHCp;Kw!AYkX+N%t#50#;W%F#RRf~9-#XUb0ptls4&dI|r?ei4FWWskp1mVj zD%Vux`3r|mkW}ghD!}^!w=H$@JWUQC#7f@|{(>?65C?BG(#N&md4!=ok3h$I-vj29 zf01V}cRhnzBo-`Y3xOrf;xNnDMI2-fsz5gF6NZQQQ#UdH@4LKFX3(AJ^EP0`^`}PN zCMK$@R9vTm(k}HYDn6!ymR97~4(z!fdKb`<;>}1z3cZF++A?5x#uK;dTCVL5yVGNq zqLFloqI;|FH=16pyv;U|`zunNH`#CKg!h|pCJ}$(Pz0hkdZ3FfjErrdm8?wJXjOD| z8CQ` zb*j|ejPOZCQSd9qxZc98qIr)$anNTq%^T-t5|O(HS9`nig%$qO|T;Qs|Vk2)Nu?cbM: + orientation: 'vertical' + MDBoxLayout: + orientation: 'vertical' + # size_hint_y: .5 + canvas.before: + # Color: + # rgba: hex('#eeeeee') + Rectangle: + size: self.size + pos: self.pos + + + spacing: .5 + + # Toolbar + MDToolbar: + title: "Configurações" + md_bg_color: app.theme_cls.primary_dark + right_action_items: [["chevron-left", lambda x: app.voltar() ],] + + MDBoxLayout: \ No newline at end of file diff --git a/conf.py b/conf.py new file mode 100644 index 0000000..e4b4b70 --- /dev/null +++ b/conf.py @@ -0,0 +1,9 @@ +from kivy.uix.screenmanager import ScreenManager +from kivymd.uix.screen import MDScreen +from kivy.lang import Builder +import os + +class Conf(MDScreen): + def __init__(self, **kwargs): + super().__init__(**kwargs) + return Builder.load_file("conf.kv") \ No newline at end of file diff --git a/create.kv b/create.kv new file mode 100644 index 0000000..72d6110 --- /dev/null +++ b/create.kv @@ -0,0 +1,22 @@ +: + orientation: 'vertical' + MDBoxLayout: + orientation: 'vertical' + # size_hint_y: .5 + canvas.before: + # Color: + # rgba: hex('#eeeeee') + Rectangle: + size: self.size + pos: self.pos + + + spacing: .5 + + # Toolbar + MDToolbar: + title: "Cadastro" + md_bg_color: app.theme_cls.primary_dark + right_action_items: [["chevron-left", lambda x: app.voltar() ],] + + MDBoxLayout: \ No newline at end of file diff --git a/create.py b/create.py new file mode 100644 index 0000000..f8b6a0a --- /dev/null +++ b/create.py @@ -0,0 +1,10 @@ +from kivy.uix.screenmanager import ScreenManager +from kivymd.uix.screen import MDScreen +from kivy.lang import Builder +import os + + +class TelaCadastro(MDScreen): + def __init__(self, **kwargs): + super().__init__(**kwargs) + return Builder.load_file("create.kv") \ No newline at end of file diff --git a/crud.kv b/crud.kv deleted file mode 100644 index 14afb33..0000000 --- a/crud.kv +++ /dev/null @@ -1,98 +0,0 @@ -#:import hex kivy.utils.get_color_from_hex - - - - size_hint_x: .2 - adaptive_size: True - text: root.right_text - # font_style: "Caption" - IconLeftWidget: - icon: root.left_icon - - -: - on_release: app.abrir(root) - ImageLeftWidget: - source: root.source - - - -: - orientation: 'vertical' - MDBoxLayout: - orientation: 'vertical' - # size_hint_y: .5 - canvas.before: - # Color: - # rgba: hex('#eeeeee') - Rectangle: - size: self.size - pos: self.pos - - - spacing: .5 - - # Toolbar - MDToolbar: - title: "Banco de Dados" - md_bg_color: app.theme_cls.primary_dark - right_action_items: [["dots-vertical", lambda x: app.chamada(x) ],] - - - - # Div - MDBoxLayout: - orientation: 'vertical' - - - MDTextField: - id: search_field - hint_text: 'Pesquisar' - on_text: root.existe(self.text, True) - - - MDBoxLayout: - id: content - - #size_hint_y: .6 - orientation: 'vertical' - - canvas.before: - # Color: - # rgba: hex('eeeeee') - Rectangle: - size: self.size - pos: self.pos - - RecycleView: - id: rv - key_viewclass: 'viewclass' - key_size: 'height' - - - RecycleBoxLayout: - padding: dp(10) - default_size: None, dp(64) - default_size_hint: 1, None - size_hint_y: None - height: self.minimum_height - orientation: 'vertical' - - - - # SpeedDial - MDFloatLayout: - canvas.before: - # Color: - # rgba: hex('#282828') - Rectangle: - size: self.size - pos: self.pos - size_hint_y: .00001 - #size_hint_x: .2 - MDFloatingActionButtonSpeedDial: - data: app.data - callback: app.callback - root_button_anim: True - - diff --git a/main.kv b/main.kv new file mode 100644 index 0000000..3fa0ea8 --- /dev/null +++ b/main.kv @@ -0,0 +1,104 @@ +#:import hex kivy.utils.get_color_from_hex + +: + on_leave: app.previous_screen = self.name + + + size_hint_x: .2 + adaptive_size: True + text: root.right_text + # font_style: "Caption" + IconLeftWidget: + icon: root.left_icon + + +: + on_release: app.abrir(root) + ImageLeftWidget: + source: root.source + + + +: + MDBoxLayout: + orientation: 'vertical' + MDBoxLayout: + orientation: 'vertical' + # size_hint_y: .5 + canvas.before: + # Color: + # rgba: hex('#eeeeee') + Rectangle: + size: self.size + pos: self.pos + + + spacing: .5 + + # Toolbar + MDToolbar: + title: "Banco de Dados" + md_bg_color: app.theme_cls.primary_dark + right_action_items: [["dots-vertical", lambda x: app.chamada(x) ],] + + + + # Div + MDBoxLayout: + orientation: 'vertical' + + + MDTextField: + id: search_field + hint_text: 'Pesquisar' + on_text: root.existe(self.text, True) + + + MDBoxLayout: + id: content + + #size_hint_y: .6 + orientation: 'vertical' + + canvas.before: + # Color: + # rgba: hex('eeeeee') + Rectangle: + size: self.size + pos: self.pos + + RecycleView: + id: rv + key_viewclass: 'viewclass' + key_size: 'height' + + + RecycleBoxLayout: + padding: dp(10) + default_size: None, dp(64) + default_size_hint: 1, None + size_hint_y: None + height: self.minimum_height + orientation: 'vertical' + + + + # SpeedDial + MDFloatLayout: + canvas.before: + # Color: + # rgba: hex('#282828') + Rectangle: + size: self.size + pos: self.pos + size_hint_y: .00001 + #size_hint_x: .2 + + MDFloatingActionButtonSpeedDial: + data: app.data + callback: app.callback + root_button_anim: True + label_text_color: hex('#fafafa') + + + diff --git a/crud.py b/main.py similarity index 66% rename from crud.py rename to main.py index a624193..c45a7d3 100644 --- a/crud.py +++ b/main.py @@ -1,166 +1,183 @@ -from kivymd.app import MDApp -from kivymd.uix.boxlayout import MDBoxLayout -from kivymd.uix.menu import MDDropdownMenu -from kivymd.uix.list import TwoLineListItem, TwoLineAvatarListItem -from kivymd.uix.behaviors import RoundedRectangularElevationBehavior -from kivymd.uix.card import MDCard -from kivymd.uix.card import MDCardSwipe -from kivy.properties import StringProperty -from kivymd.toast import toast -from kivymd.uix.snackbar import Snackbar -from kivymd.uix.list import OneLineAvatarIconListItem -from kivy.lang import Builder -from kivy.core.window import Window - -from kivy.uix.textinput import TextInput -from kivymd.uix.label import MDLabel -import re -from kivy.uix.recycleview import RecycleView - - - -# Configurações de Tela -from kivy.utils import platform -if platform != 'android': - Window.size = 300, 600 - -from kivy.storage.jsonstore import JsonStore -# Banco de Dados -store = JsonStore('database/banco.json') -# store.put('tito', nome = 'Mathieu', idade=32) - - -kv = Builder.load_file('crud.kv') - - - - - -class Item(OneLineAvatarIconListItem): - left_icon = StringProperty() - right_text = StringProperty() - - -class ListComAvatar(TwoLineAvatarListItem): - source = StringProperty("img/user-64.png") - - -class VendasWindow(MDBoxLayout): - def __init__(self, **kwargs): - super().__init__(**kwargs) - - def existe(self, text='', search=False): - - def add_nome(nome, idade): - self.ids.rv.data.append( - { - 'viewclass': 'ListComAvatar', - 'text': str(nome), - 'secondary_text': str(idade) - - - } - ) - - - self.ids.rv.data = [] - - for key in store: - - nome = store.get(key)['nome'] - idade = store.get(key)['idade'] - if search: - if text in nome: - add_nome(nome, idade) - else: - add_nome(nome, idade) - - - - - def Adicionar(self): - - idade = self.ids.idade.text - colecao = self.ids.colecao.text - - - if store.exists(colecao): - print(f'{colecao} já existe') - toast(f'{colecao} já existe') - else: - store.put(colecao, nome = colecao, idade=idade) - toast(f'{colecao} foi adicionado') - - - def Remover(self): - key = self.ids.colecao.text - if store.exists(key): - store.delete(key) - toast(f'{key} foi deletado') - - else: - print(f'{key} não existe') - toast(f'{key} não existe') - - - def Filtrar(self): - print('Filtrar') - toast('Test Kivy Toast') - - -class MyCrud(MDApp): - def __init__(self, **kwargs): - super().__init__(**kwargs) - self.screen = VendasWindow() - data = { - 'Mostrar todos': 'text-box-search', - 'Adicionar': 'notebook-plus-outline', - 'Remover': 'delete', 'Filtrar': 'magnify' - } - - - def on_start(self): - self.screen.existe() - - - def abrir(self, instance): - toast(instance.text) - - - - def callback(self, instance): - Snackbar(text = instance.icon).open() - # if instance.icon == 'text-box-search': - # self.root.Listar() - - # elif instance.icon == 'notebook-plus-outline': - # self.root.Adicionar() - - # if instance.icon == 'delete': - # self.root.Remover() - - # if instance.icon == 'magnify': - # self.root.Filtrar() - def build(self): - self.theme_cls.theme_style = "Light" - self.theme_cls.primary_palette = "Purple" - - lista = {'nome':'Adicionar', 'icon': 'plus'}, {'nome':'Remover', 'icon': 'delete'} - menu_items = [{ "right_text": str(key.get('nome')) ,"left_icon": str(key.get('icon')),"viewclass": "Item" , "on_release": lambda x=(str(key.get('nome'))): self.menu_chamada(x),} for key in lista] - self.menu = MDDropdownMenu( - items=menu_items, - width_mult=4) - - return self.screen - - def chamada(self, button): - self.menu.caller = button - self.menu.open() - - def menu_chamada(self, text_item): - self.menu.dismiss() - Snackbar(text=text_item).open() - - -if __name__ == '__main__': - MyCrud().run() +from kivymd.app import MDApp +from kivymd.uix.boxlayout import MDBoxLayout +from kivymd.uix.menu import MDDropdownMenu +from kivymd.uix.list import TwoLineListItem, TwoLineAvatarListItem +from kivymd.uix.behaviors import RoundedRectangularElevationBehavior +from kivymd.uix.card import MDCard +from kivymd.uix.card import MDCardSwipe +from kivy.properties import StringProperty +from kivymd.toast import toast +from kivymd.uix.snackbar import Snackbar +from kivymd.uix.list import OneLineAvatarIconListItem +from kivy.lang import Builder +from kivy.core.window import Window +from kivy.uix.screenmanager import ScreenManager +from kivymd.uix.screen import MDScreen +from kivy.uix.textinput import TextInput +from kivymd.uix.label import MDLabel +import re +from kivy.uix.recycleview import RecycleView +from conf import Conf +from create import TelaCadastro + + + +# Configurações de Tela +from kivy.utils import platform +if platform != 'android': + Window.size = 300, 600 + +from kivy.storage.jsonstore import JsonStore +# Banco de Dados +store = JsonStore('database/banco.json') +# store.put('tito', nome = 'Mathieu', idade=32) + + +kv = Builder.load_file('main.kv') + + + +class Item(OneLineAvatarIconListItem): + left_icon = StringProperty() + right_text = StringProperty() + + +class ListComAvatar(TwoLineAvatarListItem): + source = StringProperty("img/user-64.png") + + +class SM(ScreenManager): + def __init__(self, **kwargs): + super().__init__(**kwargs) + + self.add_widget(InicioWindow(name='inicio')) + self.add_widget(TelaCadastro(name='cadastro')) + self.add_widget(Conf(name='conf')) + +class InicioWindow(MDScreen): + def __init__(self, **kwargs): + super().__init__(**kwargs) + + def existe(self, text='', search=False): + + def add_nome(nome, idade): + self.ids.rv.data.append( + { + 'viewclass': 'ListComAvatar', + 'text': str(nome), + 'secondary_text': str(idade), + + + } + ) + + + self.ids.rv.data = [] + + for key in store: + + nome = store.get(key)['nome'] + idade = store.get(key)['idade'] + if search: + if text in nome: + add_nome(nome, idade) + else: + add_nome(nome, idade) + + + + + def add(self): + + idade = self.ids.idade.text + colecao = self.ids.colecao.text + + + if store.exists(colecao): + print(f'{colecao} já existe') + toast(f'{colecao} já existe') + else: + store.put(colecao, nome = colecao, idade=idade) + toast(f'{colecao} foi adicionado') + + + def delete(self): + key = self.ids.colecao.text + if store.exists(key): + store.delete(key) + toast(f'{key} foi deletado') + + else: + print(f'{key} não existe') + toast(f'{key} não existe') + + + + +class MyCrud(MDApp): + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.screen = SM() + self.inicio = InicioWindow() + data =( + { + 'Create': 'file-document-edit', + 'Read': 'book-open-variant', + 'Update': 'update', + 'Delete': 'delete', + } + ) + + def on_start(self): + self.inicio.existe() + + def abrir(self, instance): + toast(instance.text) + + def voltar(self): + self.root.current = self.previous_screen + + + + def callback(self, instance): + # Snackbar(text = instance.icon).open() + if instance.icon: + self.screen.current = 'cadastro' + + def build(self): + self.theme_cls.theme_style = "Light" + self.theme_cls.primary_palette = "Purple" + + lista = ( + {'nome':'Ajuda', 'icon': 'help-box'}, + {'nome':'Configurações', 'icon': 'cog'}, + ) + + menu_items = ( + { + "right_text": str(key.get('nome')) , + "left_icon": str(key.get('icon')), + "viewclass": "Item" , + "on_release": lambda x=(str(key.get('nome'))): self.menu_chamada(x), + } for key in lista + ) + + self.menu = MDDropdownMenu( + items=menu_items, + width_mult=4) + + return self.inicio + + def chamada(self, button): + self.menu.caller = button + self.menu.open() + + def menu_chamada(self, text_item): + self.menu.dismiss() + if text_item == 'Configurações': + self.screen.current = 'conf' + print(text_item) + + +if __name__ == '__main__': + MyCrud().run() diff --git a/templates/__pycache__/conf.cpython-310.pyc b/templates/__pycache__/conf.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..816704b22b41be81f17ddad16ae969018330cac2 GIT binary patch literal 741 zcmYk3&u-K(5XNoC`Lo-k0)%?vz;zGoi336iAzF!3d#Mmo6v+y)cge1kEOt_8#jTZk z;~BaVm%aoK;wvX!ffF;%g4U8ppY6=d@5^*qHYKq5&krA8P(ps;VSmMNcmvxO5G0XQ zlZNJ$qGp;kK^}M=Xx@Z*=rz|-9=#(nl+g{5kqWMZJXYadqN3I0ZtCNKO1D(TTehWn zCiyv;CBLBqnNgRWS4OG!v~0_zGH{Wco{U$Z;u^L2trS;$qI67@{RtW-@$RuAeWupV}Z~P z8)aM~MBUcC5RR=cX3TM`^uk5!FQr-9d+H`aRJycQ2opigKhKX}7VoVxwpb}!tKvl2 zb>D4@b$xN!$Y+%qWYMc;qsv~|q5{bI=F%jPigU0C_=s|Pl_CH9U-MarAZ^(w0GSHW zbaK$BQz1SNr5;~=8JF#dDy8*~%A=VSYMVn0Aq1rL?Go~s`kSlR?XP^rC8KjIld|TPmZs;x^=Ov4U(fb jd<5DFzr1o;pVNd#XkOvO?GR#8}+(tau;yiwbc*vt`#3SKdd3j=QM7S8;9yyRok zCH5`%FVHyo1GUf?o9v=gLNsTrVRNA%5TBh6A;8hwzLH$1^UcFf)GNt4p`XKh*eA<% zX;U1Uw>#)300hc0M>)AcGt4n3*KzLMARpznyl2w)Lb562On0g+p)GqOfP7d-u=EMI z4qc%ItrSx3_&Jiw%2%0n0XSRQm5tFO>>`_F zKZx&lekZkHFISZ8PaN#$d++BtE4bwxptL| xzhd2I<1gB(F%hqn: + orientation: 'vertical' + MDBoxLayout: + orientation: 'vertical' + # size_hint_y: .5 + canvas.before: + # Color: + # rgba: hex('#eeeeee') + Rectangle: + size: self.size + pos: self.pos + + + spacing: .5 + + # Toolbar + MDToolbar: + title: "Configurações" + md_bg_color: app.theme_cls.primary_dark + right_action_items: [["chevron-left", lambda x: app.voltar() ],] + + MDBoxLayout: \ No newline at end of file diff --git a/templates/conf.py b/templates/conf.py new file mode 100644 index 0000000..4c23507 --- /dev/null +++ b/templates/conf.py @@ -0,0 +1,13 @@ +from kivy.uix.screenmanager import ScreenManager +from kivymd.uix.screen import MDScreen +from kivy.lang import Builder +import os + +class Conf(MDScreen): + def __init__(self, **kwargs): + super().__init__(**kwargs) + return kv + + + +kv = Builder.load_file(os.path.join(os.path.dirname(__file__), "conf.kv")) \ No newline at end of file diff --git a/templates/create.kv b/templates/create.kv new file mode 100644 index 0000000..72d6110 --- /dev/null +++ b/templates/create.kv @@ -0,0 +1,22 @@ +: + orientation: 'vertical' + MDBoxLayout: + orientation: 'vertical' + # size_hint_y: .5 + canvas.before: + # Color: + # rgba: hex('#eeeeee') + Rectangle: + size: self.size + pos: self.pos + + + spacing: .5 + + # Toolbar + MDToolbar: + title: "Cadastro" + md_bg_color: app.theme_cls.primary_dark + right_action_items: [["chevron-left", lambda x: app.voltar() ],] + + MDBoxLayout: \ No newline at end of file diff --git a/templates/create.py b/templates/create.py new file mode 100644 index 0000000..bc420de --- /dev/null +++ b/templates/create.py @@ -0,0 +1,14 @@ +from kivy.uix.screenmanager import ScreenManager +from kivymd.uix.screen import MDScreen +from kivy.lang import Builder +import os + +kv = Builder.load_file('templates/create.kv') + +class TelaCadastro(MDScreen): + def __init__(self, **kwargs): + super().__init__(**kwargs) + pass + + +kv = Builder.load_file(os.path.join(os.path.dirname(__file__), "create.kv")) \ No newline at end of file From 655d3465f9d72ac8078cce756166ce19f92f9c36 Mon Sep 17 00:00:00 2001 From: jesiel364 <82860253+jesiel364@users.noreply.github.com> Date: Fri, 15 Apr 2022 11:57:25 -0400 Subject: [PATCH 08/13] Create README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e3078a --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# kivymd-crud +Realizando crud com Kivy e JSON From 781d96e9d5a8c32059f74ac61fe587b6aeba8381 Mon Sep 17 00:00:00 2001 From: jesiel364 <82860253+jesiel364@users.noreply.github.com> Date: Fri, 15 Apr 2022 12:00:19 -0400 Subject: [PATCH 09/13] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6e3078a..fa925a1 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # kivymd-crud Realizando crud com Kivy e JSON + +`pip install -r requirements` From 3b7414c7ab8c9dc6f721483c574d880b99216c07 Mon Sep 17 00:00:00 2001 From: jesiel364 <82860253+jesiel364@users.noreply.github.com> Date: Fri, 15 Apr 2022 12:03:58 -0400 Subject: [PATCH 10/13] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fa925a1..4061c58 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,5 @@ Realizando crud com Kivy e JSON `pip install -r requirements` + +![](img/scr.png) From 97b76b618d6bd5dfc63336cfc59f038b1508b8e3 Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Tue, 26 Apr 2022 00:31:56 -0400 Subject: [PATCH 11/13] Integracao com API --- .kivy/logs/kivy_22-04-14_0.txt | 21 +++++++++ .kivy/logs/kivy_22-04-14_1.txt | 26 +++++++++++ .kivy/logs/kivy_22-04-23_0.txt | 26 +++++++++++ .kivy/logs/kivy_22-04-26_0.txt | 21 +++++++++ .kivy/logs/kivy_22-04-26_1.txt | 26 +++++++++++ .kivy/logs/kivy_22-04-26_10.txt | 48 ++++++++++++++++++++ .kivy/logs/kivy_22-04-26_2.txt | 26 +++++++++++ .kivy/logs/kivy_22-04-26_3.txt | 35 +++++++++++++++ .kivy/logs/kivy_22-04-26_4.txt | 35 +++++++++++++++ .kivy/logs/kivy_22-04-26_5.txt | 72 ++++++++++++++++++++++++++++++ .kivy/logs/kivy_22-04-26_6.txt | 72 ++++++++++++++++++++++++++++++ .kivy/logs/kivy_22-04-26_7.txt | 39 ++++++++++++++++ .kivy/logs/kivy_22-04-26_8.txt | 26 +++++++++++ .kivy/logs/kivy_22-04-26_9.txt | 35 +++++++++++++++ __pycache__/conf.cpython-39.pyc | Bin 0 -> 660 bytes __pycache__/create.cpython-39.pyc | Bin 0 -> 680 bytes main.py | 20 ++++++--- 17 files changed, 521 insertions(+), 7 deletions(-) create mode 100644 .kivy/logs/kivy_22-04-14_0.txt create mode 100644 .kivy/logs/kivy_22-04-14_1.txt create mode 100644 .kivy/logs/kivy_22-04-23_0.txt create mode 100644 .kivy/logs/kivy_22-04-26_0.txt create mode 100644 .kivy/logs/kivy_22-04-26_1.txt create mode 100644 .kivy/logs/kivy_22-04-26_10.txt create mode 100644 .kivy/logs/kivy_22-04-26_2.txt create mode 100644 .kivy/logs/kivy_22-04-26_3.txt create mode 100644 .kivy/logs/kivy_22-04-26_4.txt create mode 100644 .kivy/logs/kivy_22-04-26_5.txt create mode 100644 .kivy/logs/kivy_22-04-26_6.txt create mode 100644 .kivy/logs/kivy_22-04-26_7.txt create mode 100644 .kivy/logs/kivy_22-04-26_8.txt create mode 100644 .kivy/logs/kivy_22-04-26_9.txt create mode 100644 __pycache__/conf.cpython-39.pyc create mode 100644 __pycache__/create.cpython-39.pyc diff --git a/.kivy/logs/kivy_22-04-14_0.txt b/.kivy/logs/kivy_22-04-14_0.txt new file mode 100644 index 0000000..aefedf1 --- /dev/null +++ b/.kivy/logs/kivy_22-04-14_0.txt @@ -0,0 +1,21 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-14_0.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked diff --git a/.kivy/logs/kivy_22-04-14_1.txt b/.kivy/logs/kivy_22-04-14_1.txt new file mode 100644 index 0000000..11aef07 --- /dev/null +++ b/.kivy/logs/kivy_22-04-14_1.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-14_1.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-23_0.txt b/.kivy/logs/kivy_22-04-23_0.txt new file mode 100644 index 0000000..ea0026f --- /dev/null +++ b/.kivy/logs/kivy_22-04-23_0.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-23_0.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_0.txt b/.kivy/logs/kivy_22-04-26_0.txt new file mode 100644 index 0000000..204433e --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_0.txt @@ -0,0 +1,21 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_0.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked diff --git a/.kivy/logs/kivy_22-04-26_1.txt b/.kivy/logs/kivy_22-04-26_1.txt new file mode 100644 index 0000000..b140e7c --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_1.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_1.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_10.txt b/.kivy/logs/kivy_22-04-26_10.txt new file mode 100644 index 0000000..8034322 --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_10.txt @@ -0,0 +1,48 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_10.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[ERROR ] Loader: Failed to load image +Traceback (most recent call last): + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/loader.py", line 345, in _load_urllib + fd = opener.open(request) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 517, in open + response = self._open(req, data) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 534, in _open + result = self._call_chain(self.handle_open, protocol, protocol + + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 494, in _call_chain + result = func(*args) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1389, in https_open + return self.do_open(http.client.HTTPSConnection, req, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1346, in do_open + h.request(req.get_method(), req.selector, req.data, headers, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1279, in request + self._send_request(method, url, body, headers, encode_chunked) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1290, in _send_request + self.putrequest(method, url, **skips) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1124, in putrequest + self._validate_path(url) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1224, in _validate_path + raise InvalidURL(f"URL can't contain control characters. {url!r} " +http.client.InvalidURL: URL can't contain control characters. '/api/male/Alvera Ribeiro.png' (found at least ' ') diff --git a/.kivy/logs/kivy_22-04-26_2.txt b/.kivy/logs/kivy_22-04-26_2.txt new file mode 100644 index 0000000..aa5b0fb --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_2.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_2.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_3.txt b/.kivy/logs/kivy_22-04-26_3.txt new file mode 100644 index 0000000..b19a97a --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_3.txt @@ -0,0 +1,35 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_3.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 188, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 949, in run +[WARNING] stderr: self._run_prepare() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 944, in _run_prepare +[WARNING] stderr: self.dispatch('on_start') +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 137, in on_start +[WARNING] stderr: self.inicio.existe() +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 84, in existe +[WARNING] stderr: nome = response.get(key)['name'] +[WARNING] stderr: AttributeError: 'list' object has no attribute 'get' diff --git a/.kivy/logs/kivy_22-04-26_4.txt b/.kivy/logs/kivy_22-04-26_4.txt new file mode 100644 index 0000000..adccb58 --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_4.txt @@ -0,0 +1,35 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_4.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 188, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 949, in run +[WARNING] stderr: self._run_prepare() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 944, in _run_prepare +[WARNING] stderr: self.dispatch('on_start') +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 137, in on_start +[WARNING] stderr: self.inicio.existe() +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 84, in existe +[WARNING] stderr: nome = response['name'] +[WARNING] stderr: TypeError: list indices must be integers or slices, not str diff --git a/.kivy/logs/kivy_22-04-26_5.txt b/.kivy/logs/kivy_22-04-26_5.txt new file mode 100644 index 0000000..b8c3b12 --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_5.txt @@ -0,0 +1,72 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_5.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn +[WARNING] stderr: conn = connection.create_connection( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/util/connection.py", line 72, in create_connection +[WARNING] stderr: for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/socket.py", line 954, in getaddrinfo +[WARNING] stderr: for res in _socket.getaddrinfo(host, port, family, type, proto, flags): +[WARNING] stderr: socket.gaierror: [Errno 7] No address associated with hostname +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen +[WARNING] stderr: httplib_response = self._make_request( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 386, in _make_request +[WARNING] stderr: self._validate_conn(conn) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1040, in _validate_conn +[WARNING] stderr: conn.connect() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connection.py", line 358, in connect +[WARNING] stderr: conn = self._new_conn() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn +[WARNING] stderr: raise NewConnectionError( +[WARNING] stderr: urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 7] No address associated with hostname +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/adapters.py", line 440, in send +[WARNING] stderr: resp = conn.urlopen( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 785, in urlopen +[WARNING] stderr: retries = retries.increment( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment +[WARNING] stderr: raise MaxRetryError(_pool, url, error or ResponseError(cause)) +[WARNING] stderr: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='625e20a26c48e8761ba572c5.mockapi.io', port=443): Max retries exceeded with url: /api/v1/users (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 7] No address associated with hostname')) +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 24, in +[WARNING] stderr: response = requests.get('https://625e20a26c48e8761ba572c5.mockapi.io/api/v1/users').json() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/api.py", line 75, in get +[WARNING] stderr: return request('get', url, params=params, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/api.py", line 61, in request +[WARNING] stderr: return session.request(method=method, url=url, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/sessions.py", line 529, in request +[WARNING] stderr: resp = self.send(prep, **send_kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/sessions.py", line 645, in send +[WARNING] stderr: r = adapter.send(request, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/adapters.py", line 519, in send +[WARNING] stderr: raise ConnectionError(e, request=request) +[WARNING] stderr: requests.exceptions.ConnectionError: HTTPSConnectionPool(host='625e20a26c48e8761ba572c5.mockapi.io', port=443): Max retries exceeded with url: /api/v1/users (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 7] No address associated with hostname')) diff --git a/.kivy/logs/kivy_22-04-26_6.txt b/.kivy/logs/kivy_22-04-26_6.txt new file mode 100644 index 0000000..e23517e --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_6.txt @@ -0,0 +1,72 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_6.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn +[WARNING] stderr: conn = connection.create_connection( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/util/connection.py", line 72, in create_connection +[WARNING] stderr: for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/socket.py", line 954, in getaddrinfo +[WARNING] stderr: for res in _socket.getaddrinfo(host, port, family, type, proto, flags): +[WARNING] stderr: socket.gaierror: [Errno 7] No address associated with hostname +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen +[WARNING] stderr: httplib_response = self._make_request( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 386, in _make_request +[WARNING] stderr: self._validate_conn(conn) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1040, in _validate_conn +[WARNING] stderr: conn.connect() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connection.py", line 358, in connect +[WARNING] stderr: conn = self._new_conn() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn +[WARNING] stderr: raise NewConnectionError( +[WARNING] stderr: urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 7] No address associated with hostname +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/adapters.py", line 440, in send +[WARNING] stderr: resp = conn.urlopen( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/connectionpool.py", line 785, in urlopen +[WARNING] stderr: retries = retries.increment( +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment +[WARNING] stderr: raise MaxRetryError(_pool, url, error or ResponseError(cause)) +[WARNING] stderr: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='625e20a26c48e8761ba572c5.mockapi.io', port=443): Max retries exceeded with url: /api/v1/users (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 7] No address associated with hostname')) +[WARNING] stderr: +[WARNING] stderr: During handling of the above exception, another exception occurred: +[WARNING] stderr: +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 24, in +[WARNING] stderr: response = requests.get('https://625e20a26c48e8761ba572c5.mockapi.io/api/v1/users').json() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/api.py", line 75, in get +[WARNING] stderr: return request('get', url, params=params, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/api.py", line 61, in request +[WARNING] stderr: return session.request(method=method, url=url, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/sessions.py", line 529, in request +[WARNING] stderr: resp = self.send(prep, **send_kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/sessions.py", line 645, in send +[WARNING] stderr: r = adapter.send(request, **kwargs) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/requests/adapters.py", line 519, in send +[WARNING] stderr: raise ConnectionError(e, request=request) +[WARNING] stderr: requests.exceptions.ConnectionError: HTTPSConnectionPool(host='625e20a26c48e8761ba572c5.mockapi.io', port=443): Max retries exceeded with url: /api/v1/users (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 7] No address associated with hostname')) diff --git a/.kivy/logs/kivy_22-04-26_7.txt b/.kivy/logs/kivy_22-04-26_7.txt new file mode 100644 index 0000000..a67762b --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_7.txt @@ -0,0 +1,39 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_7.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 188, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 949, in run +[WARNING] stderr: self._run_prepare() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 944, in _run_prepare +[WARNING] stderr: self.dispatch('on_start') +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 137, in on_start +[WARNING] stderr: self.inicio.existe() +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 84, in existe +[WARNING] stderr: nome = store.get(key)['nome'] +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/storage/__init__.py", line 159, in get +[WARNING] stderr: return self.store_get(key) +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/storage/jsonstore.py", line 63, in store_get +[WARNING] stderr: return self._data[key] +[WARNING] stderr: TypeError: unhashable type: 'dict' diff --git a/.kivy/logs/kivy_22-04-26_8.txt b/.kivy/logs/kivy_22-04-26_8.txt new file mode 100644 index 0000000..69438d7 --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_8.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_8.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_9.txt b/.kivy/logs/kivy_22-04-26_9.txt new file mode 100644 index 0000000..678b42a --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_9.txt @@ -0,0 +1,35 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_9.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] stderr: Traceback (most recent call last): +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 189, in +[WARNING] stderr: MyCrud().run() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 949, in run +[WARNING] stderr: self._run_prepare() +[WARNING] stderr: File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/app.py", line 944, in _run_prepare +[WARNING] stderr: self.dispatch('on_start') +[WARNING] stderr: File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 138, in on_start +[WARNING] stderr: self.inicio.existe() +[WARNING] stderr: File "/storage/emulated/0/kivymd-crud/main.py", line 91, in existe +[WARNING] stderr: add_nome(nome, idade) +[WARNING] stderr: TypeError: add_nome() missing 1 required positional argument: 'avatar' diff --git a/__pycache__/conf.cpython-39.pyc b/__pycache__/conf.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..98ffd7cf4f75931aaff380d665f4fe3790099722 GIT binary patch literal 660 zcmYjOyKdD$5ZzfnZ-|jdK}C;TaLorGgaC;uX;L7$SuNi6mAPv>?An1ubcvLXZvZJx zeufX&mWn?>RLrb{l)wqB>LYDJ!$z$ihnS#c5-;9**T8ciQ4ce*AXX zLY%#xJEOEcY3TNPMfZVwfOei@XdTmI3adv$DSFn$vr89D5h?(oqCzE$EN VffD=t#iINrO~~cw4uQU${{t)uo3#J{ literal 0 HcmV?d00001 diff --git a/__pycache__/create.cpython-39.pyc b/__pycache__/create.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a08a1692b3879c1a5a1bc62bec3200d8dd10f021 GIT binary patch literal 680 zcmYjOOK#La5Uq0CGoCO;0tr@JzzfD403ifOtddQTki2O%?w*mEwjH|dK%(ptDLc*p z5}RCx1N4>^S71ezJs_9m(yRWwdap}m*%46qpYJ~i1o*|pJYp(d((gHG&}gB-5|MFa zqehf;jj*tBla$GbW4kC9Z$T$|aRYi`#I-1wIzEMb`I}fE$B>;?&Y1RCwQ6S^Eu_b9 zrX|A5S3_;JaVHg@o`*OT{s{pCC2A<6TiBvT9o?j*xP=%>?j*wcow4e*(#rR)tH|5` zhzPN-d-RV?JzT>_+(Hdk_yfO^yFU6RG=4{7icT(9Bv$oivp>({koe)uxR6R&w{_WV#Oj&+`f$1HL))L%A!99}aG&+)17U~(|qc08=G8ZTMZ f?xuH&IzRHw8jljVaY&y}%3tubJUd?_f2sHj+c2Wm literal 0 HcmV?d00001 diff --git a/main.py b/main.py index c45a7d3..51fb245 100644 --- a/main.py +++ b/main.py @@ -19,6 +19,11 @@ from kivy.uix.recycleview import RecycleView from conf import Conf from create import TelaCadastro +import requests + +response = requests.get('https://625e20a26c48e8761ba572c5.mockapi.io/api/v1/users').json() + +print(response) @@ -60,13 +65,13 @@ def __init__(self, **kwargs): def existe(self, text='', search=False): - def add_nome(nome, idade): + def add_nome(nome, idade, avatar): self.ids.rv.data.append( { 'viewclass': 'ListComAvatar', 'text': str(nome), 'secondary_text': str(idade), - + 'source': str(avatar) } ) @@ -74,15 +79,16 @@ def add_nome(nome, idade): self.ids.rv.data = [] - for key in store: + for key in response: - nome = store.get(key)['nome'] - idade = store.get(key)['idade'] + nome = key['name'] + idade = key['idade'] + avatar = key['avatar'] if search: if text in nome: - add_nome(nome, idade) + add_nome(nome, idade, avatar) else: - add_nome(nome, idade) + add_nome(nome, idade, avatar) From 8acd681017505be12ec1c7adaedd34c501e1e0a4 Mon Sep 17 00:00:00 2001 From: jesiel364 Date: Tue, 26 Apr 2022 00:46:17 -0400 Subject: [PATCH 12/13] a --- .kivy/logs/kivy_22-04-26_10.txt | 24 ++++++++ .kivy/logs/kivy_22-04-26_11.txt | 95 ++++++++++++++++++++++++++++++++ .kivy/logs/kivy_22-04-26_12.txt | 26 +++++++++ .kivy/logs/kivy_22-04-26_13.txt | 25 +++++++++ README.md | 2 +- img/scr2.png | Bin 0 -> 81287 bytes main.py | 2 +- 7 files changed, 172 insertions(+), 2 deletions(-) create mode 100644 .kivy/logs/kivy_22-04-26_11.txt create mode 100644 .kivy/logs/kivy_22-04-26_12.txt create mode 100644 .kivy/logs/kivy_22-04-26_13.txt create mode 100644 img/scr2.png diff --git a/.kivy/logs/kivy_22-04-26_10.txt b/.kivy/logs/kivy_22-04-26_10.txt index 8034322..104d072 100644 --- a/.kivy/logs/kivy_22-04-26_10.txt +++ b/.kivy/logs/kivy_22-04-26_10.txt @@ -46,3 +46,27 @@ Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1224, in _validate_path raise InvalidURL(f"URL can't contain control characters. {url!r} " http.client.InvalidURL: URL can't contain control characters. '/api/male/Alvera Ribeiro.png' (found at least ' ') +[ERROR ] Loader: Failed to load image +Traceback (most recent call last): + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/loader.py", line 345, in _load_urllib + fd = opener.open(request) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 517, in open + response = self._open(req, data) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 534, in _open + result = self._call_chain(self.handle_open, protocol, protocol + + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 494, in _call_chain + result = func(*args) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1389, in https_open + return self.do_open(http.client.HTTPSConnection, req, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1346, in do_open + h.request(req.get_method(), req.selector, req.data, headers, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1279, in request + self._send_request(method, url, body, headers, encode_chunked) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1290, in _send_request + self.putrequest(method, url, **skips) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1124, in putrequest + self._validate_path(url) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1224, in _validate_path + raise InvalidURL(f"URL can't contain control characters. {url!r} " +http.client.InvalidURL: URL can't contain control characters. '/api/male/Alvera Ribeiro.png' (found at least ' ') +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_11.txt b/.kivy/logs/kivy_22-04-26_11.txt new file mode 100644 index 0000000..0f0a884 --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_11.txt @@ -0,0 +1,95 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_11.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[ERROR ] Loader: Failed to load image +Traceback (most recent call last): + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/loader.py", line 345, in _load_urllib + fd = opener.open(request) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 517, in open + response = self._open(req, data) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 534, in _open + result = self._call_chain(self.handle_open, protocol, protocol + + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 494, in _call_chain + result = func(*args) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1389, in https_open + return self.do_open(http.client.HTTPSConnection, req, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1346, in do_open + h.request(req.get_method(), req.selector, req.data, headers, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1279, in request + self._send_request(method, url, body, headers, encode_chunked) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1290, in _send_request + self.putrequest(method, url, **skips) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1124, in putrequest + self._validate_path(url) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1224, in _validate_path + raise InvalidURL(f"URL can't contain control characters. {url!r} " +http.client.InvalidURL: URL can't contain control characters. '/api/male/Alvera Ribeiro.png' (found at least ' ') +[ERROR ] Loader: Failed to load image +Traceback (most recent call last): + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/loader.py", line 345, in _load_urllib + fd = opener.open(request) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 517, in open + response = self._open(req, data) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 534, in _open + result = self._call_chain(self.handle_open, protocol, protocol + + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 494, in _call_chain + result = func(*args) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1389, in https_open + return self.do_open(http.client.HTTPSConnection, req, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1346, in do_open + h.request(req.get_method(), req.selector, req.data, headers, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1279, in request + self._send_request(method, url, body, headers, encode_chunked) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1290, in _send_request + self.putrequest(method, url, **skips) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1124, in putrequest + self._validate_path(url) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1224, in _validate_path + raise InvalidURL(f"URL can't contain control characters. {url!r} " +http.client.InvalidURL: URL can't contain control characters. '/api/male/Alvera Ribeiro.png' (found at least ' ') +[ERROR ] Loader: Failed to load image +Traceback (most recent call last): + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/loader.py", line 345, in _load_urllib + fd = opener.open(request) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 517, in open + response = self._open(req, data) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 534, in _open + result = self._call_chain(self.handle_open, protocol, protocol + + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 494, in _call_chain + result = func(*args) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1389, in https_open + return self.do_open(http.client.HTTPSConnection, req, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/urllib/request.py", line 1346, in do_open + h.request(req.get_method(), req.selector, req.data, headers, + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1279, in request + self._send_request(method, url, body, headers, encode_chunked) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1290, in _send_request + self.putrequest(method, url, **skips) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1124, in putrequest + self._validate_path(url) + File "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/http/client.py", line 1224, in _validate_path + raise InvalidURL(f"URL can't contain control characters. {url!r} " +http.client.InvalidURL: URL can't contain control characters. '/api/male/Alvera Ribeiro.png' (found at least ' ') +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_12.txt b/.kivy/logs/kivy_22-04-26_12.txt new file mode 100644 index 0000000..1408b49 --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_12.txt @@ -0,0 +1,26 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_12.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers +[INFO ] Base: Leaving application in progress... diff --git a/.kivy/logs/kivy_22-04-26_13.txt b/.kivy/logs/kivy_22-04-26_13.txt new file mode 100644 index 0000000..7a26b6a --- /dev/null +++ b/.kivy/logs/kivy_22-04-26_13.txt @@ -0,0 +1,25 @@ +[INFO ] Logger: Record log in /storage/emulated/0/kivymd-crud/.kivy/logs/kivy_22-04-26_13.txt +[INFO ] Kivy: v2.0.0 +[INFO ] Kivy: Installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivy/__init__.py" +[INFO ] Python: v3.9.7 (default, Oct 9 2021, 08:02:40) +[GCC 11.1.0] +[INFO ] Python: Interpreter at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3" +[INFO ] KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "/data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/lib/python3.9/site-packages/kivymd/__init__.py") +[INFO ] Factory: 186 symbols loaded +[INFO ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) +[INFO ] Text: Provider: sdl2 +[INFO ] Window: Provider: sdl2 +[INFO ] GL: Using the "OpenGL ES 2" graphics system +[INFO ] GL: Backend used +[INFO ] GL: OpenGL version +[INFO ] GL: OpenGL vendor +[INFO ] GL: OpenGL renderer +[INFO ] GL: OpenGL parsed version: 3, 2 +[INFO ] GL: Texture max size <16384> +[INFO ] GL: Texture max units <16> +[INFO ] Window: auto add sdl2 input provider +[INFO ] Window: virtual keyboard not allowed, single mode, not docked +[INFO ] GL: NPOT texture support is available +[WARNING] Base: Unknown provider +[INFO ] Base: Start application main loop +[INFO ] Loader: using a thread pool of 2 workers diff --git a/README.md b/README.md index 4061c58..f208217 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,4 @@ Realizando crud com Kivy e JSON `pip install -r requirements` -![](img/scr.png) +![](img/scr2.png) diff --git a/img/scr2.png b/img/scr2.png new file mode 100644 index 0000000000000000000000000000000000000000..450c1cd0b928cb14e9cdba048c2149caa568a50a GIT binary patch literal 81287 zcmd?RWmuGJ^fx-{R!p!kNQ3U~QdFcHq!px_p<7X~041au6zP(NfdLc&rH1Zd1cafH zZaC}N|2WsVuK$1b^0l81#@(oD(zzD2VH zzO{r0&y#i>E2DSx)3c+e6mOh)|GqaY$y3>`X}88PB3at-OiP3vF^tyItG0bvw9Hiz z>p-~rCsnb39jAnEAD+Dk4;6Td7w>uu`JdHON2uVHClGZGUarXmBI`JNLk9WbiSsE( z;N{p!SRpF#$Uj!_QinP!056YG|2uswRxDlm(6H{P1r}Ma$YBG=tB&R+Zmq87Yw{Xx z2TTjQgS>+DjtOHQl_k52SIe*#*b8-@LK3A4#lj3;BOAlo0U80jb!SUYMwE=rC<^Yz z-wPkE;6gbqzt%hdDZ#`r2UXQDvGI*Aq|DF0|M=C<__zzx@9$MD?oDG)o!h3^5a}U` zri3*+z)dtKncc*2ImRkvnBzR?yB8O*Xp);5-Goa8@}B%5W8^)(`QF;TS~<`1zZLf= zpit?f*-PAOr|}V&AD3J861jS+DCU!%=_q5+Ofu9L9+$J!IjB1szQ4%zy6<^GT257s z?ryR~dRKY21=cIjgz2sPvkOAU9}HZUtv?+;#%rp+JhXRsbMY5mx+F-dx)`2N1`AxXi$YW2H;(-BmK z(}K@REb;z}U5tc~Y+k$+Y42nScbI>MzM^>4X3j;N+opr4H!a;}2*VI%IfG5GKG_xt zj-Y!WV-|OAXRS%DbTXZyS8Muu)UoFr*x5rpE_9vOHijAX`&N(EKzjM&P#V0^gj9F=!NP8`EElzWN;P{g3x8xQo_-Ln)u*a$?zqB-;Go+noG8Y>!RF*s9jrg*R+g z*>%}`-Cyl){Cvm5Sz#L%wx4cy!T@&XhahFyOcL3Kzn=QS(d1K3qhwa{He3#ySWcGa zsfmZG-R4R*?fII5yT*mvv-dzf7 z=EAuUb|Vzuw4T-6Sg=+wx>NvR$?@#Uy1-`E!Q*0;YIlWRjF8fnM4L|W)ad)qdUF>q zSFvbp#LC3kTdbF^KkINmYjM2<)lz&Kl}Zm^`Ls}jIgalvj`Vf zTJvQsH+{Lpgx2~*XZkKyNv@VZPFVrRXN(q3XK|O0x;q~9^b}uCt(h7;ly<}%QZ$KEL$*a^m?fJ?!J9^9HNy+xQi?@o3G7GJZC3L)!rF*W*{@yrnG- z-#?#tez{gaUy;5|=T}1X&RT{S)pR13&-UYuw|#q>`9%)P#%tFh)-&gwCP(;nF$WB) zeAkJW1O$HNv-=lmvD%K~7SDuHXgK-4zo`3zWwVomvc^*bvY&|*h}Iyvq}yx?XD>dE zy!bId?*t2c>W|=Z_Rg1fk{QRHE0a=*X^a#Wzb=aSOOLL?dPSf4+np-1YLn(t@5{3` z-VCkg!t4v+>#loCH4R}n)Bj@@GW=f&eYGfMYX2IA z!E&FFQvtc(j$l_ZVpulEa-B(q?Yk|5`a4z|u}yzQlJd`~7OY%P#uU519hJ^lzs;ZpdS13p1D=B+@Iri*r|*?oMy7$TerE7#|+dpZckMwet&X~ zTunQA5`g=0L8wabMr|=8btTP=~4|P(q3F|ImiA4jg3bj)Aa}J$f=iW4_S^p?g z+*P33w;ZGDEirnmJicCi-+;~aH|gbU{!%o<@nAi-U*%KQV}94^n)3EW??%_^ zF7R&lKINThKCDvucmvPV&HVDD@ejJ7;SjGH4i`KN`Dm~mc2G1RW%@9 zct%uZ%=)JO-sANCgO*aJ>w8-ii)6eh475Q&oTC%>qdf-ylR2ZSP_u%Em!F1+{-J1DbI0M&psED3J zuNvaxo+uDwKSxOGs7yHLy?%-;0d(;qI$+WfSoJ$)(QV8)TYW09U_C7vRo zOsaEk`QU5}I%_~rTwrBBg2qoJdan>EQd5-1<1yah0v5y%QW+;EE< z8>JM}#R0!`N70OQO+#kKa6*$mD_FHV2gm5j1^<-Js%|bUd(tN!Q;Ej;=`W3xH`(?$ zALx=;1Xw-4FEv=L9+;MKq^2uq1@vWZ((Py|AGco=a_wKAeS65#({woZ`$fI?c=NRa zG?#CdA?DyurZ?4YjYRF8j5lRk)2U0oW4wnWPkC8M`D@p=XMc%KuMIU1Q_-XZs((T+ zhO!zjQ0LH#?=bg;GrJivS@G>VtW}df`I980Z*Q-Ngx8W`Pn7P4$OZS^dFLq|e|o57 zmn;NFhrx0kJU`67fJz@m=-jsQlR(1f=&QfEI!Ug9AJ--&r~;$|`m{RIIfeZ)A$t8W z*}&wY#pgz(De3#N7Xz1)&|=wGoD}CvhC${%x24elvCjwY#9kgiUe1^n{tLlr-eg@~ z9<3W&!$$8$bYorRL;Rh;+b%y{nRKRG>fS48-#C57=V19O@$@<1Tw-e`%o4`kc7oyJ z9$p;Rg)_WMzD>H$bO%U{`@DIp$VSjfi{B5uzOvp^(6icv!yoVbhw&+00rqnP(SF+B<2ts~85&j#7&D zqn{x(dv^6wGoy8ik6Ne~r-I@3r0&M;pi0h>?5(uqRSW7>gQk7`G$1y4TN_8i3y7Ni zjAxJA1_2{KEx$%{KUcczbKgokFFk3g{^vvB(8Ujw?K5{ORKjWsTgrQBSA6le_`g3r zNB)=UoD{WhTN@qjtFy+wh{wGD{3bRk)X!*Vs3{=4J(IYv9M+U*ZL*(VoGw@Rw#M)* z^+&4QL0#tA9!%D)E-&80{KE&h7G3QolFISLVjn&b z4#JKI(%G)F6kaL5VLILY<=du!w|_;yy_?AvounX}sY<3@>Vw<-LTTPT)5+(%JIG?= zPIlDn#MnCZB-s6x^bo6-Gn1=rcQuaTU-YEl!bRss|*DKc|PgQHJ+UaG+%b!$KH*zF@CvL?*S-T}7 zZ&~g9vS9X%y?N55*`7S}B)TI*ru^(8LJtY&Cc+!TFaJp$dN`bw&$>;)?)zL@gUQtO zytIKYZt>BWWA;vA!CaRyuizP0zm2MuQyW!XT2v6d%lFI8eY8_ z>c~k@0zmR1_<<`Km+n$E5fV?J9=FyohkJ3}iaLd?RD4QTeOZRnT&9zVTE+vysp^EKN^E)3G)GxW=D?|YZ68ITQEB%bFri$zD z@DujiCtap~4^-f}b9Go9Q#B)331oh{SKkB4nX!(Xaf>oPV!74qu!H(K9+ zDW&LES^3BR-7mZN%1$d%Px$*vUyj`P>4%Af`^uT7sQk_R&M<}Q_N zJyT-Ld$;b>zA+%fdAM=Z+#xw_6El#}7cn!OPKV-Rg6i!}dWJJOINUsXP_*>?WJeH= zy!4|h3lpiul+gDZ^^#$zS8w0^JOJ7}WiqfDwk^Lnm4!@oTRl?8t9}gk7HA@BjI{WD zU(PEfL-=`@_0mw2v2XOLnrHTwOBss=pW37=Zc+8xaoO~b9de0rAKcy;x^`b<|H9H= z3dt3P9s~K!7k34>M2v2|)GVQo7X;~iLeB%Q8E_2B>9zFtEmVy-6OvxjU!zwItto=6sHqj$+d)vr&!#XYU6#vE!6O4#CZzw{Vy#SYg&ioyj;c`wp#D><}J<++( z{nvLX{_PNR>G_ua-K4J^-WrsW4{W76nMf(!W(O|ci>wAykKwm3G(sF)PMGlWtD5u1 z&Bm+hN^kfWrPsx+Red0`$&c=H-S|0P`Z%q;l$gU^db!k=h!4vG%53jHsSqy3XKVCb z4U8?NbLmcr^tYy7kcWN=;~AK^wiB|3e}1W2&e6yB-Ab51r~R7@Sw}Pm)cNJOZFA0P zJzb`=z08Xnhm;$WhhKk~{rS2_umKv*UKu5+*DG)_riq2`wq2`NN?d{_&OI|{ zZ@|Or+wxlJdQNGz=7-y5nJQQTolo-L=(_D6Q0wJ)V88{Mr6^}{ZipdSmc^HDeNtN3 z?RVBeB?K#cY5PHz{d?<%(Q;~<@$I^8?kMjz3XGEUhG@8FR85(GX|xC1Ex$Fl!W{Iw zS#AVG7d%q0qQe$F-Y()hK!N_Puy1Lj-|-twe=a0Qv(6EEl_tP~IFCXF|M(9}i)KjV zzU<`O#{PV4d^jc{DB5y-g!tNt=1PK|t$);k{o3~-yCvZlMl&?EEMgsY2$aU(D)Oo|oBR!?-1b~ICNxa?CqoqX{NK}Hxh_$s zZS*fa=$EFy5`QsQkq)!eyY!~abE9hN(r6kRzXP2Q;qK4OEVWB{Cy%23a$DSa;o$F_ zr=ipI%TBPxPLSQ)El~(p(l?jTede1Nb&CBHowiCL`2^z{4f&WxZ$iNMq$XWJxvr~M zTVz;EXxA(~*D}kPdHA`Wq9&5Fke5knffI6U5zjL)_M5+F%kaZvSAHrG{ zd$ozKNC#9zJ#{I=;+ux_du-T>CIZ9x6V) zheCQvLw|eNIQ;~M&D7%u`CP+*qURj9GQfb`1@*1z` z@7)q}3=|t;Yn>i7@6mPQ9MlUDLp;k5tQZA-p#At%2|=6k zRoBf9rgO`8%!2>)3kQ7pcng2ycaDA&eg2TtR3o#;!sxX6^%RJU0>a;C{m#V&@~}tT z@X<*pM4yKFhkWn8>sLcBUK>!yE~BWSrBhL}G8;{2fTozspVKxmsC|BE;q;pNkx!{b zijJcP%drM;RDS>tm8|%PN-fRV(!V$4Dp+Wf+g-?(-lma!_mHA@N;iK^Z+Jj-T1#$H z?c^ExBKEo_pRY?M;jBxQ5w8=2Ll94Q#4D-EK6Ur&pv6Y)8HxDR{!bJ&xPVqxzL>+u zg)WQ9bL*eRm39jSaQ%#I?1m;@_DT2}u@C;`>l@*IQjU%3T6qC3mHi7wrIO%@XseoG zo|_(}tQAoB=A4|02Zyq3v@BA?9p%KN)V1%Gu($Z>H;vP5CF3wxrf4T=?PSR>JB>iX z_&UFir$eh_Z%9Bfk>p3_?{AowHhQQQ&&dR|iG`ta@q(Byr^Fe>xcKIOF1gJH>H8gU zZyT@YDqo5GZW+SD#y&#YU2Zru_{}e&sG;awH5%ZH0r${&^EmTAtZd>Vmak^AXF97W z{Ja~X=C35Pcm7)Fm0CJ;w%q%rz-@HoaI<*nM1hp9<694Ha&(~Hg_%!p9#X7dPhR!c z{#;E84Y3S(usK%v9W7@bbKpu$b|%HBT1vP3ZwK7pN*0zHKUa!P~on;qE0l89C{4OOktoYUjmUFzow9c@OCe6~XWxTM#fh;o z_el@4W7kH7rL~v)norSEpsoekTJ_%v0PSR?mWuE4(tlY$<7AzJmO;#4HY-iSGp1;V zocNBPR)G4WH6GzzeaviVboTg1@@P@CXh_Y06fVOUig?bxR?K|iGnYz3zPK7CDs;Yb z*EbA3roDT02GmIQkaocuwMJB#)E(Y4x53be`emx2Yagz!D5kZM(Ji)qr|m^Kvjdx5 zcbT{ctGROZlwrb`7hv*+orx0c$$pl9rxY`k3ym{-yY!5U^~ zX=aL%oz0$8?=I8-vz@M>AsN~E{8p9V>A(^KNXZlU4I z$<}|@X0o-|)P5ubF+dc`bW~d0tl{AeOcHkdb=T#SjH?RoWa<8}ZFiG@V|0xbO0V4o zp>yu%vU6&5mACW6w*5odJo=Oe$zxF{Yhq-R>*`xu+|(WD=adke%3qMG&=%xKx2)X+ zF}I*i5?x`F>7s+MYv?}2pXRRSbN{!irbH{GfwZ2^Rs;sEem!Gx;U@gUN$CHS{@efD zTdeCL5|`p<9>7+hNM|1WAJU8bpZDT_p*_2Hc6xSJLsb>8B#bn1BhT~fDJm+yWn*J& zlo)u*$9m(2jC+;QlP6E!goS+^R5~I2IX(S>xw(1KBaV1s$K=nSKU-ks;e$MNw`J(1 zd_7x(+ANAWuDlhOX=-Y+ZBGP*Bj)(P5H5ed^Rrq+gt9dDNF+RX$94 z{rZesRricmKtS!#@Nn!r3Qpa4MKKpKxpV8R(z|GY)v$ocRDN`iEBbgvEVYUzm+Cq}}T=H?<> zCSABK-o1OLrKJ_6#MB*&A9Jbf85qbcD-&AZz&B^b{nsqOM)QnovrQ?RfPhwEVPVnm zLUT(?Bz3__36NNXH``h96NSwaZ`$eLy4D{_w?DbYugo%-r?wP0tQ*|e&ueWa9ii(K%ytd{#XeWfh z^YZYd6czDl>*!>cmTLR?`MHSDETU+yUd@1a&`S9}QpwPimzOs_g8lkcEh#A};!DHZ ztGnk4U|EYcOgcHe>@vFA+F9_!h{G8gP3QLg{e3a7l`pUlJwrp;i;E8D$jPzCTpvDs zH9j#B{o%u>>1nHirmK{cS(TM~5mE8+*%M9SIW;xLMn*;eZ4iUVfJ5NhuItCGLh8p3 z2)dHf5TcVL(%jliH(#96n>TMF2o5oD3YL}`u=bvwo-eRjoF+AfH*emg3tw7X?E7$A zPD@?=CVZYN$x0HS>65OwAy*7s%yoW%cYSTmv&2kf>+033 zIXIk=O2(?vXc+6*T;jy|_|w8iOup?wK|yRRENafqh1jYp%4^p$VHvQ2=gyw3peK%u z0raM!!b918@;K!RGOprWpJFg#~PETj@cz^oLnbitMk&}HrJwG9= z`1z5&UHm;XIGDAv;sS>-`{!5W>2v3Li_BXjl2dbYm6%nNqgp04TwIDE;4WXhI8Gkv z=H|x6#igUF8V*So_5OXz)|O{DDKjSr9YP8WL_xXmDoKU7fiR;(S6K4Ve2j^~EQ?~K z{PbVGe2Jv4lF~cmYLt|W32o`$zTH6rGBfjGXlQ75W~Q2*UG5c5{XgZ((b3V1{e{B| z5kKxegpBNrcMV*GPphkc*j@Vag&}+wYL~Ww0lR!Wzh&4*4!v>pO%X0Gl?xXx*x1@? z`uJ2q5=18@<#lwZZSvON>3YhCR2k#wI}iziA|jdJzu#To*vS6;`8&JPl`B`U88NL% z;{7?a_4wQJP2u#I`C(pjNI3jf;@dZGM$m0nxs7w79E7tnFE1}c#`Lr&iBGyzLZK6~ z2!!II=HQU;vqlf8Vrs!6L(%`t0UkqJJ6Z)J#c7>6Pe>F+k2JxFWq$c`k1Iy;&Ye3* z9N?8@Kc}V&`fS)iCCP&HgZ-sDf~~D3?pGDCp3uqB9vmE;g{r}DoQ%w8gxK9ZLB4EO zTJKQKe*1PkZ3=Udh$A*}MpRMO{6q-JI3qoMM*`E+qXoymzP_H7m#3_f0i8YL5~~jv zFI{4GlY;tnl?rpj+tXmF^PBA-l^5_fDjFKC$B$E7TwElsd@e03%T7&|jkrurEk4Ed z5~|6f0v#kA-P=t-fS%6In=vhE&z~PnOG{&AV{1-zx##Iw;nN+{NnI%*EL?TWT1lxj z_U&k6&Oa_?$b)q~KYnJUc6XPDr~1?MPK9^RCWA*)}PEKl^oSd*6$S1lp zj3IJ`Q0sY|rH-vRWtDWM#z4`&^7cNQ%%a%$Q>RWDo9ugdcvJ;ALZve^n|MLRZ)oZD z$kg;R0Fm2l538V%Pv@0-ryBe);m{KOWw7KUdtLGE0$W zcKE!tdI6m!C5>REHt;OAwmHaE2!y<_Fmgd*;hgMjh0e}S1y$AlYOmG36U}jn{dPaJ z647uwa(b!U_;{)~C8mZSKUg3?o;`a;*L3CTRUcmj$^w_S&vw9qjiYJbT@#IQ_e_mC zCD_>HYiw<0>;(7(pw$EA0qP5aYp~grl$49=eUMXd{FU^=E~9_9uUuyKY3GV*G4dHU zEwuXf{J4UOiq4})v35cUKn`~6@0puVdTrLg-C9fdvyUy{f8Gy*QZMC!rB;O^>O+o( z0J?kk?$c6z!Z(cwEEfB;eAsPmS{+Hxii&~TN?|mebfemiMGsUouiJhj#KpcrF9MT+ z@9SxN*-@+$nUi<%6@e7NblX4>?j(K~cmsX^4k&8;${;~z4z@XFpzPtsXf zfMfT?6o?%{>Sq9>W;}kAnqzoqC@LllRHi$m({>C+mrvOz#Cv@|q61K481>960A z3u#D6xxvWHtVnfw=J@gBQtYa0Q1a*RO}G3#`IR9_%&pm$HyP@zvT|s4PEM0=a^XM6 zk7pGYF28H{dMa9jT!-Emj$B(!?KiJqP+ldhl*vLr-RYrh>8pfz^MTnV#ylPt;n-Tm3K3A_82oPIFcNW|Tt_Y-2!J>E&C%KWO znbAmVPp|0eTB4z$(I`n8`?@rj7}7Fwu76z0ck3&B6V7weRSXH(;NTPR1fColG}o^E zjpZkYJtd}d%E-ydu?q|9Zf|cR@ojCL1;~1tii!;w7!VvJ^m1|(zkU1G{PXAE%)Tdu zk4mgMZ;8^7_xAKm17-o-yWr2zZF~L)V@u1(@F~3wvHtc7r-r|O4Pd6*-j*}qFgpv& zPudhXGC&_7eN45aNI)>C>Tm`MKmnlMYeM7#{}cdbva#V_X~@;k*r-xrN3?><@b)UV zR4Te`&`ux9DLJj!7sv~spE;jCeZw6y)76df_V$LdIX8OQa%E5*e`&}= ze3)@Re%xzlYGRj^Bv@8TME?2$1v0M9;y-BS1Mb87Bgx^(g1IXzD;N3PBSlG~=&7G$P8Im_j0`#0jMFDi zszFiJ(9}fWDM`Ysi#8=8J{~ZiXT}|hhatzv5ixjJ#TYKPLn+GO48?o*?<2g5mX;Q9 zKBi?dqSppO_WiBfw-M%Fe(Rp0VInZV9tc<1+x5-OmN6%&l`K3wYKZCx4P7@ls!GKc z9s{r)8+)y^q@<#}pbQpv>Xf>n;mC_CJ?Fx+DYzff(9pP&P5=Gt)X>n7m6}?=FV)!4 z;3X-ipzy{g`$a8h`+m}@Qy|?^BIlL2MMXuIFI`H79CGvU@JWPPo{Q8PkQWy(-irM7 zr}yLhyxk_vOyQ^jLY6|aYHKmQW>osE6>f7n^0K8l1+@n|*BvfEq_*Gh)_93j%?h;( z|AXcXL$}Xu`BSC--h@8 zW2W};zgEEiUW2p$uf^*BezU~?3tRF}tLw4AV)OodBQcjhuNY>6sU6fFJZL;yK0U6b zsd+o6H+x{8T7vZH>F-w$l`n*90U zw)bpS2I%F>G&H$xbA7D*{OI%qw{P(N9&Z2TGqsxr99KLL!rTGGu*9N`D$k_W7^K|X zmhh;jY{1?GJtHDvNva9UflOs%o3#@neqGJVLj@MY z4uoN`Lvaq@V=rF3Xo)>#sSHBeePM{v+UigDnA0@DgV-xeA<0lhkgCtC`rDQutQsx} z(}ni+N8pb77{86U(SSogT4{enyu|9eskVd+M#YbwGy%i*1WWvoh9S_XY6L`{xYY*x92``E*;HVdmTj&~lrAh5f-v;e7)A31GALqS(wtVsX zRlx4amY7{!K*JkKsOQ}vJ+$@ovigmE+Sp|*pFT|#M&t1rWk*r%T+IVx)xVuYN|5RW z&>KPLx2FCwI2f!1tYcGab9;MV5QWsVaZe?hq_XKs4FsIwoy%H+=0M0lysrUL?;Qd0gJc)yiD^0@UrgNWdCRzshKQvdM0f`Webg6doH3W|!| zuyjAVe%N!k5a_DAfCFG10XOfSA1sarR{a|+=tukQa&50jxwY9+)HePmJ;)*}<#Q zP*Dksh>UEKWJcAs!s)Dx<7<|dJyL$*pIQFWb*LPgSQ0MxpI+Xa-WXjkS5@&zu=p;% zRGm6HY77j@YIUj&i~%g{%Q~zpCo4-{++(rFP0r>iiIDUzG?B!J{we|bh0qVkS)gTZwwx3dWejIPRrOh8R+ynZplv-2#^2py2;_X$xxwLi1=UNw&AQ7Bqb%i z54K6`vpEIX`S~hH(ER$P4r&Av8$O+1A40({Eo}l%w^LQSE6&KIvh=wd)D&oRd8*Sd z&0Y>KOYF`UBY8qePhS8j1$JFFs3Z_aaA(ascb<9s_^d;5-mYHM^x|yfA1#dto>e%U z)vfIs#rc4J5Cxu8Vj_(m#}z>Vfy|1EM^K|cSm=U(u~;z?cB)^543%i~k5%F-IgLn4 zB(thQghS1?1;~4O4X{M>Yj$iPDrz->=0YSh2{zjZCAh&>+JeKmc;Bh!sH>)CBz*LS zHOo&tMw&Qru(RVWxxdyuRBRazM98&?)?*s+PCOvAZR4oW`KKd#HWNs0) z-=)aS%FV4R?mmy?A)W8vJM~NWdk}bYX)(qw;bPndW%KW{QxQ0#7Ix@~7qpFvjb#CB zo0_tqmGD$ED6>-sn>RV&z{|+x7o&cuO>~o4#*Y3w%W7L~ZSAy-WN!sBavC*oE`%IM za|LbtSRj-j`9W-pIsFbSvl|4%;@19Vz+pL%SUs9EC=$z2fp#y0a))Rz@PO#&S1pQ# z?+V!ueTgyg*Tdm(-g9~7Op?k^2w1l_;Lw87cAp>k1n5Z230^+f-|g+{x+OnU;hft4 z;3izAHv{9(CXby-Pgv6pSl6Xn4??5S(Q$EE;CzBGuxpr zVL7+t!7=QT+#Eqaz~lV)y(O1_TteKhriB<|?<`Oi#-3xx!4R19sNGG{4NRT|S-G6w zn^RDe9YjWi}-;a?v5cAt9@!xJSu^B8f=dVc;Mb!=8r%wsk zUB!6s(MrfJTr1mXrlbo9Sow7|m`-}fx8|TfAfVAcULI_Zp(>ApFP{Q=ZTmRFchN2` z0*<2+V3peLZY+5J`5?z6Xn%v1RX#^2uWMsr7?eQDn>VKmwsRmN-ZKm?xEH((CJ+eT z3#I*kT*WAo>}xPP%0;O@QS~a3C z-zW#n;1)Zfxp>?B<g534~{g(*h zfDy|M8i=^nDBSM3wpO#dxOy7j)ger=NerkR^&-&%_Si0sB4)Yz(T;i~>zIqDjdH&3hmoH})tCsqZJdh0`w}zwxpSA=1Q>I=fRNY$T^f6Z_lX@lL zZ?Xz+EE!)LojA5u=`LkyLuya5ad7y^K!AWV-W;}r5G;`g`77o&8wJ_QGo#FnMCHP8 zc@B7j2%Z4bBGnW?%wPfzDjBRhKi@b0mJjs;44H`F2g2Rm-TO7|L#4Lst^D|h5n%hw z3zu*jS9`W@`0vk|cpNUWODH0G3}m{#fq@{%+nSmhd9rEnzvs4=C;XSn_4D+r-1GYK z3^Ilts@f!bEs7fTAIC;TeHj@sTo@>n1vm%i*PU#7rsCfXp}cY>yUg86Ha$%-Cd|ti zj92VfFf{@a;Bs1RE)t-DDMDtnc7%$=6;l66nCPn+5tW#j+rm}VN^%D7l9%kiV-2Ta z3)>1>6yih!%r)?BO8s`-2|i1>#mC-oH9>*1ej=6IQwg{$9ZRRMgbC2R3q4 z$tP}|YYSa(GGU?f3jj|V@&lR@Ss->naoIfn-O`X&A5F(lIV^G=Tw7p28`%A~+%;;B zjs*Z2i`Y3XV4nxM9R7&)v1{-Q0NCR&HVpEnFkc(7nm3Wf?Ha}yy1d@q93LN-FF%Fi z@dHX~36C-}P-wPT8?ZY}4BL%WmEPA96cmh%Z=t$=Jqwuc%w&v7U!hr(mbUg}G9MpJ z4{#XY6Ki8mobqyEG|v4Lbcp>m<{pOlM-)<9GI0KgNr*-lgO4C_bWJM`x^6Y=d5&I$ z131;`)NrY;y1GDsw|4!>S0B3h9{4|u&9WWCJLOr)D?EI7ZFB3xdMilu^fYBuAir#& zP$n*?sbe{Z+lX&!-$zJp_!Y%Q1Mf+U4@Nk*ErilrLAq&{AQGgc*P@|pSK@?25 zz=f#<$3CQJBq!7P?JYN9Ny$D4@s{-2ct{l=vcR55QLY*Bsg1|izJymDo*H5NB_2!0 zU@#!C4OLGQKolf{_|KY^X7)vE9?M%`6`Q%b4hYvQpYsFEorOM$A~)`fZ2@lMox*qJ zo}Zm-A8PSGO0T``o^d^t`oQ=0Hr~A2@g@qzAB3`3lPfPo;jEndVmE6yJ4sNF#MorQ z-3$MjhUN?I@L)G0c&aK)Fx>6YlP90__4P~ahlL1Uq@>89SEk_lgEguPt`ZQ4e4oWi zIWI4-?5wO00s^W-F<-y(Y%W3duO!l*mP@dU6NXSVIarAqszhfTJ$B4(3AbspKHCfY z7FiQ~hcGq=3_3OfwSa#^$zI~VppQ@*0M71@oCa$^1yqOU&QXgNQPa^a9_-thyj{L0 zCs!4K`T5EPte@S@fq?;Q>r1HLt>;smRj5Y&RH)dl3-@gd)f;=yFxn57DFXu#^WUq0 zF38g@x1i_G5mp685gTA>hAO5HN-6M$%k=b19&{T&1BrcoQ`)z^vyq|&RV5M3QWjR!2{ub(rfcJrQk5F}$LH7AhDpXv%l;_W<7&uhkZ;9ci-?a2}t$^kxgigYmEzxr#v}n){ zIZ1dXL@3D1Qd0Xy%SHyXq3_+hhs27Jo}TEGZ4Z$7jHZF|>$kOab&-M=0Z2bBEKv?E zvD8$vt^$5_Fp+w-b&Vz+h9NyY8}WJ?8snQ_M%o|^Rw^n#y2^@WWG@lg=xO(QIw|K{@HJmZoMZUTRk< zA`0NSwYBw>qyr${;(dL3-@ng53^1?n=;`U{e|`LnVFvi68h`~<2nXy8Q*F3Bh}Gb8 z)C|9HryjVumEz4>T3V1gi>T|>E$rwk5H_1jU`9#F>cP(u6b`pOmRcT@%m%I@L`Q*m zMGfc!vyasYuSl2xW8jCz<>h5%vv2{l>e!=Vi_oeUNv<1k63`7I_+>yx5*{`ev>q;O zZf2&lg}XL)Z_ii0t2vsTuzw!q2MkD$edcO~;^dC>z z9w9tLo)>z1z>hMKnhkz8=+IJ&ws@pp2aYG=mHKSVcZSi5Uj|`H?NIT}X_tXjP*58> z?`*8B>acbG%WqAl->~Pa0e}Ln1X<$x=jR1Lk$PNdnLx>}hfkmW`C^Qg0Ee~x{b<-QQnW`TC}vM(M)T*G5zm#&@wRKLn8OjHq515bd=00+1G`%77-*BLXwUBx6Ki<4FU;n3GRE(>r2d#uNfd1|D`s-)y3==j-V2+19fJF7Vf{s z4-7^0lNxEwD*r?%B28fEkpovzh2T<9Ru&uygT3H1C{seD893dp6QRN?)Bi#~NRG9! z5PIy@n~U&%uynxH2jjPQz2Bq&82t3kT)}4Snidzam^XYu%dBHzN zG!fKkO=yj@S`?d_nnp!Or>)QR&y@{3tQvUi*crclT>*H7G}wU)ngB|xgHr&80bwBy zXg2gmU7<)>*9V`o%u5zR)m6OZlIidFX-5l)N*;c2A@^>-P%8J1%B{rHKTS;JwXC z>^1PmGJG7CJk5I%`~rPvHTM0bnDh7xAWaDG1L6;|&K7}1C8a1xuYU97hoW^Ku5dg` zVNUkE+x3I(Zmbd$;_WSV*}GQ}QuCLASQ5;qe2sz%{MU1k9u4ejS9kY1aFSWjdA-mC zf<7TD_zpjRJ~X$qM6Pb8LUFz3%9$%1f4w-NCjl}ht+iDN^Th45eRObkxzY~^t!yyg zk;ZpXkp{pM60b0-0gdWXtIp5ze!q`__Dw%HIQX@+;6qoWW52nzn|C-uTK3SCuWTZ2 zO0Iq-UHW1;woEECyAPaTxz>Mt*+Xe+;F&qrWNFH=U}eka#yXaF7)<-X!e!cM;B zH(N)v+Tzfp_{75c!lVJwBX&*Sz72%wox8?!^o7jbheuB>*vMO1FL0Lb9DMqm>X27( zrNmEKJ8E}f(+iVEP?N@akCMRg=lRcJEuMubnX2KPW=XE5-GD{0w7VbjHE;0oV zWDp0vhZ%m|#N3(n5Z>FsUbm-!hQn?Cg<~a-bvNd6v64UfJI8j^9{W_y75b#mmK-cQ zAnyp~`L{Fif8Qad5Um@bz37sN8N=qIjc~n_6*cYaTc2pp7==xIJX<|COmGM{hhG3d zJ+K(UKXWJ1$%Nx@0d*^j^p8g(I4@x(;YaVzYKp+ifB&J6ZimxNg|?hrO$Hi!WE{1= zyW@rP?Xl$~KI6y|UU#h=n6-*^PbbK}SUlmA=~OiF=?-jsXTxQr&sP^{E&TFWq$>1B zo12@pOiT)(2LwLM_SO~)lt^R@iJY8HLlWE;WDW#u3qWOvjWooP249Me&E}mPY-0N9 zqXJAEz|ugL7*)9|1D4uYS-o$wfM0%XvjD3TM2ZS@>U5w~)ULa_yU)({<{bIXXIS@9whm@o7MGc7UF~T^yI!aRgOYcd{e)E7IKuFhSg#1;gbVs=(e-0$ zz}}#GfGYR|Dghpxk%?(TPu1HSTeCeyjo6sO!v@fyhrC3lPvEW5k&&rj1R%l@O2*3H z#}=1RsA>8mRF}Yxhy?gdhp`(kZ*Mk$PN=_JM|L31u-@z0FuCFeb3usBLL|CrM~{!2 z`T=w!Ek2k#0iy)iA9p}N09-k%q(qB^$LNA*jm*PkW@a8)vVd?upTc_+2Iw+jh$jM( z<@Tf1df;}pufil5h$N&733ma*^b6P+tc;8eY03PS?EoFkux4v(YyDb(Ts01tL;_C9 zZen8Mx7=_Q6l)($%tgO{e*=aHtN7I*qG$eA%~rLJ&Nyuc)qrWDNG`WYDmHC69rM?> z33|pQ;1aGaLs%ZC@R&J&Ga zcj2$qq)S1Fd`U*fExq_%vnD~Jdp|cfmsDWc8q53G2iRkKKg5;nA~Qs*Kb-h`K-5f@WQ)8uY=y?2Mx z!z(^`*Ynn*&0MPG!QM79DTz!*K?^f8lLZQ`c#s1e4g?j1!)AJwwHJUwn_N;47 zeohYcS6s4UKb&M}7YihbmcYU>*L(NA%u%PMQm0fct^_^DHS)_txXwKzqk9iiA|PcZ2+1yBFB_0{YMCFdGC0=`Y9zBzIsEvwrM77!QD? z=-ziAw_b*XR2e$*#UVHjpn&*bMBmj=m~ViA9%gB2X|Qmbp(`vdZU7p)eQspwDFifJ z-W^@WQ8(#n)cSLZ2mfl;r@79`d1)zofY*L8A10l8J5%M5E(6qyJfkWdSU|g18+2cQ zvtT`!KSR$1rlXkbi8Z)>?@q`!ED&9{gFP?3JRN9mYapq+z77**2_Uc;W& zE5%`LuTg}S?9w?SBFnzbz4h%A?-t}na%wg2!H&SeGRh+fQ|^!itYXy{2-g(kjH;?C za#he2@sd7e2nCDruCA^|#N77IPIgL)46GeAT@36F27^J^2v{vJ*Jl}+42^gKHAF+K zD@3OgG?c+5hH=7A;K%3b6*n?U5XVTQ3>aH5!n(?X+lh4=dk(U$$Cexodatj*qyX64 zFVn)z(o$_`VjAN9~eBzK}4gkz?wY%u~HI&_<^btfz|E0W~Fc+di6l_(_o4f zF{7ce2u3ch8PqbXlvE8qV{vB+noU7=}QA+tr`7vx>co-fKW-6$bta^WP%E2q=B>o3rBH416pH$~K|GSr&-RoAB^{a0g&n9i(++?_oG({A{nST+hM1C&hzn zK$YiUEx^K}!o$NM*A0)BG?;#X8UWm>FIO)$lv)@&&o>a+VA=^{lM7TEIO@oW!dRcb zzkfVXW#nx?e*CDCfWHyNbKRM2sIACn3QJ>BvmtGS&)Dmk6!|(L=oB91gK~W1e(p!m zx@9&`Lfg>SCqd7Hg502&1Pu$wXi<6|frK_>?gZisp>3`+UH(AlX>qDIbusr=+({T7a<|xnyT>G^mJ?b6j_UR^VgfFenzMEM0WCaEyMR8 zKh8Y{&-dSd?ksjgQ{-K9`)-@32h@Jl#4E&#vh4n^f3ecQH~+h@pYBw_$|A~>zK$p7 zFPk@VTSz;Cui6y8xp=DH4;cmOxR644M17{Q#9x}&Nf>yVyL$#cuB$W#|NZa3tfsWf zN|Q`?gsX}7fCabU4t&0N(4ZFz|CW8AT|*j9q6niv=?EVl5UCX2#SdZVKu;dao~jq z7r^-QZJF?AAgLBcaR%^<8=#Z0OEtS-t%-~hs00Icx-n}c=|jB;aA}kSPoU1ef_!n@ zm>&cVLZvYX_u^e_TXX$gcLeIJyau$|knRX>xsiHeB&YKd9UT|&K6r+nMIEptIixd9scUt64$%R<7ci+%SrEazHdGObCS-E=@`gl#2||JGc&_lMabu_ z-P0(jUU{>(x7S$dkqTpywDG)V!LVU&M8C~Y4-XXT5)A+eT`%#S$JG;83eBp0c&5I8 z{|>YHVxxrEGKAGa%T>NBT{*!Orucx-u-v|lP}GT$s?Pt5xi=5TvfcNGZz)YAjb@27 z8Y&smjVKb8RLGcA<}p*|N;DXvK}E(QNyw1tMm(Wp$~-4zCYdt-K4;HbYybA%@3D^k zzJI*OUdKN6vzF(+ulpL#^E-To@3q%sVQ!_QI0r>!Z?Z3!r#r5MOTt<TD7kTVyF5G=_r~=gaU67+e8ayJk{RHl1CDP{j@M6*^=u<0 zL^aOZdn~XIa7LDG_g#JyR9srQu9;{6CP*BIsQ}f6nv>J-r2b)L)QN9(GNX_;0EQi0 zP%<+CbrY^uL4q^M>)wEgXDN;P+ zZc>H>roQL}cRu|f-C6S>5~b3ORHNd!?dvt5E6knyrTkp-ssie9Xf#YsOags;d=T3S z4M)TWpSFkBK%e8Rn`hN7-QCqyQc-d06m{aE^mNyHH}K1D4DC!DV!hKn;Tp!qy|3yG z)3gWz3@8E!RPTr7JP%`IjlvDvAXku{9o(<<)ni(C@p40WD^`6Zgaarl`jU&eAAGv> z^}#9WIACa6@2%SF06vY6EY9cgILuQ4BMguPtf1hH6|1wv4ivR|g4RorZEC3fh3b)m zh#Uc)5h81mnXi_anCXayl_1-3L>=7w-2D6m1Oi{X=Tsjzar8~CporM7jc8RF&mXjW zH!)>tW?@ll!z%+_7)pyNWEZ8iXSx zbT|Mr0$rh;N0kx_4!f6p0pvXxX+77`kM6UgEzabOQPrW?+X*RwxK-QW)yyOq%`p9vw;%m}l;HTplz~0~ zpB~Qa;kI{hc#R$~SV;G4ZM+8gPTt~do(8nr{GZUuRZyow0o0K1K8FPZaPXrrr|&C` zS`jb^N{sc)uY`454T;mGS02&R)Fl)ZcVuT1{7emqZ($%*FijBxkjQCKBJTe^2vL|u zqF!xBp%0M*(B^)Xy478N-<$>xC_yXjc!;=_I;5T`he77q54T7{U80YgX=Z-JBautW zVSF}zuA^@Kh7B+91Nw`TR*Ny{Rk*0msTCBriGCCo=ahoLQFkzgDCp)moqliG8pKbX z>5ax64|;(rm=pwgi}ND{Q^I}s?e&Ku;1MA@2STiJPh-D?Irr}*6e28X!L61WN=kP~ zaO0A+Jwo_X+}#OBk15CU0luwU$3e#T8Oh8(Me8>Xvcz<#DXrWlT*~nzL?jPus1w~F z@*XE9CPqs8{~(KKnk8ay2RcX-aGWy6ay>_n0B&l(ntKM(fgl#3C!5GJoNXO(*MLk$163;aSqjUtUSQ-BJq|LzO85xe zuUmIf5Ag=I8L8UHq7Lwwizd)@Fb|`cc|!yq2a&j)gG7VK343E@=HuR|$0JQdL#&Nf zr5`XIdmV#F^gLM_meta-;d68J!JQ9(d%7P#xn{Vtar}7?!b)_{%)~&J`}|Bqce-V3 z({5RUr-RmcguwEr{i(cKjG7R#+bBp-a3;iM($?1ImOcsuabgusZA!N?&8&VGZblIB zMTrZZ+?G`3$9qo8$=yJs4?HFoo}FM>W7NQ9;;qWU>>*L4F zP>6l15V{Dso0vOu90cPt0HI9ptKk6%kXg_~M+6AvG3d6J(&GEh!-T`_-1|q^l;t*? z4s?IyUFVC~*w{b9lML&_U^QmC9-JZ^1ws-;*t&o8mL_;W-m^RW7RZvwJTXh5HqxhL z$BA*rxddlKnkTeqc)Bc1=PgjGGE?MUU)m}>7OoQEJY->C6SUtG ze+L2kA8F|IIo^8s!FTeX7vy)x3T}>>(EyJ_#+j%|CY?u4HkepgAjpIvBHPVQS`Y*Z z0_^i|ja2O=I1Bq@11j`+dItvwIn}x3 zpO3g2X%00HIk?UA#Rg>+&Vfm7Hp*Pijukub8-&#^yr>Bv;W)K z=b##T2EKm%DqU(0%>*832GOsPngbzCT3Xr}NR^^!S(l}I0BQ?@wzc`P?Vr(YcHHq+ zk4ChKfaa99ZQJ%bA%So%$`FJ7jW}=B&2>EwH9VATj{ynQKs66_gmMt+iLo%(#4q4H zumq$6WPX3UNq5{)3W*=MB%@3c7S)jJ^QTYybnaaffo8=mcLd;8-h6XjEn2YQ7OD*d z8_vixOcU|KXNFvsQdp&zq=xi=mkaJxV46#Hzu#2!PU>bl&l?A&Ao*6u>?_4ni@SgJ z?ZBxbo7Lg&cXf0`LRf0t{rM4qQuI|0ZJF~w3z?sv*(7if%`z1`KFf9b9r|SAc7V-A zg6H7Ftl(#>SFh$!pC^Ji7ni9iB94LF@JB>Fu8+6{XFf2yUwD-uHFT_X?6u2DeYO(R zH#1bDG%a0!=qlly`D(U)6JN}CvMgMe8jBzJ_+H1qwAMx5H!SL$j5lp>n>5`_BDfh6 zGe9Jk6c;NJeKEcWoH7w~10Y@rj{_d#y;VvZU5PAfaUyRa7_QmzS`GcakDK*t`l@4} zU$@Js7RMh6lc&^r_3rX#4_p;NbP)0o%ocU*%l==#*k@#R!>?3cPc({#0aURU11K$L zT=U>N$eS*+0?o?@3=Ec$9f%`PMb;wNh90iJ9XE&Y#mG#@enuUs;$)}@ktz+!T=U-7?ozu}7)X5bBL=0I9yE+Z@GH!IX;7@IoMFBq{s)GLj^SCZW$!dP+9t z7rC2$k(indgk43JVJp37Gt0RruNnBQ%)F4O}NWy zdboNA>JtaB*$7Y#xhif$hgqG3n%N|z^9l%uDPl{|3rNMxP_Sc(u-h)ah+D)nW-aFGJ?s^CP3yhP zQ+RiFp)MD*=A%UeFZgq1=;Ta z*FcL_vh9FT(GEY$7@rIO*sI)Jmy`2Aa=Z@(OQLbWZLBBSFQEL-Wjxy0?)rScwONm3 zv4_C^N%02o2hx$NmNspmuMwk3?R*ffD0Dc^^Y^V$zW1~Y0R$)YmD-eZt#Iz|DAa2N zmBooAp zjBce|>K-1dydKlV98x>Yko9P`rX6bGLM@9Z2n+v|H?$3*fs{S=6~PP0aggngqX76+ zIk9@PP)&gQI3LlrKuKLmt`f<7rA&8zf z>y2#ClP9lu=DsbTsZDf$iPIv=aiop@tF1qCReZ=5vEquL)Jd0g9E75RsIpN4K|mM_ zZoJiFao!n4_5_NrgEuQs+osuef3_K(u6z*_Lp)4y8vpwFlXY_35Bk}j$quvx@=epp zvFKh1cmy2);YFbO0q*JJI#1Fn{K?3vDkxo{o_~r=FPz;f1Re#_2xUUi6Xeu~$Gu@% zUJl(b31GXp3wxl%BaxM~O{B+z9CQM7HS=_2Ufcp%c>9L{#Hsb!4oV)o zc2)LvtO645Xa`W%onD&F!FvMs^(RbmbQ)B;$Nk~1{KcKp5TvzmF?mgmxmdbF(i>8jVU zu`n6}JtMRaaI(GQ6#Y{uv53Ty-#(zdcT)|59YU5yV&*5cDS1D~$MFMJdTD6FP`iP1 z-HMw^7$soJq}PSi8XOM6rGXXdDOVBN7)FI4IO_G!oFY^{u3w7Y0%R~m9{XjP>l6`t z-9}v6&)`AlwWAl?am~eL_r7%F!$6y)Hnnc6snzjp_jlT;&h=0uQIt@u*F^>mX)F|45$5X=R&2zGsQt}@b z@8ZnocYs$E@+T~z(#)o%0PnPy8ea$^SzLPIx1rM4sH6Ab7mTtQhKZ}XFg1jp+O*K2 zvDj~$)9PWG=5q&^rHGc}PxTin8I9$HlO9+u^ZWXjD`QTM%oI

lCWogrDVrXn;)w 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 Date: Tue, 26 Apr 2022 00:48:21 -0400 Subject: [PATCH 13/13] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f208217..97e34c0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # kivymd-crud +DESENVOLVIMENTO LENTO Realizando crud com Kivy e JSON `pip install -r requirements`