flet-easy 0.2.8.dev1__tar.gz → 0.2.8.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/PKG-INFO +3 -2
  2. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/pyproject.toml +6 -2
  3. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/fletEasy.py +38 -19
  4. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/assets/database.db +0 -0
  5. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/controllers/login.py +1 -1
  6. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/controllers/register.py +1 -1
  7. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/main.py +5 -3
  8. flet_easy-0.2.8.dev2/tests/flet-app/models/__init__.py +1 -0
  9. flet_easy-0.2.8.dev2/tests/flet-app/models/connection.py +17 -0
  10. flet_easy-0.2.8.dev2/tests/flet-app/models/methods.py +39 -0
  11. flet_easy-0.2.8.dev2/tests/flet-app/models/models.py +11 -0
  12. flet_easy-0.2.8.dev2/tests/flet-app/pyproject.toml +9 -0
  13. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/uv.lock +481 -87
  14. flet_easy-0.2.8.dev1/tests/flet-app/models/__init__.py +0 -1
  15. flet_easy-0.2.8.dev1/tests/flet-app/models/connection.py +0 -7
  16. flet_easy-0.2.8.dev1/tests/flet-app/models/methods.py +0 -29
  17. flet_easy-0.2.8.dev1/tests/flet-app/models/models.py +0 -16
  18. flet_easy-0.2.8.dev1/tests/flet-app/pyproject.toml +0 -28
  19. flet_easy-0.2.8.dev1/tests/flet-app/storage/data/.gitkeep +0 -0
  20. flet_easy-0.2.8.dev1/tests/flet-app/storage/temp/.gitkeep +0 -0
  21. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/.gitignore +0 -0
  22. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/.markdownlint.yaml +0 -0
  23. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/.python-version +0 -0
  24. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/CHANGELOG.md +0 -0
  25. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/CONTRIBUTING.md +0 -0
  26. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/LICENSE +0 -0
  27. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/README.md +0 -0
  28. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/add-pages/by-means-of-functions.md +0 -0
  29. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/add-pages/in-automatic.md +0 -0
  30. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/add-pages/through-classes.md +0 -0
  31. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/add-pages/through-decorators.md +0 -0
  32. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/ControlResponse.gif +0 -0
  33. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/Use-class-new-page.gif +0 -0
  34. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/app-example.gif +0 -0
  35. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/fs-init.gif +0 -0
  36. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/jwt-app.gif +0 -0
  37. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/jwt-web.gif +0 -0
  38. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/on_keyboard.gif +0 -0
  39. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/protected-route.gif +0 -0
  40. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/route-advanced.gif +0 -0
  41. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/route-custom.gif +0 -0
  42. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/route-simple.gif +0 -0
  43. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/share-data.gif +0 -0
  44. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/use-example.gif +0 -0
  45. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/gifs/view-config.gif +0 -0
  46. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/app-api.png +0 -0
  47. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/favicon.png +0 -0
  48. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/funtion_add_page.png +0 -0
  49. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/logo.png +0 -0
  50. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/on-resize.png +0 -0
  51. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/run_view.png +0 -0
  52. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/struct-views.png +0 -0
  53. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/v0.2.0/FletEasy.png +0 -0
  54. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/v0.2.0/export_asgi.png +0 -0
  55. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/v0.2.0/fastapi_run.png +0 -0
  56. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/v0.2.0/method_run.png +0 -0
  57. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/v0.2.0/struct-app.png +0 -0
  58. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/images/v0.2.0/template_dxs.png +0 -0
  59. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/assets/js/dynamic-year.js +0 -0
  60. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/basic-jwt.md +0 -0
  61. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/begin.md +0 -0
  62. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/cli-to-create-app.md +0 -0
  63. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/customized-app/control-view-configuration.md +0 -0
  64. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/customized-app/events.md +0 -0
  65. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/customized-app/general-settings.md +0 -0
  66. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/customized-app/page-404.md +0 -0
  67. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/customized-app/route-protection.md +0 -0
  68. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/data-sharing-between-pages.md +0 -0
  69. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/dynamic-routes.md +0 -0
  70. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/events/keyboard-event.md +0 -0
  71. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/events/on-resize.md +0 -0
  72. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/how-to-use.md +0 -0
  73. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/index.md +0 -0
  74. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/installation.md +0 -0
  75. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/middleware.md +0 -0
  76. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/overrides/main.html +0 -0
  77. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/ref.md +0 -0
  78. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/responsiveControlsy.md +0 -0
  79. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/run-the-app.md +0 -0
  80. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/stylesheets/extra.css +0 -0
  81. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/docs/working-with-other-apps.md +0 -0
  82. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/media/app-example.gif +0 -0
  83. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/media/logo.png +0 -0
  84. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/mkdocs.yml +0 -0
  85. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/ruff.toml +0 -0
  86. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/__init__.py +0 -0
  87. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/auto_route.py +0 -0
  88. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/cli/main.py +0 -0
  89. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/datasy.py +0 -0
  90. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/extra.py +0 -0
  91. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/extrasJwt.py +0 -0
  92. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/inheritance.py +0 -0
  93. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/job.py +0 -0
  94. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/jwt.py +0 -0
  95. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/pagesy.py +0 -0
  96. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/route.py +0 -0
  97. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/src/flet_easy/view_404.py +0 -0
  98. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/README.md +0 -0
  99. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/assets/icon.png +0 -0
  100. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/components/__init__.py +0 -0
  101. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/components/counter.py +0 -0
  102. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/components/custom.py +0 -0
  103. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/components/drawer.py +0 -0
  104. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/components/login.py +0 -0
  105. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/components/register.py +0 -0
  106. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/controllers/__init__.py +0 -0
  107. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/controllers/counter.py +0 -0
  108. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/core/__init__.py +0 -0
  109. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/core/config.py +0 -0
  110. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/core/sensitive.py +0 -0
  111. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/views/counter.py +0 -0
  112. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/views/dashboard.py +0 -0
  113. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/views/index.py +0 -0
  114. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/views/login.py +0 -0
  115. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-app/views/share.py +0 -0
  116. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/favicon.png +0 -0
  117. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/icon.png +0 -0
  118. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/icons/icon-192 - copia.png +0 -0
  119. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/icons/icon-192.png +0 -0
  120. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/icons/icon-512.png +0 -0
  121. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/icons/icon-maskable-512.png +0 -0
  122. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/icons/loading-animation.png +0 -0
  123. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/index.html +0 -0
  124. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/assets/manifest.json +0 -0
  125. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/controllers/__init__.py +0 -0
  126. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/controllers/contador.py +0 -0
  127. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/core/__init__.py +0 -0
  128. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/core/config.py +0 -0
  129. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/main.py +0 -0
  130. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/model/__init__.py +0 -0
  131. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/model/contador.py +0 -0
  132. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/counter.py +0 -0
  133. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/index.py +0 -0
  134. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/login.py +0 -0
  135. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/on_keyboard.py +0 -0
  136. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/pubsub.py +0 -0
  137. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/resize.py +0 -0
  138. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/response.py +0 -0
  139. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/share_data.py +0 -0
  140. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/task.py +0 -0
  141. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/flet-fastapi/views/test.py +0 -0
  142. {flet_easy-0.2.8.dev1 → flet_easy-0.2.8.dev2}/tests/routing.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: flet-easy
