jknife 0.0.10__py2.py3-none-any.whl → 0.0.11__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
@@ -21,9 +21,9 @@ Usage: jknife [sub_command] [3rd argument]
21
21
  --reload : reload uvicorn server automatically after editing source.
22
22
  """
23
23
 
24
- # Template for models/APP_NAME.py
25
- MODULE_IMPORT_STRING_MODELS: str = """
26
- # import packages from default or pip library
24
+ # Template for APP_NAME.py in each folder.
25
+ MODULE_IMPORT_STRING_DICT: dict = {
26
+ "models": """# import packages from default or pip library
27
27
  from typing_extensions import Annotated, Doc
28
28
 
29
29
  # import packages from this framework below
@@ -33,10 +33,8 @@ from typing_extensions import Annotated, Doc
33
33
 
34
34
 
35
35
  # define your own customising class below
36
- """
37
-
38
- # Template for routers/APP_NAME.py
39
- MODULE_IMPORT_STRING_ROUTERS: str = """# import packages from default or pip library
36
+ """,
37
+ "views": """# import packages from default or pip library
40
38
  from fastapi import APIRouter, Depends, status, HTTPException
41
39
  from typing_extensions import Annotated, Doc
42
40
 
@@ -48,10 +46,8 @@ router = APIRouter(prefix="/{}",
48
46
  tags=['{}'])
49
47
 
50
48
  # define your own customising class below
51
- """
52
-
53
- # Template for views/APP_NAME.py
54
- MODULE_IMPORT_STRING_VIEWS: str = """# import packages from default or pip library
49
+ """,
50
+ "routers": """# import packages from default or pip library
55
51
  from pydantic import BaseModel, field_validator, ValidationError
56
52
 
57
53
  # import packages from this framework below
@@ -62,13 +58,14 @@ from pydantic import BaseModel, field_validator, ValidationError
62
58
 
63
59
  # define your own customising class below
64
60
  """
61
+ }
65
62
 
66
63
  # WARN MSGs
67
64
  WARN_MSG_ALREADY_EXIST_PROJECT: str = """
68
- [WARNING] You already have project '{}'.
65
+ [WARNING] You already have project named '{}'.
69
66
  """
70
- WARN_MSG_IMPOSSIBLE_RUNSERVER_OUT_OF_PROJECT: str = """
71
- [WARNING] You have to execute 'runserver' command in your project folder.
67
+ WARN_MSG_ALREADY_EXIST_APP: str = """
68
+ [WARNING] You already have app named '{}'.
72
69
  """
73
70
 
74
71
  # ERROR MSGs
@@ -78,6 +75,9 @@ ERROR_MSG_START_PROJECT: str = """
78
75
 
79
76
  * Command for Starting Project: jknife startproject [PROJECT_NAME]
80
77
  """
78
+ ERROR_MSG_IMPOSSIBLE_RUNSERVER_OUT_OF_PROJECT: str = """
79
+ [ERROR] You have to execute 'runserver' command in your project folder.
80
+ """
81
81
 
82
82
  # File Contents
83
83
  CONTENTS_IN_SETTINGS: str = """# this file is charge of config for custom fastapi.
@@ -319,24 +319,25 @@ def startproject(pjt_name: str) -> None:
319
319
  def createapp(app_name: str) -> None:
320
320
  # check main folders for jknife
321
321
  for folder_name in FOLDER_LIST:
322
- try:
323
- if os.listdir(folder_name):
322
+ try:
323
+ if not os.listdir(folder_name):
324
324
  with open(f"{folder_name}/__init__.py", "w") as f:
325
325
  f.write("")
326
326
 
327
- except FileNotFoundError:
328
- print(ERROR_MSG_START_PROJECT)
329
- return None
327
+ if f"{app_name}.py" not in os.listdir(folder_name):
328
+ with open(f"{folder_name}/{app_name}.py", "w") as f:
329
+ f.write(MODULE_IMPORT_STRING_DICT.get(folder_name))
330
330
 
331
- # create app.py in 'models' folder
332
- with open(f"models/{app_name}.py", "w") as f:
333
- f.write(MODULE_IMPORT_STRING_MODELS)
331
+ else:
332
+ raise AttributeError
334
333
 
335
- with open(f"routers/{app_name}.py", "w") as f:
336
- f.write(MODULE_IMPORT_STRING_ROUTERS.format(app_name, app_name))
334
+ except FileNotFoundError:
335
+ print(ERROR_MSG_START_PROJECT)
336
+ return None
337
337
 
338
- with open(f"views/{app_name}.py", "w") as f:
339
- f.write(MODULE_IMPORT_STRING_VIEWS)
338
+ except AttributeError:
339
+ print(WARN_MSG_ALREADY_EXIST_APP.format(app_name))
340
+ return None
340
341
 
341
342
  return None
342
343
 
@@ -347,7 +348,7 @@ def help_msg():
347
348
  def run_server(options: list, app_name: str = "main"):
348
349
  for f in FOLDER_LIST:
349
350
  if f not in os.listdir():
350
- print(WARN_MSG_IMPOSSIBLE_RUNSERVER_OUT_OF_PROJECT)
351
+ print(ERROR_MSG_IMPOSSIBLE_RUNSERVER_OUT_OF_PROJECT)
351
352
  return None
352
353
 
353
354
  args = " ".join([ option.replace("=", " ") for option in options ])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jknife
3
- Version: 0.0.10
3
+ Version: 0.0.11
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=BiVaxK5x0E8F3uWTl1cCjiHj7K7TGmXkyE0l9FZiJi4,12193
4
+ jknife/commands/jknife.py,sha256=ol0QKc1nz98dnZc7HcFypbbctfTFUbX_v1yyevJ-meE,12235
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
@@ -24,8 +24,8 @@ jknife/views/error_message.py,sha256=g3xS8Z0R1BeP9XpmETgLirDdghM789iGXBfU-K8wwWM
24
24
  jknife/views/personnel_info.py,sha256=JL_GqerZjhgs4AJQsQ2eeUZxCh17G8zXuWsDqaEI2tk,957
25
25
  jknife/views/tokens.py,sha256=PJh_fGEwK3T6Kq0aY-CuJPWCTdcHFrCSd2NhJMZqYqU,647
26
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,,
27
+ jknife-0.0.11.dist-info/METADATA,sha256=GsWgkaoEPRqcmfxCUNAkkVeM7JdCW2yKKis7-pK36QA,529
28
+ jknife-0.0.11.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
29
+ jknife-0.0.11.dist-info/entry_points.txt,sha256=08tkSuEw5jKr7Jz0cFlcKr8b2fjsQIf4Mzmb0cB8XOM,55
30
+ jknife-0.0.11.dist-info/licenses/LICENSE,sha256=myY0xrsHJcytQadTeGVqmIo6QlskAAf5epHL-WRQe30,1067
31
+ jknife-0.0.11.dist-info/RECORD,,