jknife 0.0.7__py2.py3-none-any.whl → 0.0.10__py2.py3-none-any.whl
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.
- jknife/commands/jknife.py +18 -9
- jknife/db/models/mongo/users.py +1 -1
- jknife/views/users.py +2 -2
- {jknife-0.0.7.dist-info → jknife-0.0.10.dist-info}/METADATA +1 -1
- {jknife-0.0.7.dist-info → jknife-0.0.10.dist-info}/RECORD +8 -8
- {jknife-0.0.7.dist-info → jknife-0.0.10.dist-info}/WHEEL +0 -0
- {jknife-0.0.7.dist-info → jknife-0.0.10.dist-info}/entry_points.txt +0 -0
- {jknife-0.0.7.dist-info → jknife-0.0.10.dist-info}/licenses/LICENSE +0 -0
jknife/commands/jknife.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import sys
|
2
2
|
import os
|
3
|
+
import subprocess
|
3
4
|
|
4
5
|
|
5
6
|
FOLDER_LIST: tuple = ("models", "routers", "views", )
|
@@ -12,7 +13,7 @@ Usage: jknife [sub_command] [3rd argument]
|
|
12
13
|
* sub_command:
|
13
14
|
- startproject [PROJECT_NAME] : create project filesystem
|
14
15
|
- createapp [APP_NAME] : create API application in project
|
15
|
-
-
|
16
|
+
- runserver [OPTIONS] : run server with uvicorn
|
16
17
|
|
17
18
|
[run OPTIONS]
|
18
19
|
--host [HOSTNAME] : run server with hostname [HOSTNAME]
|
@@ -51,7 +52,7 @@ router = APIRouter(prefix="/{}",
|
|
51
52
|
|
52
53
|
# Template for views/APP_NAME.py
|
53
54
|
MODULE_IMPORT_STRING_VIEWS: str = """# import packages from default or pip library
|
54
|
-
from pydantic import BaseModel
|
55
|
+
from pydantic import BaseModel, field_validator, ValidationError
|
55
56
|
|
56
57
|
# import packages from this framework below
|
57
58
|
|
@@ -66,6 +67,9 @@ from pydantic import BaseModel
|
|
66
67
|
WARN_MSG_ALREADY_EXIST_PROJECT: str = """
|
67
68
|
[WARNING] You already have project '{}'.
|
68
69
|
"""
|
70
|
+
WARN_MSG_IMPOSSIBLE_RUNSERVER_OUT_OF_PROJECT: str = """
|
71
|
+
[WARNING] You have to execute 'runserver' command in your project folder.
|
72
|
+
"""
|
69
73
|
|
70
74
|
# ERROR MSGs
|
71
75
|
ERROR_MSG_START_PROJECT: str = """
|
@@ -272,13 +276,12 @@ async def validation_error(req: Request, exc: RequestValidationError):
|
|
272
276
|
|
273
277
|
|
274
278
|
# add routers_bak
|
275
|
-
for router in os.listdir(os.path.abspath(path="
|
279
|
+
for router in os.listdir(os.path.abspath(path="routers")):
|
276
280
|
if not router.startswith("__"):
|
277
|
-
tmp_module = importlib.import_module(name=f"
|
281
|
+
tmp_module = importlib.import_module(name=f"routers.{router.split('.')[0]}")
|
278
282
|
app.include_router(router=tmp_module.router,
|
279
283
|
prefix=MAIN_URL)
|
280
284
|
|
281
|
-
|
282
285
|
"""
|
283
286
|
|
284
287
|
|
@@ -341,9 +344,15 @@ def help_msg():
|
|
341
344
|
print(HELP_MSG)
|
342
345
|
return None
|
343
346
|
|
344
|
-
def run_server(options: list):
|
345
|
-
|
346
|
-
|
347
|
+
def run_server(options: list, app_name: str = "main"):
|
348
|
+
for f in FOLDER_LIST:
|
349
|
+
if f not in os.listdir():
|
350
|
+
print(WARN_MSG_IMPOSSIBLE_RUNSERVER_OUT_OF_PROJECT)
|
351
|
+
return None
|
352
|
+
|
353
|
+
args = " ".join([ option.replace("=", " ") for option in options ])
|
354
|
+
command = f"uvicorn {app_name}:app {args}"
|
355
|
+
result_cmd = subprocess.call(command, shell=True)
|
347
356
|
return None
|
348
357
|
|
349
358
|
def main() -> None:
|
@@ -360,7 +369,7 @@ def main() -> None:
|
|
360
369
|
createapp(app_name=read_command[2])
|
361
370
|
return None
|
362
371
|
|
363
|
-
elif sub_command == "
|
372
|
+
elif sub_command == "runserver":
|
364
373
|
run_server(read_command[2:])
|
365
374
|
return None
|
366
375
|
|
jknife/db/models/mongo/users.py
CHANGED
@@ -4,7 +4,7 @@ from typing_extensions import Annotated, Doc
|
|
4
4
|
from mongoengine import Document, BooleanField, DateTimeField, IntField, StringField
|
5
5
|
|
6
6
|
# import packages from this framework
|
7
|
-
from
|
7
|
+
from ..rdbms.users import encrypt_password
|
8
8
|
|
9
9
|
|
10
10
|
# define Class for Common SQLModel
|
jknife/views/users.py
CHANGED
@@ -4,8 +4,8 @@ from typing_extensions import Annotated, Doc
|
|
4
4
|
from pydantic import BaseModel, field_validator
|
5
5
|
|
6
6
|
# import packages from this framework
|
7
|
-
from
|
8
|
-
from
|
7
|
+
from jknife.views.personnel_info import EmailInputViewMixin
|
8
|
+
from jknife.dependencies.users import validate_password_policy
|
9
9
|
|
10
10
|
|
11
11
|
# define mixin class
|
@@ -1,7 +1,7 @@
|
|
1
1
|
jknife/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
jknife/logging.py,sha256=vwXXYqiRDRSeAUtDZq6QTTJ5p7ES4iLdnS68Cz0MFgo,2312
|
3
3
|
jknife/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
jknife/commands/jknife.py,sha256=
|
4
|
+
jknife/commands/jknife.py,sha256=BiVaxK5x0E8F3uWTl1cCjiHj7K7TGmXkyE0l9FZiJi4,12193
|
5
5
|
jknife/db/__init__.py,sha256=lZQ1ds_BYK4Xkjaypn1zDxuypjdEKca-6uxSJ3mr0V4,6236
|
6
6
|
jknife/db/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
jknife/db/models/mongo/__init__.py,sha256=bDj6rFEtNudrbtPbk4iORlWwXyMv6V_PCeixyGufxP4,1984
|
@@ -9,7 +9,7 @@ jknife/db/models/mongo/network.py,sha256=MfFq05k_42uw4mMfcd62K7MOhuk0E5OuqfxmHD_
|
|
9
9
|
jknife/db/models/mongo/personnel_info.py,sha256=wIalbvVI1bqCTOsShrSvy29I6OrdqaY6nYGhSxRFTf0,3273
|
10
10
|
jknife/db/models/mongo/settings.py,sha256=mFJQAAeoyWEY1J6y5_l1p4JevOYHyX27wL5A-gO35bg,2219
|
11
11
|
jknife/db/models/mongo/token.py,sha256=Xfw6LlAZ8Qu2iA9vYxyTk52aq4KoMLZ9P0KBRDiOBLI,2410
|
12
|
-
jknife/db/models/mongo/users.py,sha256=
|
12
|
+
jknife/db/models/mongo/users.py,sha256=6YmUTnR-Ru-J2XotnJHifQKfIgktAVV27MQZMIvssKE,2912
|
13
13
|
jknife/db/models/rdbms/__init__.py,sha256=0r22xz8J_kENMiPNVr_t3P5iILGXsll38wXXwnREABc,1847
|
14
14
|
jknife/db/models/rdbms/network.py,sha256=lk3p4UBbsnPRuwr5Q4CGXDL9bSAlZAEaUz-GVfEWc0U,1040
|
15
15
|
jknife/db/models/rdbms/personnel_info.py,sha256=OBwMvg8K_3XqKSSaeJzDir_pIIHNd3cxdL-2IsQFuFQ,2976
|
@@ -23,9 +23,9 @@ jknife/views/__init__.py,sha256=uXUiBzToN6gmb7zcHUyPbniNjCtzbyN31FrIVs7PpI0,596
|
|
23
23
|
jknife/views/error_message.py,sha256=g3xS8Z0R1BeP9XpmETgLirDdghM789iGXBfU-K8wwWM,887
|
24
24
|
jknife/views/personnel_info.py,sha256=JL_GqerZjhgs4AJQsQ2eeUZxCh17G8zXuWsDqaEI2tk,957
|
25
25
|
jknife/views/tokens.py,sha256=PJh_fGEwK3T6Kq0aY-CuJPWCTdcHFrCSd2NhJMZqYqU,647
|
26
|
-
jknife/views/users.py,sha256=
|
27
|
-
jknife-0.0.
|
28
|
-
jknife-0.0.
|
29
|
-
jknife-0.0.
|
30
|
-
jknife-0.0.
|
31
|
-
jknife-0.0.
|
26
|
+
jknife/views/users.py,sha256=mcljiLn9I0NL6jK_cxp8IdNXcyNwxYtfzkwW0NS64-E,2033
|
27
|
+
jknife-0.0.10.dist-info/METADATA,sha256=0fTSIE4iA9t5tj6iKCv17PocEp2jJaAM46AQQkj9w-c,529
|
28
|
+
jknife-0.0.10.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
|
29
|
+
jknife-0.0.10.dist-info/entry_points.txt,sha256=08tkSuEw5jKr7Jz0cFlcKr8b2fjsQIf4Mzmb0cB8XOM,55
|
30
|
+
jknife-0.0.10.dist-info/licenses/LICENSE,sha256=myY0xrsHJcytQadTeGVqmIo6QlskAAf5epHL-WRQe30,1067
|
31
|
+
jknife-0.0.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|