3
- Version: 0.2.8.dev1
3
+ Version: 0.2.8.dev2
4
4
  Summary: ⚡Flet-Easy is a user-friendly add-on package for Flet, offering a cleaner code structure with numerous customizable features like JWT, routers, decorators, middleware and more.
5
5
  Project-URL: Homepage, https://github.com/Daxexs
6
6
  Project-URL: Repository, https://github.com/Daxexs/flet-easy
@@ -8,6 +8,7 @@ Project-URL: Documentation, https://daxexs.github.io/flet-easy
8
8
  Project-URL: Changelog, https://github.com/Daxexs/flet-easy/blob/main/CHANGELOG.md
9
9
  Author-email: Daxexs <Daxexsdev@gmail.com>
10
10
  License: apache-2.0
11
+ License-File: LICENSE
11
12
  Keywords: app python,fast flet,flet,flet easy,flet easy fastapi,flet easy mvc,flet easy route,flet jwt,flet middleware,flet mvc,flet route,flutter python,python,python web template,web application
12
13
  Classifier: Programming Language :: Python :: 3
13
14
  Classifier: Programming Language :: Python :: 3.8
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flet-easy"
3
- version = "0.2.8.dev1"
3
+ version = "0.2.8.dev2"
4
4
  description = "⚡Flet-Easy is a user-friendly add-on package for Flet, offering a cleaner code structure with numerous customizable features like JWT, routers, decorators, middleware and more."
