From 159f89cccc30aa033827a071aa44e03135cc6f63 Mon Sep 17 00:00:00 2001 From: IgorVolochay Date: Fri, 31 Jan 2025 18:28:02 +0300 Subject: [PATCH] Add mypy Github action --- .github/workflows/lint.yml | 26 ++++++++++++++++++++++++++ app/mongo_worker.py | 35 ++++++++++++++++++----------------- 2 files changed, 44 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..ef45682 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,26 @@ +name: Lint + +on: + push: + paths: + - '*.py' + +jobs: + mypy: + runs-on: ubuntu-latest + steps: + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: 3.9 + architecture: x64 + - name: Checkout + uses: actions/checkout@v3 + - name: Install mypy + run: pip install mypy + - name: Run mypy + uses: sasanquaneuf/mypy-github-action@releases/v1 + with: + checkName: 'mypy' # NOTE: this needs to be the same as the job name + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/app/mongo_worker.py b/app/mongo_worker.py index 515310d..e165b4b 100644 --- a/app/mongo_worker.py +++ b/app/mongo_worker.py @@ -2,8 +2,10 @@ import pymongo from datetime import datetime +from bson import ObjectId -class MongoWorker(): + +class MongoWorker: def __init__(self): self.client = pymongo.MongoClient(host="127.0.0.1", port=27017) self.db = self.client["data"] @@ -14,31 +16,30 @@ class MongoWorker(): print(self.client.list_database_names()) print(self.db.list_collection_names()) - def find_user(self, user_id:int) -> None: + def find_user(self, user_id: int) -> dict: result = self.users_data.find_one({"user_id": user_id}) return result - def add_user(self, user_id:int, username:str, first_name:str, last_name:str, photo_path:str) -> bool: + def add_user(self, user_id: int, username: str, first_name: str, last_name: str, photo_path: str) -> ObjectId: try: - self.users_data.insert_one({"user_id": user_id, - "username": username, - "first_name": first_name, - "last_name": last_name, - "photo_path": photo_path, - "activity": 0, - "liked_post_ids": [], - "disliked_post_ids": [], - "comments_ids": [], - "registration_date": datetime.now().isoformat() - }) - return True + res = self.users_data.insert_one({"user_id": user_id, + "username": username, + "first_name": first_name, + "last_name": last_name, + "photo_path": photo_path, + "activity": 0, + "liked_post_ids": [], + "disliked_post_ids": [], + "comments_ids": [], + "registration_date": datetime.now().isoformat() + }) + return res.inserted_id except Exception as exception: print(exception) - return False if __name__ == "__main__": mongo = MongoWorker() mongo.get_mongodb_info() print(mongo.add_user(123, "VolochayIgor", "Igor", "Volochay", "path/to/img")) - print(mongo.find_user(123)) \ No newline at end of file + print(mongo.find_user(123))