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 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
- - run [OPTIONS] : run server with uvicorn
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="routers_bak")):
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"routers_bak.{router.split('.')[0]}")
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
- args = "".join([ option.replace("=", "") for option in options ])
346
- print(f"uvicorn main:app {args}")
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 == "run":
372
+ elif sub_command == "runserver":
364
373
  run_server(read_command[2:])
365
374
  return None
366
375
 
@@ -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 src.jknife.db.models.rdbms.users import encrypt_password
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 src.jknife.views.personnel_info import EmailInputViewMixin
8
- from src.jknife.dependencies.users import validate_password_policy
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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jknife
3
- Version: 0.0.7
3
+ Version: 0.0.10
4
4
  Summary: Custom FastAPI for luna-negra
5
5
  Author: luna-negra
6
6
  License-Expression: MIT
@@ -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=d0vu7kfR8uVNmq64duXZzCz2xFd82csV2lH3vEjRFDw,11766
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=xTlkK5BiF5oSaeFyF1aTh7JDpu2K6Jr0MI2ALt0BoSA,2931
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=ndbSTMlEeiwazfejHrGj37Jnw-e40Y6YoZwzyyyM4ns,2041
27
- jknife-0.0.7.dist-info/METADATA,sha256=jBNrcy7747722_JjkwO9mC_mNdL3SU9hlmPX4QYcwb4,528
28
- jknife-0.0.7.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
29
- jknife-0.0.7.dist-info/entry_points.txt,sha256=08tkSuEw5jKr7Jz0cFlcKr8b2fjsQIf4Mzmb0cB8XOM,55
30
- jknife-0.0.7.dist-info/licenses/LICENSE,sha256=myY0xrsHJcytQadTeGVqmIo6QlskAAf5epHL-WRQe30,1067
31
- jknife-0.0.7.dist-info/RECORD,,
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,,