5
5
  authors = [{ name = "Daxexs", email = "Daxexsdev@gmail.com" }]
6
6
 
@@ -61,5 +61,9 @@ build-backend = "hatchling.build"
61
61
  fs = "flet_easy.cli.main:run"
62
62
 
63
63
  [dependency-groups]
64
- test = ["ruff>=0.3.4", "peewee>=3.17.2", "flet[all]>=0.25.1"]
64
+ test = [
65
+ "ruff>=0.3.4",
66
+ "flet[all]>=0.25.1",
67
+ "tortoise-orm>=0.22.2",
68
+ ]
65
69
  docs = ["mkdocs-material>=9.5.17", "mike>=2.0.0"]
@@ -7,6 +7,7 @@ from collections import deque
7
7
  from functools import wraps
8
8
  from pathlib import Path
9
9
  from typing import Any, Callable, Dict, List, Optional
10
+ from warnings import warn
10
11
 
11
12
  from flet import View
12
13
 
@@ -155,6 +156,37 @@ class FletEasy:
155
156
 
156
157
  # -------------------------------------------------------------------
157
158
  # -- initialize / Supports async
159
+ def __run(self, page: Page):
160
+ """Initialize FletEasy configuration"""
161
+ return FletEasyX(
162
+ page=page,
163
+ route_prefix=self.__route_prefix,
164
+ route_init=self.__route_init,
165
+ route_login=self.__route_login,
166
+ config_login=self.__config_login,
167
+ pages=self.__pages,
168
+ page_404=self.__page_404,
169
+ view_data=self.__view_data,
170
+ view_config=self.__view_config,
171
+ config_event_handler=self.__config_event,
172
+ on_resize=self.__on_resize,
173
+ on_Keyboard=self.__on_Keyboard,
174
+ secret_key=self.__secret_key,
175
+ auto_logout=self.__auto_logout,
176
+ middleware=self.__middlewares,
177
+ ).run()
178
+
179
+ def start(self, page: Page):
180
+ """Start the app in the main function"""
181
+ return self.__run(page)
182
+
183
+ def get_app(self):
184
+ """Return the app function main"""
185
+
186
+ def main(page: Page):
187
+ self.__run(page)
188
+
189
+ return main
158
190
 
159
191
  def run(
160
192
  self,
@@ -173,27 +205,14 @@ class FletEasy:
173
205
  """* Execute the app. | Soporta async, fastapi y export_asgi_app."""
174
206
 
175
207
  def main(page: Page):
176
- app = FletEasyX(
177
- page=page,
178
- route_prefix=self.__route_prefix,
179
- route_init=self.__route_init,
180
- route_login=self.__route_login,
181
- config_login=self.__config_login,
182
- pages=self.__pages,
183
- page_404=self.__page_404,
184
- view_data=self.__view_data,
185
- view_config=self.__view_config,
186
- config_event_handler=self.__config_event,
187
- on_resize=self.__on_resize,
188
- on_Keyboard=self.__on_Keyboard,
189
- secret_key=self.__secret_key,
190
- auto_logout=self.__auto_logout,
191
- middleware=self.__middlewares,
192
- )
193
-
194
- app.run()
208
+ self.__run(page)
195
209
 
196
210
  if fastapi:
211
+ warn(
212
+ "Avoid using the 'fastapi' parameter in the 'run()' method, instead it is better to use the 'get_app()' method.",
213
+ category=DeprecationWarning,
214
+ stacklevel=2,
215
+ )
197
216
  return main
198
217
  try:
199
218
  return app(
@@ -28,7 +28,7 @@ class LoginC:
28
28
  )
29
29
 
30
30
  if username and password:
31
- if not check_user(User(username=username, password=password)):
31
+ if not e.page.run_task(check_user, User(username=username, password=password)).result():
32
32
  self.data.page.snack_bar = ft.SnackBar(
33
33
  content=ft.Text("User does not exist"), action="Alright!", open=True
34
34
  )
@@ -27,7 +27,7 @@ class RegisterC:
27
27
  )
