fastapi-basic 0.1.0__tar.gz → 0.1.2__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.

Potentially problematic release.


This version of fastapi-basic might be problematic. Click here for more details.

Files changed (22) hide show
  1. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/PKG-INFO +1 -1
  2. fastapi_basic-0.1.2/fastapi_basic/database/mongodb.py +29 -0
  3. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/exception/base_exception.py +10 -0
  4. fastapi_basic-0.1.2/fastapi_basic/ext/__init__.py +0 -0
  5. fastapi_basic-0.1.2/fastapi_basic/ext/line/__init__.py +29 -0
  6. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic.egg-info/PKG-INFO +1 -1
  7. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic.egg-info/SOURCES.txt +4 -1
  8. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/setup.py +1 -1
  9. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/README.md +0 -0
  10. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/__init__.py +0 -0
  11. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/base_config.py +0 -0
  12. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/base_factory.py +0 -0
  13. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/const.py +0 -0
  14. {fastapi_basic-0.1.0/fastapi_basic/exception → fastapi_basic-0.1.2/fastapi_basic/database}/__init__.py +0 -0
  15. {fastapi_basic-0.1.0/fastapi_basic/ext → fastapi_basic-0.1.2/fastapi_basic/exception}/__init__.py +0 -0
  16. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/ext/aws/__init__.py +0 -0
  17. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/ext/aws/const.py +0 -0
  18. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic/utils.py +0 -0
  19. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic.egg-info/dependency_links.txt +0 -0
  20. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic.egg-info/requires.txt +0 -0
  21. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/fastapi_basic.egg-info/top_level.txt +0 -0
  22. {fastapi_basic-0.1.0 → fastapi_basic-0.1.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi_basic
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: A short description of your module
5
5
  Home-page: https://github.com/szx21023/fastapi-base
6
6
  Author: szx21023
@@ -0,0 +1,29 @@
1
+ from beanie import init_beanie
2
+ from motor.motor_asyncio import AsyncIOMotorClient
3
+
4
+ class MongoDB:
5
+ def __init__(self, username: str, password: str, host: str, port: int, db_name: str, ssl: str=None, ssl_ca_certs: str=None):
6
+ self.username = username
7
+ self.password = password
8
+ self.host = host
9
+ self.port = port
10
+ self.db_name = db_name
11
+ self.ssl = ssl
12
+ self.ssl_ca_certs = ssl_ca_certs
13
+
14
+ async def connect(self, document_models: list):
15
+ db_settings = dict(
16
+ username=self.username,
17
+ password=self.password,
18
+ host=self.host,
19
+ port=self.port,
20
+ retryWrites=False
21
+ )
22
+ if self.ssl:
23
+ db_settings["ssl"] = self.ssl
24
+
25
+ if self.ssl_ca_certs and self.ssl_ca_certs != "":
26
+ db_settings["tlsCAFile"] = self.ssl_ca_certs
27
+
28
+ self.client = AsyncIOMotorClient(**db_settings)
29
+ await init_beanie(database=self.client[self.db_name], document_models=document_models)
@@ -11,3 +11,13 @@ class InternalBaseException(HTTPException):
11
11
  "data": kwargs,
12
12
  }
13
13
  super().__init__(status_code=status_code, detail=detail)
14
+
15
+ class LineBotException(HTTPException):
16
+ def __init__(self, status_code: int = status.HTTP_502_BAD_GATEWAY, code: str = "line_bot_error",
17
+ message: str = "Line bot error", **kwargs):
18
+ detail = {
19
+ "code": code,
20
+ "message": message,
21
+ "data": kwargs,
22
+ }
23
+ super().__init__(status_code=status_code, detail=detail)
File without changes
@@ -0,0 +1,29 @@
1
+ from linebot import LineBotApi, WebhookHandler
2
+ from linebot.exceptions import LineBotApiError
3
+ from linebot.models import TextMessage, TextSendMessage
4
+
5
+ from ...exception.base_exception import LineBotException
6
+
7
+ class LineBot:
8
+ def __init__(self, channel_access_token: str, channel_secret: str):
9
+ self.channel_access_token = channel_access_token
10
+ self.channel_secret = channel_secret
11
+ self.line_bot_api = LineBotApi(self.channel_access_token)
12
+ self.handler = WebhookHandler(self.channel_secret)
13
+
14
+ async def reply_message(self, event, message):
15
+ try:
16
+ self.line_bot_api.reply_message(event.reply_token, TextMessage(text=message))
17
+
18
+ except LineBotApiError as err:
19
+ exception = LineBotException(str(err))
20
+ raise exception
21
+
22
+ async def push_message(self, line_uid: str, text: str):
23
+ try:
24
+ self.line_bot_api.push_message(line_uid, TextSendMessage(text=text))
25
+
26
+ except LineBotApiError as err:
27
+ message = f"Send line message fail, line_uid: {line_uid}, text: {text}, err: {str(err)}"
28
+ exception = LineBotException(message)
29
+ raise exception
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi_basic
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: A short description of your module
5
5
  Home-page: https://github.com/szx21023/fastapi-base
6
6
  Author: szx21023
@@ -10,8 +10,11 @@ fastapi_basic.egg-info/SOURCES.txt
10
10
  fastapi_basic.egg-info/dependency_links.txt
11
11
  fastapi_basic.egg-info/requires.txt
12
12
  fastapi_basic.egg-info/top_level.txt
13
+ fastapi_basic/database/__init__.py
14
+ fastapi_basic/database/mongodb.py
13
15
  fastapi_basic/exception/__init__.py
14
16
  fastapi_basic/exception/base_exception.py
15
17
  fastapi_basic/ext/__init__.py
16
18
  fastapi_basic/ext/aws/__init__.py
17
- fastapi_basic/ext/aws/const.py
19
+ fastapi_basic/ext/aws/const.py
20
+ fastapi_basic/ext/line/__init__.py
@@ -5,7 +5,7 @@ with open('requirements.txt', 'r') as f:
5
5
 
6
6
  setup(
7
7
  name='fastapi_basic', # 模組名稱
8
- version='0.1.0', # 版號版號
8
+ version='0.1.2', # 版號版號
9
9
  description='A short description of your module', # 模塊描述
10
10
  long_description=open('README.md').read(), # 詳細描述,通常是 README 文件的内容
11
11
  long_description_content_type='text/markdown', # markdown 格式
File without changes
File without changes