28
28
 
29
29
  if username and password:
30
- if not add_user(User(username=username, password=password)):
30
+ if not e.page.run_task(add_user, User(username=username, password=password)).result():
31
31
  self.data.page.snack_bar = ft.SnackBar(
32
32
  content=ft.Text("The user already exists"), action="Alright!", open=True
33
33
  )
@@ -1,14 +1,16 @@
1
1
  from pathlib import Path
2
2
 
3
+ import flet as ft
3
4
  from core.config import ConfigApp
4
5
 
5
6
  # from core.sensitive import PRIVATE_KEY, PUBLIC_KEY
6
7
  from core.sensitive import SECRET_KEY
7
- from models import create_tables
8
+ from models.connection import db_init
9
+ from tortoise import run_async
8
10
 
9
11
  import flet_easy as fs
10
12
 
11
- create_tables()
13
+ run_async(db_init())
12
14
 
13
15
  app = fs.FletEasy(
14
16
  route_init="/home",
@@ -57,4 +59,4 @@ ConfigApp(app)
57
59
 
58
60
  """ [If you have any problem - build web]
59
61
  Use ft.app(target=app.run(fastapi=true)) when compiling web statica. """
60
- app.run()
62
+ ft.app(app.run(fastapi=True))
@@ -0,0 +1,17 @@
1
+ from pathlib import Path
2
+
3
+ from tortoise import Tortoise
4
+
5
+ path = Path(__file__).parents[1] / "assets"
6
+
7
+
8
+ async def db_init():
9
+ await Tortoise.init(
10
+ db_url=f"sqlite://{path}/database.db",
11
+ modules={"models": ["models.models"]},
12
+ )
13
+ await Tortoise.generate_schemas()
14
+
15
+
16
+ async def db_close():
17
+ await Tortoise.close_connections()
@@ -0,0 +1,39 @@
1
+ # from tortoise import run_async
2
+ from tortoise.exceptions import DoesNotExist, IntegrityError
3
+
4
+ from models.connection import db_close, db_init
5
+ from models.models import User
6
+
7
+
8
+ async def add_user(user: User):
9
+ try:
10
+ await db_init()
11
+ await User.create(username=user.username, password=user.password)
12
+
13
+ # run_async(x())
14
+ return True
15
+ except IntegrityError:
16
+ return False
17
+ finally:
18
+ await db_close()
19
+
20
+
21
+ async def check_user(user: User):
22
+ try:
23
+ await db_init()
24
+ user_check = await User.get(username=user.username)
25
+ return user_check.password == user.password
26
+ except DoesNotExist:
27
+ return False
28
+ finally:
29
+ await db_close()
30
+
31
+
32
+ async def delete_user(user: User):
33
+ try:
34
+ await db_init()
35
+ await User.filter(User.username == user.username).delete()
36
+ except IntegrityError:
37
+ return False
38
+ finally:
39
+ await db_close()
@@ -0,0 +1,11 @@
1
+ from tortoise import fields
2
+ from tortoise.models import Model
3
+
4
+
5
+ class User(Model):
6
+ id = fields.IntField(pk=True)
7
+ username = fields.CharField(max_length=255, unique=True)
8
+ password = fields.CharField(max_length=255)
9
+
10
+ def __str__(self):
11
+ return f"User(id={self.id}, username={self.username})"
@@ -0,0 +1,9 @@
1
+ [project]
2
+ name = "flet-app"
3
+ version = "0.1.0"
4
+ license = "MIT"
5
+ dependencies = ["flet==0.25.*", "flet-easy[jwt]==0.2.8.dev1", "tortoise-orm==0.22.2"]
6
+
7
+ [[project.authors]]
8
+ name = "Daxexs"
9
+ email = "Daxexs@test.com"