From ff85e20e51d0cb1c6d047d9dc3a588d6ac9b82f5 Mon Sep 17 00:00:00 2001 From: wuttinanhi Date: Mon, 31 Oct 2022 16:21:13 +0000 Subject: [PATCH] change some function name to snake case --- auth/__init__.py | 4 +- auth/blueprint.py | 14 +- auth/function.py | 2 +- car/blueprint.py | 20 +- chat/blueprint.py | 4 +- lint.txt | 559 +++++++++++++++++++++++++++++++++++++++ pagination/pagination.py | 4 +- parking_lot/blueprint.py | 8 +- payment/blueprint.py | 12 +- reservation/blueprint.py | 17 +- settings/blueprint.py | 33 +-- user/blueprint.py | 12 +- util/validate_request.py | 4 +- 13 files changed, 627 insertions(+), 66 deletions(-) create mode 100644 lint.txt diff --git a/auth/__init__.py b/auth/__init__.py index 5d11ac4..6684d67 100644 --- a/auth/__init__.py +++ b/auth/__init__.py @@ -4,6 +4,6 @@ from auth.blueprint import blueprint as auth_blueprint from auth.decorator import login_required -from auth.function import GetUser +from auth.function import get_user -__all__ = [auth_blueprint, login_required, GetUser] +__all__ = [auth_blueprint, login_required, get_user] diff --git a/auth/blueprint.py b/auth/blueprint.py index 5b5bfd2..0221afc 100644 --- a/auth/blueprint.py +++ b/auth/blueprint.py @@ -9,11 +9,11 @@ from jwt_wrapper.service import JwtService from marshmallow import Schema, fields, validate from user.service import UserService -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from werkzeug.exceptions import Unauthorized from auth.decorator import admin_only, login_required -from auth.function import GetUser +from auth.function import get_user blueprint = Blueprint("auth", __name__, url_prefix="/auth") @@ -42,7 +42,7 @@ class AdminChangePasswordDto(ChangePasswordDto): @blueprint.route("/login", methods=["POST"]) def login(): - data = ValidateRequest(LoginDto, request) + data = validate_request(LoginDto, request) check = UserService.login(data.email, data.password) if check: @@ -59,7 +59,7 @@ def login(): @blueprint.route("/register", methods=["POST"]) def register(): - data = ValidateRequest(RegisterDto, request) + data = validate_request(RegisterDto, request) UserService.register( data.email, data.password, @@ -75,8 +75,8 @@ def register(): @blueprint.route("/changepassword", methods=["PATCH"]) @login_required def change_password(): - user = GetUser() - data = ValidateRequest(ChangePasswordDto, request) + user = get_user() + data = validate_request(ChangePasswordDto, request) check_password = UserService.compare_password(user, data.password) if check_password is False: @@ -90,7 +90,7 @@ def change_password(): @blueprint.route("/admin/changepassword", methods=["PATCH"]) @admin_only def admin_change_password(): - data = ValidateRequest(AdminChangePasswordDto, request) + data = validate_request(AdminChangePasswordDto, request) user = UserService.find_by_id(data.user_id) UserService.change_password(user, data.new_password) return {"message": "Successfully change password."}, 200 diff --git a/auth/function.py b/auth/function.py index b0ffcb9..e338d82 100644 --- a/auth/function.py +++ b/auth/function.py @@ -6,5 +6,5 @@ from user.model import User -def GetUser() -> User: +def get_user() -> User: return request.user diff --git a/car/blueprint.py b/car/blueprint.py index 51d0ce7..dba38e1 100644 --- a/car/blueprint.py +++ b/car/blueprint.py @@ -6,12 +6,12 @@ from http.client import CREATED, FORBIDDEN, NOT_FOUND, OK from auth.decorator import admin_only, login_required -from auth.function import GetUser +from auth.function import get_user from flask import Blueprint, request from marshmallow import Schema, fields, validate from pagination.pagination import create_pagination_options_from_request from user.service import UserService -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from werkzeug.exceptions import Forbidden from car.service import CarService @@ -43,8 +43,8 @@ class CarSearchDto(Schema): @blueprint.route("/add", methods=["POST"]) @login_required def add_car(): - user = GetUser() - data = ValidateRequest(CarAddDto, request) + user = get_user() + data = validate_request(CarAddDto, request) CarService.add(user, data.car_license_plate, data.car_type) return {"message": "Car add."}, CREATED @@ -52,8 +52,8 @@ def add_car(): @blueprint.route("/remove", methods=["DELETE"]) @login_required def remove_car(): - user = GetUser() - data = ValidateRequest(CarDeleteDto, request) + user = get_user() + data = validate_request(CarDeleteDto, request) car = CarService.find_by_id(data.car_id) if car: car_owner_check = CarService.is_user_own_car(user, car) @@ -68,7 +68,7 @@ def remove_car(): @login_required def my_car(): response = [] - user = GetUser() + user = get_user() all_user_cars = CarService.find_all_car_by_user(user) for car in all_user_cars: response.append(car.json()) @@ -78,8 +78,8 @@ def my_car(): @blueprint.route("/update", methods=["PATCH"]) @login_required def update_car(): - user = GetUser() - data = ValidateRequest(CarUpdateDto, request) + user = get_user() + data = validate_request(CarUpdateDto, request) car = CarService.find_by_id(data.car_id) if car.car_owner_id != user.id: @@ -95,7 +95,7 @@ def update_car(): @blueprint.route("/search", methods=["GET"]) @login_required def search_car_by_license_plate(): - data = ValidateRequest(CarSearchDto, request) + data = validate_request(CarSearchDto, request) car = CarService.find_by_license_plate(data.car_license_plate) response = car.json() response["car_owner"] = UserService.find_by_id(car.car_owner_id).json_shareable() diff --git a/chat/blueprint.py b/chat/blueprint.py index d17e377..4561609 100644 --- a/chat/blueprint.py +++ b/chat/blueprint.py @@ -4,7 +4,7 @@ from auth.decorator import login_required -from auth.function import GetUser +from auth.function import get_user from flask import Blueprint, request from pagination.pagination import create_pagination_options_from_request @@ -17,7 +17,7 @@ @login_required def list_chat(): response = [] - user = GetUser() + user = get_user() pagination_options = create_pagination_options_from_request(request) result = ChatService.list_chat_head(user, pagination_options) for chat_head in result: diff --git a/lint.txt b/lint.txt new file mode 100644 index 0000000..402d4e7 --- /dev/null +++ b/lint.txt @@ -0,0 +1,559 @@ +************* Module /workspace/car-parking-reservation-api/.pylintrc +.pylintrc:1:0: F0011: error while parsing the configuration: File contains no section headers. +file: '/workspace/car-parking-reservation-api/.pylintrc', line: 1 +'ignored-classes=SQLObject,Registrant,scoped_session\n' (config-parse-error) +************* Module admin.service +admin/service.py:8:0: C0115: Missing class docstring (missing-class-docstring) +admin/service.py:10:4: C0116: Missing function or method docstring (missing-function-docstring) +admin/service.py:8:0: R0903: Too few public methods (1/2) (too-few-public-methods) +************* Module auth.blueprint +auth/blueprint.py:21:0: C0115: Missing class docstring (missing-class-docstring) +auth/blueprint.py:26:0: C0115: Missing class docstring (missing-class-docstring) +auth/blueprint.py:34:0: C0115: Missing class docstring (missing-class-docstring) +auth/blueprint.py:39:0: C0115: Missing class docstring (missing-class-docstring) +auth/blueprint.py:44:0: C0116: Missing function or method docstring (missing-function-docstring) +auth/blueprint.py:61:0: C0116: Missing function or method docstring (missing-function-docstring) +auth/blueprint.py:77:0: C0116: Missing function or method docstring (missing-function-docstring) +auth/blueprint.py:92:0: C0116: Missing function or method docstring (missing-function-docstring) +auth/blueprint.py:10:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from jwt_wrapper.service import JwtService" (wrong-import-order) +auth/blueprint.py:13:0: C0411: third party import "from werkzeug.exceptions import Unauthorized" should be placed before "from jwt_wrapper.service import JwtService" (wrong-import-order) +************* Module auth.decorator +auth/decorator.py:14:0: C0116: Missing function or method docstring (missing-function-docstring) +auth/decorator.py:14:19: C0103: Argument name "f" doesn't conform to snake_case naming style (invalid-name) +auth/decorator.py:19:15: C0121: Comparison 'auth_header == None' should be 'auth_header is None' (singleton-comparison) +auth/decorator.py:23:15: C0121: Comparison 'jwt_token == None' should be 'jwt_token is None' (singleton-comparison) +auth/decorator.py:30:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +auth/decorator.py:31:12: W0707: Consider explicitly re-raising using 'raise Unauthorized('Unauthorized!') from e' (raise-missing-from) +auth/decorator.py:30:8: W0612: Unused variable 'e' (unused-variable) +auth/decorator.py:36:0: C0116: Missing function or method docstring (missing-function-docstring) +auth/decorator.py:36:15: C0103: Argument name "f" doesn't conform to snake_case naming style (invalid-name) +auth/decorator.py:40:11: C0121: Comparison 'auth_header == None' should be 'auth_header is None' (singleton-comparison) +auth/decorator.py:8:0: C0411: third party import "from flask import request" should be placed before "from admin.service import AdminService" (wrong-import-order) +auth/decorator.py:9:0: C0411: third party import "from werkzeug.exceptions import Unauthorized" should be placed before "from admin.service import AdminService" (wrong-import-order) +************* Module auth.function +auth/function.py:9:0: C0116: Missing function or method docstring (missing-function-docstring) +************* Module auth +auth/__init__.py:9:11: E0604: Invalid object 'auth_blueprint' in __all__, must contain only strings (invalid-all-object) +auth/__init__.py:9:27: E0604: Invalid object 'login_required' in __all__, must contain only strings (invalid-all-object) +auth/__init__.py:9:43: E0604: Invalid object 'get_user' in __all__, must contain only strings (invalid-all-object) +************* Module auth.service +auth/service.py:10:0: C0115: Missing class docstring (missing-class-docstring) +auth/service.py:12:4: C0116: Missing function or method docstring (missing-function-docstring) +auth/service.py:10:0: R0903: Too few public methods (1/2) (too-few-public-methods) +auth/service.py:7:0: C0411: third party import "from werkzeug.exceptions import Unauthorized" should be placed before "from jwt_wrapper.service import JwtService" (wrong-import-order) +************* Module bcrypt_wrapper +bcrypt_wrapper/__init__.py:7:11: E0604: Invalid object 'BcryptService' in __all__, must contain only strings (invalid-all-object) +************* Module bcrypt_wrapper.service +bcrypt_wrapper/service.py:11:0: C0115: Missing class docstring (missing-class-docstring) +bcrypt_wrapper/service.py:16:4: C0116: Missing function or method docstring (missing-function-docstring) +bcrypt_wrapper/service.py:20:4: C0116: Missing function or method docstring (missing-function-docstring) +bcrypt_wrapper/service.py:20:29: W0622: Redefining built-in 'hash' (redefined-builtin) +************* Module car.blueprint +car/blueprint.py:12:0: E0401: Unable to import 'pagination.pagination' (import-error) +car/blueprint.py:12:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +car/blueprint.py:22:0: C0115: Missing class docstring (missing-class-docstring) +car/blueprint.py:29:0: C0115: Missing class docstring (missing-class-docstring) +car/blueprint.py:33:0: C0115: Missing class docstring (missing-class-docstring) +car/blueprint.py:37:0: C0115: Missing class docstring (missing-class-docstring) +car/blueprint.py:45:0: C0116: Missing function or method docstring (missing-function-docstring) +car/blueprint.py:54:0: C0116: Missing function or method docstring (missing-function-docstring) +car/blueprint.py:60:11: C0121: Comparison 'car_owner_check == True' should be 'car_owner_check is True' if checking for the singleton value True, or 'car_owner_check' if testing for truthiness (singleton-comparison) +car/blueprint.py:69:0: C0116: Missing function or method docstring (missing-function-docstring) +car/blueprint.py:80:0: C0116: Missing function or method docstring (missing-function-docstring) +car/blueprint.py:97:0: C0116: Missing function or method docstring (missing-function-docstring) +car/blueprint.py:107:0: C0116: Missing function or method docstring (missing-function-docstring) +car/blueprint.py:10:0: C0411: third party import "from flask import Blueprint, request" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +car/blueprint.py:11:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +car/blueprint.py:15:0: C0411: third party import "from werkzeug.exceptions import Forbidden" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +************* Module car +car/__init__.py:9:11: E0604: Invalid object 'Car' in __all__, must contain only strings (invalid-all-object) +car/__init__.py:9:16: E0604: Invalid object 'car_blueprint' in __all__, must contain only strings (invalid-all-object) +car/__init__.py:9:31: E0604: Invalid object 'CarService' in __all__, must contain only strings (invalid-all-object) +************* Module car.model +car/model.py:1:0: C0114: Missing module docstring (missing-module-docstring) +car/model.py:5:0: C0115: Missing class docstring (missing-class-docstring) +car/model.py:21:4: C0116: Missing function or method docstring (missing-function-docstring) +car/model.py:2:0: C0411: third party import "from sqlalchemy import Column, ForeignKey, Integer, String" should be placed before "from database import Base" (wrong-import-order) +************* Module car.service +car/service.py:67:22: C0303: Trailing whitespace (trailing-whitespace) +car/service.py:1:0: C0114: Missing module docstring (missing-module-docstring) +car/service.py:4:0: E0401: Unable to import 'pagination.pagination' (import-error) +car/service.py:4:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +car/service.py:13:0: C0115: Missing class docstring (missing-class-docstring) +car/service.py:18:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:13:0: R0903: Too few public methods (1/2) (too-few-public-methods) +car/service.py:22:0: C0115: Missing class docstring (missing-class-docstring) +car/service.py:24:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:27:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +car/service.py:28:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +car/service.py:31:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +car/service.py:32:12: W0707: Consider explicitly re-raising using 'except IntegrityError as exc' and 'raise Conflict('Car already registerd!') from exc' (raise-missing-from) +car/service.py:35:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:36:8: E1101: Instance of 'scoped_session' has no 'delete' member (no-member) +car/service.py:37:8: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +car/service.py:40:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:42:11: C0121: Comparison 'car == None' should be 'car is None' (singleton-comparison) +car/service.py:47:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:51:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:51:19: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) +car/service.py:51:19: W0622: Redefining built-in 'id' (redefined-builtin) +car/service.py:53:11: C0121: Comparison 'car == None' should be 'car is None' (singleton-comparison) +car/service.py:58:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:62:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:63:17: E1101: Instance of 'scoped_session' has no 'execute' member (no-member) +car/service.py:85:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:93:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +car/service.py:94:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +car/service.py:96:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +car/service.py:97:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to update user!') from e' (raise-missing-from) +car/service.py:100:4: C0116: Missing function or method docstring (missing-function-docstring) +car/service.py:102:12: E1101: Instance of 'scoped_session' has no 'query' member (no-member) +car/service.py:5:0: C0411: third party import "from sqlalchemy import or_" should be placed before "from database.database import db_session" (wrong-import-order) +car/service.py:6:0: C0411: third party import "from sqlalchemy.exc import IntegrityError" should be placed before "from database.database import db_session" (wrong-import-order) +car/service.py:8:0: C0411: third party import "from werkzeug.exceptions import Conflict, InternalServerError, NotFound" should be placed before "from database.database import db_session" (wrong-import-order) +************* Module blueprint +chat/blueprint.py:9:0: E0401: Unable to import 'pagination.pagination' (import-error) +chat/blueprint.py:9:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +chat/blueprint.py:11:0: E0401: Unable to import 'chat.service' (import-error) +chat/blueprint.py:11:0: E0611: No name 'service' in module 'chat' (no-name-in-module) +chat/blueprint.py:18:0: C0116: Missing function or method docstring (missing-function-docstring) +chat/blueprint.py:8:0: C0411: third party import "from flask import Blueprint, request" should be placed before "from auth.decorator import login_required" (wrong-import-order) +************* Module handler +chat/handler.py:11:0: E0401: Unable to import 'chat.service' (import-error) +chat/handler.py:11:0: E0611: No name 'service' in module 'chat' (no-name-in-module) +chat/handler.py:14:0: C0115: Missing class docstring (missing-class-docstring) +chat/handler.py:19:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:27:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:34:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:41:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:48:4: W0221: Number of parameters was 7 in 'Namespace.emit' and is now 3 in overridden 'ChatMapper.emit' method (arguments-differ) +chat/handler.py:53:0: C0115: Missing class docstring (missing-class-docstring) +chat/handler.py:55:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:60:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +chat/handler.py:61:12: W0707: Consider explicitly re-raising using 'raise Unauthorized('Invalid Jwt') from e' (raise-missing-from) +chat/handler.py:60:8: W0612: Unused variable 'e' (unused-variable) +chat/handler.py:63:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:66:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:72:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:78:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:93:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/handler.py:125:8: W0702: No exception type(s) specified (bare-except) +chat/handler.py:5:0: C0411: third party import "from flask import request" should be placed before "from auth.service import AuthService" (wrong-import-order) +chat/handler.py:6:0: C0411: third party import "from flask_socketio import Namespace, emit" should be placed before "from auth.service import AuthService" (wrong-import-order) +chat/handler.py:9:0: C0411: third party import "from werkzeug.exceptions import NotFound, Unauthorized" should be placed before "from auth.service import AuthService" (wrong-import-order) +************* Module model +chat/model.py:34:0: C0301: Line too long (151/100) (line-too-long) +chat/model.py:60:0: C0301: Line too long (137/100) (line-too-long) +chat/model.py:12:0: C0115: Missing class docstring (missing-class-docstring) +chat/model.py:36:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/model.py:46:0: C0115: Missing class docstring (missing-class-docstring) +chat/model.py:62:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/model.py:70:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/model.py:8:0: C0411: third party import "from sqlalchemy import Column, DateTime, ForeignKey, Integer, String" should be placed before "from database import Base" (wrong-import-order) +************* Module service +chat/service.py:10:0: E0401: Unable to import 'pagination.pagination' (import-error) +chat/service.py:10:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +chat/service.py:17:0: E0401: Unable to import 'chat.model' (import-error) +chat/service.py:17:0: E0611: No name 'model' in module 'chat' (no-name-in-module) +chat/service.py:20:0: C0115: Missing class docstring (missing-class-docstring) +chat/service.py:20:0: R0903: Too few public methods (0/2) (too-few-public-methods) +chat/service.py:25:0: C0115: Missing class docstring (missing-class-docstring) +chat/service.py:27:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/service.py:33:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +chat/service.py:34:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +chat/service.py:36:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +chat/service.py:38:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +chat/service.py:39:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to send chat!') from e' (raise-missing-from) +chat/service.py:41:11: C0121: Comparison 'success == True' should be 'success is True' if checking for the singleton value True, or 'bool(success)' if testing for truthiness (singleton-comparison) +chat/service.py:41:31: C0121: Comparison 'update_target_chat_head == True' should be 'update_target_chat_head is True' if checking for the singleton value True, or 'bool(update_target_chat_head)' if testing for truthiness (singleton-comparison) +chat/service.py:45:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/service.py:50:27: E1101: Instance of 'scoped_session' has no 'query' member (no-member) +chat/service.py:73:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +chat/service.py:75:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to retrieve chat history!') from e' (raise-missing-from) +chat/service.py:78:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/service.py:87:15: C0121: Comparison 'exists_chat_head != None' should be 'exists_chat_head is not None' (singleton-comparison) +chat/service.py:88:16: E1101: Instance of 'scoped_session' has no 'query' member (no-member) +chat/service.py:93:16: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +chat/service.py:95:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +chat/service.py:96:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +chat/service.py:98:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +chat/service.py:99:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to update chat head!') from e' (raise-missing-from) +chat/service.py:102:4: C0116: Missing function or method docstring (missing-function-docstring) +chat/service.py:9:0: C0411: third party import "from marshmallow import fields, validate" should be placed before "from database.database import db_session" (wrong-import-order) +chat/service.py:11:0: C0411: third party import "from sqlalchemy.orm.query import Query" should be placed before "from database.database import db_session" (wrong-import-order) +chat/service.py:12:0: C0411: third party import "from sqlalchemy.sql import and_, or_" should be placed before "from database.database import db_session" (wrong-import-order) +chat/service.py:15:0: C0411: third party import "from werkzeug.exceptions import InternalServerError" should be placed before "from database.database import db_session" (wrong-import-order) +************* Module database.database +database/database.py:11:0: W0404: Reimport 'scoped_session' (imported line 9) (reimported) +database/database.py:17:0: C0116: Missing function or method docstring (missing-function-docstring) +database/database.py:24:0: C0116: Missing function or method docstring (missing-function-docstring) +database/database.py:31:0: R0903: Too few public methods (0/2) (too-few-public-methods) +database/database.py:43:0: C0116: Missing function or method docstring (missing-function-docstring) +database/database.py:47:4: C0415: Import outside toplevel (car.model) (import-outside-toplevel) +database/database.py:48:4: C0415: Import outside toplevel (chat.model) (import-outside-toplevel) +database/database.py:48:4: E0401: Unable to import 'chat.model' (import-error) +database/database.py:48:4: E0611: No name 'model' in module 'chat' (no-name-in-module) +database/database.py:49:4: C0415: Import outside toplevel (parking_lot.model) (import-outside-toplevel) +database/database.py:50:4: C0415: Import outside toplevel (payment.model) (import-outside-toplevel) +database/database.py:51:4: C0415: Import outside toplevel (reservation.model) (import-outside-toplevel) +database/database.py:52:4: C0415: Import outside toplevel (settings.model) (import-outside-toplevel) +database/database.py:53:4: C0415: Import outside toplevel (user.model) (import-outside-toplevel) +database/database.py:47:4: W0611: Unused import car.model (unused-import) +database/database.py:48:4: W0611: Unused import chat.model (unused-import) +database/database.py:49:4: W0611: Unused import parking_lot.model (unused-import) +database/database.py:50:4: W0611: Unused import payment.model (unused-import) +database/database.py:51:4: W0611: Unused import reservation.model (unused-import) +database/database.py:52:4: W0611: Unused import settings.model (unused-import) +database/database.py:53:4: W0611: Unused import user.model (unused-import) +database/database.py:7:0: C0411: third party import "from sqlalchemy import create_engine" should be placed before "from env_wrapper import load_env" (wrong-import-order) +database/database.py:8:0: C0411: third party import "from sqlalchemy.ext.declarative import declarative_base" should be placed before "from env_wrapper import load_env" (wrong-import-order) +database/database.py:9:0: C0411: third party import "from sqlalchemy.orm import scoped_session, sessionmaker" should be placed before "from env_wrapper import load_env" (wrong-import-order) +database/database.py:10:0: C0411: third party import "from sqlalchemy.orm.query import Query" should be placed before "from env_wrapper import load_env" (wrong-import-order) +database/database.py:11:0: C0411: third party import "from sqlalchemy.orm.scoping import scoped_session" should be placed before "from env_wrapper import load_env" (wrong-import-order) +database/database.py:12:0: C0411: third party import "from sqlalchemy.orm.session import Session" should be placed before "from env_wrapper import load_env" (wrong-import-order) +************* Module env_wrapper +env_wrapper/__init__.py:6:0: C0116: Missing function or method docstring (missing-function-docstring) +env_wrapper/__init__.py:7:4: C0415: Import outside toplevel (os) (import-outside-toplevel) +env_wrapper/__init__.py:9:4: C0415: Import outside toplevel (dotenv.load_dotenv) (import-outside-toplevel) +************* Module example.chat +example/chat.py:4:0: C0303: Trailing whitespace (trailing-whitespace) +example/chat.py:5:8: C0303: Trailing whitespace (trailing-whitespace) +example/chat.py:11:0: E0401: Unable to import 'pagination.pagination' (import-error) +example/chat.py:11:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +example/chat.py:14:0: E0401: Unable to import 'chat.service' (import-error) +example/chat.py:14:0: E0611: No name 'service' in module 'chat' (no-name-in-module) +************* Module jwt_wrapper +jwt_wrapper/__init__.py:7:11: E0604: Invalid object 'JwtService' in __all__, must contain only strings (invalid-all-object) +************* Module jwt_wrapper.service +jwt_wrapper/service.py:12:0: C0115: Missing class docstring (missing-class-docstring) +jwt_wrapper/service.py:15:4: C0116: Missing function or method docstring (missing-function-docstring) +jwt_wrapper/service.py:15:4: E0213: Method should have "self" as first argument (no-self-argument) +jwt_wrapper/service.py:16:8: E1137: 'value' does not support item assignment (unsupported-assignment-operation) +jwt_wrapper/service.py:17:8: E1137: 'value' does not support item assignment (unsupported-assignment-operation) +jwt_wrapper/service.py:17:23: E1136: Value 'value' is unsubscriptable (unsubscriptable-object) +jwt_wrapper/service.py:20:4: C0116: Missing function or method docstring (missing-function-docstring) +jwt_wrapper/service.py:20:4: E0213: Method should have "self" as first argument (no-self-argument) +jwt_wrapper/service.py:24:8: W0702: No exception type(s) specified (bare-except) +jwt_wrapper/service.py:27:4: C0116: Missing function or method docstring (missing-function-docstring) +jwt_wrapper/service.py:27:4: E0213: Method should have "self" as first argument (no-self-argument) +************* Module mock.mock +mock/mock.py:25:0: C0301: Line too long (127/100) (line-too-long) +mock/mock.py:6:0: E0401: Unable to import 'chat.service' (import-error) +mock/mock.py:6:0: E0611: No name 'service' in module 'chat' (no-name-in-module) +mock/mock.py:17:0: C0115: Missing class docstring (missing-class-docstring) +mock/mock.py:20:4: C0116: Missing function or method docstring (missing-function-docstring) +mock/mock.py:28:15: W0703: Catching too general exception Exception (broad-except) +mock/mock.py:28:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +mock/mock.py:33:4: C0116: Missing function or method docstring (missing-function-docstring) +mock/mock.py:37:4: C0116: Missing function or method docstring (missing-function-docstring) +mock/mock.py:6:0: W0611: Unused ChatService imported from chat.service as _ (unused-import) +************* Module mock.seed_car +mock/seed_car.py:6:0: C0116: Missing function or method docstring (missing-function-docstring) +mock/seed_car.py:7:4: C0415: Import outside toplevel (car.service.CarService) (import-outside-toplevel) +mock/seed_car.py:8:4: C0415: Import outside toplevel (user.service.UserService) (import-outside-toplevel) +************* Module mock.seed_chat +mock/seed_chat.py:6:0: C0116: Missing function or method docstring (missing-function-docstring) +mock/seed_chat.py:9:4: E0401: Unable to import 'chat.service' (import-error) +mock/seed_chat.py:9:4: C0415: Import outside toplevel (chat.service.ChatService) (import-outside-toplevel) +mock/seed_chat.py:9:4: E0611: No name 'service' in module 'chat' (no-name-in-module) +mock/seed_chat.py:10:4: C0415: Import outside toplevel (user.service.UserService) (import-outside-toplevel) +************* Module mock.seed_parking_lot +mock/seed_parking_lot.py:6:0: C0116: Missing function or method docstring (missing-function-docstring) +mock/seed_parking_lot.py:7:4: C0415: Import outside toplevel (parking_lot.service.ParkingLotService) (import-outside-toplevel) +************* Module mock.seed_reservation +mock/seed_reservation.py:6:0: C0116: Missing function or method docstring (missing-function-docstring) +mock/seed_reservation.py:9:4: C0415: Import outside toplevel (datetime.datetime, datetime.timedelta) (import-outside-toplevel) +mock/seed_reservation.py:11:4: C0415: Import outside toplevel (car.service.CarService) (import-outside-toplevel) +mock/seed_reservation.py:12:4: C0415: Import outside toplevel (parking_lot.service.ParkingLotService) (import-outside-toplevel) +mock/seed_reservation.py:13:4: C0415: Import outside toplevel (payment.service.PaymentService) (import-outside-toplevel) +mock/seed_reservation.py:14:4: C0415: Import outside toplevel (reservation.service.ReservationService) (import-outside-toplevel) +mock/seed_reservation.py:15:4: C0415: Import outside toplevel (user.service.UserService) (import-outside-toplevel) +************* Module mock.seed_user +mock/seed_user.py:50:0: C0305: Trailing newlines (trailing-newlines) +mock/seed_user.py:6:0: C0116: Missing function or method docstring (missing-function-docstring) +mock/seed_user.py:7:4: C0415: Import outside toplevel (user.service.UserService) (import-outside-toplevel) +************* Module pagination +pagination/pagination.py:16:0: C0115: Missing class docstring (missing-class-docstring) +pagination/pagination.py:24:0: C0115: Missing class docstring (missing-class-docstring) +pagination/pagination.py:34:0: C0116: Missing function or method docstring (missing-function-docstring) +pagination/pagination.py:43:0: C0116: Missing function or method docstring (missing-function-docstring) +pagination/pagination.py:64:0: C0116: Missing function or method docstring (missing-function-docstring) +pagination/pagination.py:75:0: C0115: Missing class docstring (missing-class-docstring) +pagination/pagination.py:75:0: R0902: Too many instance attributes (8/7) (too-many-instance-attributes) +pagination/pagination.py:80:4: C0116: Missing function or method docstring (missing-function-docstring) +pagination/pagination.py:87:12: R1714: Consider merging these comparisons with 'in' by using 'opt.sort in (PaginationSortOptions.ASC, PaginationSortOptions.DESC)'. Use a set instead if elements are hashable. (consider-using-in) +pagination/pagination.py:94:4: C0116: Missing function or method docstring (missing-function-docstring) +pagination/pagination.py:81:8: W0201: Attribute '_page' defined outside __init__ (attribute-defined-outside-init) +pagination/pagination.py:82:8: W0201: Attribute '_limit' defined outside __init__ (attribute-defined-outside-init) +pagination/pagination.py:83:8: W0201: Attribute '_offset' defined outside __init__ (attribute-defined-outside-init) +pagination/pagination.py:84:8: W0201: Attribute '_order_by' defined outside __init__ (attribute-defined-outside-init) +pagination/pagination.py:85:8: W0201: Attribute '_search' defined outside __init__ (attribute-defined-outside-init) +pagination/pagination.py:90:12: W0201: Attribute '_sort' defined outside __init__ (attribute-defined-outside-init) +pagination/pagination.py:105:0: C0115: Missing class docstring (missing-class-docstring) +pagination/pagination.py:106:4: W0231: __init__ method from base class 'Pagination' is not called (super-init-not-called) +pagination/pagination.py:122:8: W0622: Redefining built-in 'exec' (redefined-builtin) +pagination/pagination.py:122:15: E1101: Instance of 'scoped_session' has no 'execute' member (no-member) +pagination/pagination.py:8:0: C0411: third party import "from flask import Request" should be placed before "from database.database import db_session" (wrong-import-order) +pagination/pagination.py:9:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from database.database import db_session" (wrong-import-order) +pagination/pagination.py:10:0: C0411: third party import "from sqlalchemy import column, desc, text" should be placed before "from database.database import db_session" (wrong-import-order) +pagination/pagination.py:11:0: C0411: third party import "from sqlalchemy.orm.query import Query" should be placed before "from database.database import db_session" (wrong-import-order) +pagination/pagination.py:13:0: C0411: third party import "from werkzeug.exceptions import BadRequest" should be placed before "from database.database import db_session" (wrong-import-order) +************* Module parking_lot.blueprint +parking_lot/blueprint.py:18:0: C0115: Missing class docstring (missing-class-docstring) +parking_lot/blueprint.py:23:0: C0115: Missing class docstring (missing-class-docstring) +parking_lot/blueprint.py:27:0: C0115: Missing class docstring (missing-class-docstring) +parking_lot/blueprint.py:33:0: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/blueprint.py:41:0: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/blueprint.py:46:7: C0121: Comparison 'parking_lot == None' should be 'parking_lot is None' (singleton-comparison) +parking_lot/blueprint.py:51:7: C0121: Comparison 'is_available == False' should be 'is_available is False' if checking for the singleton value False, or 'not is_available' if testing for falsiness (singleton-comparison) +parking_lot/blueprint.py:60:0: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/blueprint.py:73:0: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/blueprint.py:83:0: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/blueprint.py:9:0: C0411: third party import "from flask import Blueprint, request" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +parking_lot/blueprint.py:10:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +************* Module parking_lot +parking_lot/__init__.py:10:11: E0604: Invalid object 'ParkingLot' in __all__, must contain only strings (invalid-all-object) +parking_lot/__init__.py:10:23: E0604: Invalid object 'parking_lot_blueprint' in __all__, must contain only strings (invalid-all-object) +parking_lot/__init__.py:10:46: E0604: Invalid object 'ParkingLotService' in __all__, must contain only strings (invalid-all-object) +************* Module parking_lot.model +parking_lot/model.py:1:0: C0114: Missing module docstring (missing-module-docstring) +parking_lot/model.py:5:0: C0115: Missing class docstring (missing-class-docstring) +parking_lot/model.py:19:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/model.py:2:0: C0411: third party import "from sqlalchemy import Boolean, Column, Integer, String" should be placed before "from database import Base" (wrong-import-order) +************* Module parking_lot.service +parking_lot/service.py:75:22: C0303: Trailing whitespace (trailing-whitespace) +parking_lot/service.py:77:20: C0303: Trailing whitespace (trailing-whitespace) +parking_lot/service.py:87:28: C0303: Trailing whitespace (trailing-whitespace) +parking_lot/service.py:89:27: C0303: Trailing whitespace (trailing-whitespace) +parking_lot/service.py:1:0: C0114: Missing module docstring (missing-module-docstring) +parking_lot/service.py:9:0: C0115: Missing class docstring (missing-class-docstring) +parking_lot/service.py:17:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:9:0: R0903: Too few public methods (1/2) (too-few-public-methods) +parking_lot/service.py:26:0: C0115: Missing class docstring (missing-class-docstring) +parking_lot/service.py:28:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:31:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +parking_lot/service.py:32:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +parking_lot/service.py:35:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +parking_lot/service.py:37:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Something error when adding parking lot') from err' (raise-missing-from) +parking_lot/service.py:40:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:48:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +parking_lot/service.py:49:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +parking_lot/service.py:51:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +parking_lot/service.py:52:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to update parking lot!') from e' (raise-missing-from) +parking_lot/service.py:55:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:56:8: E1101: Instance of 'scoped_session' has no 'delete' member (no-member) +parking_lot/service.py:57:8: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +parking_lot/service.py:60:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:60:19: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) +parking_lot/service.py:60:19: W0622: Redefining built-in 'id' (redefined-builtin) +parking_lot/service.py:64:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:68:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:69:39: C0121: Comparison 'ParkingLot.open_status == True' should be 'ParkingLot.open_status is True' if checking for the singleton value True, or 'bool(ParkingLot.open_status)' if testing for truthiness (singleton-comparison) +parking_lot/service.py:72:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:73:17: E1101: Instance of 'scoped_session' has no 'execute' member (no-member) +parking_lot/service.py:101:4: C0116: Missing function or method docstring (missing-function-docstring) +parking_lot/service.py:4:0: C0411: third party import "from werkzeug.exceptions import InternalServerError" should be placed before "from database.database import db_session" (wrong-import-order) +************* Module payment.blueprint +payment/blueprint.py:13:0: E0401: Unable to import 'pagination.pagination' (import-error) +payment/blueprint.py:13:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +payment/blueprint.py:22:0: C0115: Missing class docstring (missing-class-docstring) +payment/blueprint.py:26:0: C0115: Missing class docstring (missing-class-docstring) +payment/blueprint.py:35:0: C0116: Missing function or method docstring (missing-function-docstring) +payment/blueprint.py:47:0: C0116: Missing function or method docstring (missing-function-docstring) +payment/blueprint.py:52:7: C0121: Comparison 'invoice == None' should be 'invoice is None' (singleton-comparison) +payment/blueprint.py:47:0: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) +payment/blueprint.py:64:0: C0116: Missing function or method docstring (missing-function-docstring) +payment/blueprint.py:71:4: W0702: No exception type(s) specified (bare-except) +payment/blueprint.py:72:73: E0601: Using variable 'e' before assignment (used-before-assignment) +payment/blueprint.py:81:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +payment/blueprint.py:86:7: C0121: Comparison 'event == None' should be 'event is None' (singleton-comparison) +payment/blueprint.py:93:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) +payment/blueprint.py:96:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) +payment/blueprint.py:103:0: C0116: Missing function or method docstring (missing-function-docstring) +payment/blueprint.py:109:0: C0116: Missing function or method docstring (missing-function-docstring) +payment/blueprint.py:120:0: C0116: Missing function or method docstring (missing-function-docstring) +payment/blueprint.py:11:0: C0411: third party import "from flask import Blueprint, jsonify, request" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +payment/blueprint.py:12:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +************* Module payment.model +payment/model.py:1:0: C0114: Missing module docstring (missing-module-docstring) +payment/model.py:8:0: C0115: Missing class docstring (missing-class-docstring) +payment/model.py:18:0: C0115: Missing class docstring (missing-class-docstring) +payment/model.py:32:4: R0913: Too many arguments (7/5) (too-many-arguments) +payment/model.py:51:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/model.py:5:0: C0411: third party import "from sqlalchemy import Column, DateTime, Enum, Float, ForeignKey, Integer, String" should be placed before "from database import Base" (wrong-import-order) +************* Module payment.service +payment/service.py:168:18: C0303: Trailing whitespace (trailing-whitespace) +payment/service.py:175:17: C0303: Trailing whitespace (trailing-whitespace) +payment/service.py:10:0: E0401: Unable to import 'pagination.pagination' (import-error) +payment/service.py:10:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +payment/service.py:20:0: C0115: Missing class docstring (missing-class-docstring) +payment/service.py:28:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:20:0: R0903: Too few public methods (1/2) (too-few-public-methods) +payment/service.py:32:0: C0115: Missing class docstring (missing-class-docstring) +payment/service.py:38:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:45:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:67:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:84:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +payment/service.py:85:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +payment/service.py:88:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +payment/service.py:90:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +payment/service.py:91:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to create invoice!') from e' (raise-missing-from) +payment/service.py:94:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:96:12: E1101: Instance of 'scoped_session' has no 'query' member (no-member) +payment/service.py:103:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +payment/service.py:104:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +payment/service.py:106:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +payment/service.py:107:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to update invoice!') from e' (raise-missing-from) +payment/service.py:110:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:110:26: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) +payment/service.py:110:26: W0622: Redefining built-in 'id' (redefined-builtin) +payment/service.py:114:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:118:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:125:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:129:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:150:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:150:33: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) +payment/service.py:150:33: W0622: Redefining built-in 'id' (redefined-builtin) +payment/service.py:154:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:163:4: C0116: Missing function or method docstring (missing-function-docstring) +payment/service.py:15:0: C0411: third party import "from werkzeug.exceptions import BadRequest, InternalServerError, NotFound" should be placed before "from database.database import db_session" (wrong-import-order) +************* Module reservation.blueprint +reservation/blueprint.py:14:0: E0401: Unable to import 'pagination.pagination' (import-error) +reservation/blueprint.py:14:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +reservation/blueprint.py:23:0: C0115: Missing class docstring (missing-class-docstring) +reservation/blueprint.py:28:0: C0115: Missing class docstring (missing-class-docstring) +reservation/blueprint.py:32:0: C0115: Missing class docstring (missing-class-docstring) +reservation/blueprint.py:38:0: C0116: Missing function or method docstring (missing-function-docstring) +reservation/blueprint.py:49:0: C0116: Missing function or method docstring (missing-function-docstring) +reservation/blueprint.py:82:0: C0116: Missing function or method docstring (missing-function-docstring) +reservation/blueprint.py:110:0: C0116: Missing function or method docstring (missing-function-docstring) +reservation/blueprint.py:119:0: C0116: Missing function or method docstring (missing-function-docstring) +reservation/blueprint.py:12:0: C0411: third party import "from flask import Blueprint, request" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +reservation/blueprint.py:13:0: C0411: third party import "from marshmallow import Schema, fields" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +************* Module reservation.model +reservation/model.py:1:0: C0114: Missing module docstring (missing-module-docstring) +reservation/model.py:7:0: C0115: Missing class docstring (missing-class-docstring) +reservation/model.py:28:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/model.py:4:0: C0411: third party import "from sqlalchemy import Column, DateTime, ForeignKey, Integer" should be placed before "from database import Base" (wrong-import-order) +************* Module reservation.service +reservation/service.py:1:0: C0114: Missing module docstring (missing-module-docstring) +reservation/service.py:7:0: E0401: Unable to import 'pagination.pagination' (import-error) +reservation/service.py:7:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +reservation/service.py:19:0: C0115: Missing class docstring (missing-class-docstring) +reservation/service.py:26:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/service.py:19:0: R0903: Too few public methods (1/2) (too-few-public-methods) +reservation/service.py:39:0: C0115: Missing class docstring (missing-class-docstring) +reservation/service.py:41:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/service.py:53:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +reservation/service.py:54:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +reservation/service.py:58:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +reservation/service.py:63:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/service.py:64:8: E1101: Instance of 'scoped_session' has no 'query' member (no-member) +reservation/service.py:67:8: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +reservation/service.py:70:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/service.py:73:11: C0121: Comparison 'user == None' should be 'user is None' (singleton-comparison) +reservation/service.py:78:11: C0121: Comparison 'car == None' should be 'car is None' (singleton-comparison) +reservation/service.py:83:11: C0121: Comparison 'is_car_parking == True' should be 'is_car_parking is True' if checking for the singleton value True, or 'is_car_parking' if testing for truthiness (singleton-comparison) +reservation/service.py:88:11: C0121: Comparison 'user_own_car == False' should be 'user_own_car is False' if checking for the singleton value False, or 'not user_own_car' if testing for falsiness (singleton-comparison) +reservation/service.py:93:11: C0121: Comparison 'parking_lot == None' should be 'parking_lot is None' (singleton-comparison) +reservation/service.py:98:11: C0121: Comparison 'parking_lot_available == False' should be 'parking_lot_available is False' if checking for the singleton value False, or 'not parking_lot_available' if testing for falsiness (singleton-comparison) +reservation/service.py:105:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/service.py:105:19: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) +reservation/service.py:105:19: W0622: Redefining built-in 'id' (redefined-builtin) +reservation/service.py:109:4: C0116: Missing function or method docstring (missing-function-docstring) +reservation/service.py:112:23: E1101: Instance of 'scoped_session' has no 'query' member (no-member) +reservation/service.py:10:0: C0411: third party import "from sqlalchemy import or_" should be placed before "from car.model import Car" (wrong-import-order) +reservation/service.py:11:0: C0411: third party import "from sqlalchemy.orm import Query" should be placed before "from car.model import Car" (wrong-import-order) +reservation/service.py:14:0: C0411: third party import "from werkzeug.exceptions import Conflict, Forbidden, NotFound" should be placed before "from car.model import Car" (wrong-import-order) +************* Module settings.blueprint +settings/blueprint.py:19:0: C0115: Missing class docstring (missing-class-docstring) +settings/blueprint.py:29:0: C0116: Missing function or method docstring (missing-function-docstring) +settings/blueprint.py:43:0: C0116: Missing function or method docstring (missing-function-docstring) +settings/blueprint.py:9:0: C0411: third party import "from flask import Blueprint, request" should be placed before "from auth.decorator import admin_only" (wrong-import-order) +settings/blueprint.py:10:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from auth.decorator import admin_only" (wrong-import-order) +************* Module settings.model +settings/model.py:8:0: C0115: Missing class docstring (missing-class-docstring) +settings/model.py:29:4: C0116: Missing function or method docstring (missing-function-docstring) +settings/model.py:5:0: C0411: third party import "from sqlalchemy import Column, Float, Integer" should be placed before "from database import Base" (wrong-import-order) +************* Module settings.service +settings/service.py:10:0: C0115: Missing class docstring (missing-class-docstring) +settings/service.py:12:4: C0116: Missing function or method docstring (missing-function-docstring) +settings/service.py:20:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +settings/service.py:23:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +settings/service.py:24:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +settings/service.py:27:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +settings/service.py:22:8: W0612: Unused variable 'err' (unused-variable) +settings/service.py:31:4: C0116: Missing function or method docstring (missing-function-docstring) +settings/service.py:38:4: C0116: Missing function or method docstring (missing-function-docstring) +settings/service.py:45:12: W0707: Consider explicitly re-raising using 'raise Exception('Failed to create default settings!') from err' (raise-missing-from) +settings/service.py:44:8: W0612: Unused variable 'err' (unused-variable) +settings/service.py:5:0: C0411: third party import "from werkzeug.exceptions import NotFound" should be placed before "from database.database import db_session" (wrong-import-order) +************* Module user.blueprint +user/blueprint.py:10:0: E0401: Unable to import 'pagination.pagination' (import-error) +user/blueprint.py:10:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +user/blueprint.py:18:0: C0115: Missing class docstring (missing-class-docstring) +user/blueprint.py:25:0: C0115: Missing class docstring (missing-class-docstring) +user/blueprint.py:31:0: C0116: Missing function or method docstring (missing-function-docstring) +user/blueprint.py:42:0: C0116: Missing function or method docstring (missing-function-docstring) +user/blueprint.py:49:0: C0116: Missing function or method docstring (missing-function-docstring) +user/blueprint.py:64:0: C0116: Missing function or method docstring (missing-function-docstring) +user/blueprint.py:8:0: C0411: third party import "from flask import Blueprint, request" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +user/blueprint.py:9:0: C0411: third party import "from marshmallow import Schema, fields, validate" should be placed before "from auth.decorator import admin_only, login_required" (wrong-import-order) +************* Module user +user/__init__.py:8:11: E0604: Invalid object 'User' in __all__, must contain only strings (invalid-all-object) +user/__init__.py:8:17: E0604: Invalid object 'UserService' in __all__, must contain only strings (invalid-all-object) +************* Module user.model +user/model.py:9:0: C0115: Missing class docstring (missing-class-docstring) +user/model.py:23:4: R0913: Too many arguments (8/5) (too-many-arguments) +user/model.py:44:4: C0116: Missing function or method docstring (missing-function-docstring) +user/model.py:50:4: C0116: Missing function or method docstring (missing-function-docstring) +user/model.py:60:4: C0116: Missing function or method docstring (missing-function-docstring) +user/model.py:6:0: C0411: third party import "from sqlalchemy import Column, Integer, String" should be placed before "from database.database import Base" (wrong-import-order) +************* Module user.service +user/service.py:1:0: C0114: Missing module docstring (missing-module-docstring) +user/service.py:5:0: E0401: Unable to import 'pagination.pagination' (import-error) +user/service.py:5:0: E0611: No name 'pagination' in module 'pagination' (no-name-in-module) +user/service.py:13:0: C0115: Missing class docstring (missing-class-docstring) +user/service.py:15:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:15:4: R0913: Too many arguments (7/5) (too-many-arguments) +user/service.py:35:12: E1101: Instance of 'scoped_session' has no 'add' member (no-member) +user/service.py:36:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +user/service.py:39:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +user/service.py:40:12: W0707: Consider explicitly re-raising using 'except IntegrityError as exc' and 'raise Conflict('User already registerd!') from exc' (raise-missing-from) +user/service.py:43:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:47:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:55:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:60:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:60:19: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) +user/service.py:60:19: W0622: Redefining built-in 'id' (redefined-builtin) +user/service.py:65:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:83:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:93:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +user/service.py:94:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +user/service.py:96:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +user/service.py:97:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to update user!') from e' (raise-missing-from) +user/service.py:100:4: C0116: Missing function or method docstring (missing-function-docstring) +user/service.py:106:12: E1101: Instance of 'scoped_session' has no 'commit' member (no-member) +user/service.py:107:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) +user/service.py:109:12: E1101: Instance of 'scoped_session' has no 'rollback' member (no-member) +user/service.py:110:12: W0707: Consider explicitly re-raising using 'raise InternalServerError('Failed to change user password!') from e' (raise-missing-from) +user/service.py:6:0: C0411: third party import "from sqlalchemy import or_" should be placed before "from bcrypt_wrapper.service import BcryptService" (wrong-import-order) +user/service.py:7:0: C0411: third party import "from sqlalchemy.exc import IntegrityError" should be placed before "from bcrypt_wrapper.service import BcryptService" (wrong-import-order) +user/service.py:8:0: C0411: third party import "from werkzeug.exceptions import Conflict, InternalServerError" should be placed before "from bcrypt_wrapper.service import BcryptService" (wrong-import-order) +************* Module util.validate_request +util/validate_request.py:14:0: C0116: Missing function or method docstring (missing-function-docstring) +util/validate_request.py:14:20: W0613: Unused argument 'schema' (unused-argument) +util/validate_request.py:14:31: W0613: Unused argument 'obj' (unused-argument) +util/validate_request.py:17:0: C0116: Missing function or method docstring (missing-function-docstring) +util/validate_request.py:22:4: W0622: Redefining built-in 'dict' (redefined-builtin) +util/validate_request.py:1:0: R0401: Cyclic import (database -> database.database -> payment.model) (cyclic-import) +util/validate_request.py:1:0: R0401: Cyclic import (database.database -> user.model) (cyclic-import) +util/validate_request.py:1:0: R0401: Cyclic import (user -> user.service) (cyclic-import) +util/validate_request.py:1:0: R0401: Cyclic import (car.model -> database -> database.database) (cyclic-import) +util/validate_request.py:1:0: R0401: Cyclic import (database -> database.database -> parking_lot.model) (cyclic-import) +util/validate_request.py:1:0: R0401: Cyclic import (database -> database.database -> reservation.model) (cyclic-import) +util/validate_request.py:1:0: R0401: Cyclic import (database -> database.database -> settings.model) (cyclic-import) + +------------------------------------------------------------------ +Your code has been rated at 3.34/10 (previous run: 3.34/10, +0.00) + diff --git a/pagination/pagination.py b/pagination/pagination.py index ae72857..51b7049 100644 --- a/pagination/pagination.py +++ b/pagination/pagination.py @@ -9,7 +9,7 @@ from marshmallow import Schema, fields, validate from sqlalchemy import column, desc, text from sqlalchemy.orm.query import Query -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from werkzeug.exceptions import BadRequest @@ -41,7 +41,7 @@ def create_order_by(model, key: str, sort: PaginationSortOptions): def create_pagination_options_from_request(request: Request): - data = ValidateRequest(PaginationOptions, request, "GET") + data = validate_request(PaginationOptions, request, "GET") options = PaginationOptions() options.page = int(data.page) diff --git a/parking_lot/blueprint.py b/parking_lot/blueprint.py index 4d0fc59..0083c34 100644 --- a/parking_lot/blueprint.py +++ b/parking_lot/blueprint.py @@ -8,7 +8,7 @@ from auth.decorator import admin_only, login_required from flask import Blueprint, request from marshmallow import Schema, fields, validate -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from parking_lot.service import ParkingLotService @@ -31,7 +31,7 @@ class ParkingLotDeleteDto(Schema): @blueprint.route("/admin/add", methods=["POST"]) @admin_only def add_parking_lot(): - data = ValidateRequest(ParkingLotAddDto, request) + data = validate_request(ParkingLotAddDto, request) ParkingLotService.add(data.location, data.open_status) return {"message": "Parking lot added."}, CREATED @@ -39,7 +39,7 @@ def add_parking_lot(): @blueprint.route("/admin/remove", methods=["DELETE"]) @admin_only def remove_parking_lot(): - data = ValidateRequest(ParkingLotDeleteDto, request) + data = validate_request(ParkingLotDeleteDto, request) parking_lot = ParkingLotService.find_by_id(data.parking_lot_id) # check is parking lot none @@ -58,7 +58,7 @@ def remove_parking_lot(): @blueprint.route("/admin/update", methods=["PATCH"]) @admin_only def update_parking_lot(): - data = ValidateRequest(ParkingLotUpdateDto, request) + data = validate_request(ParkingLotUpdateDto, request) parking_lot = ParkingLotService.find_by_id(data.parking_lot_id) parking_lot.location = data.location diff --git a/payment/blueprint.py b/payment/blueprint.py index 1a7e506..e5e1d1c 100644 --- a/payment/blueprint.py +++ b/payment/blueprint.py @@ -7,11 +7,11 @@ import stripe from auth.decorator import admin_only, login_required -from auth.function import GetUser +from auth.function import get_user from flask import Blueprint, jsonify, request from marshmallow import Schema, fields, validate from pagination.pagination import create_pagination_options_from_request -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from payment.model import InvoiceStatus from payment.service import PaymentService @@ -33,7 +33,7 @@ class InvoiceUpdateDto(Schema): @blueprint.route("/my_invoice", methods=["GET"]) @login_required def list_user_invoice(): - user = GetUser() + user = get_user() response_list = [] pagination_options = create_pagination_options_from_request(request) result = PaymentService.paginate_user_invoice(user, pagination_options) @@ -45,8 +45,8 @@ def list_user_invoice(): @blueprint.route("/pay", methods=["POST"]) @login_required def pay_invoice(): - user = GetUser() - data = ValidateRequest(PayInvoiceDto, request) + user = get_user() + data = validate_request(PayInvoiceDto, request) invoice = PaymentService.get_invoice_by_id(data.invoice_id) if invoice == None: @@ -118,7 +118,7 @@ def admin_invoice_list(): @blueprint.route("/admin/update", methods=["PATCH"]) @admin_only def admin_invoice_update(): - data = ValidateRequest(InvoiceUpdateDto, request) + data = validate_request(InvoiceUpdateDto, request) invoice = PaymentService.get_invoice_by_id(data.invoice_id) invoice.charge_amount = data.charge_amount diff --git a/reservation/blueprint.py b/reservation/blueprint.py index 1552595..566df59 100644 --- a/reservation/blueprint.py +++ b/reservation/blueprint.py @@ -7,13 +7,13 @@ from http.client import CONFLICT, CREATED, FORBIDDEN, NOT_FOUND, OK from auth.decorator import admin_only, login_required -from auth.function import GetUser +from auth.function import get_user from car.service import CarService from flask import Blueprint, request from marshmallow import Schema, fields from pagination.pagination import create_pagination_options_from_request from payment.service import PaymentService -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from reservation.service import ParkingLotService, ReservationService @@ -36,8 +36,8 @@ class ReservationAdminEndDto(ReservationEndDto): @blueprint.route("/create", methods=["POST"]) @login_required def create_reservation(): - user = GetUser() - data = ValidateRequest(ReservationCreateDto, request) + user = get_user() + data = validate_request(ReservationCreateDto, request) car = CarService.find_by_id(data.car_id) parking_lot = ParkingLotService.find_by_id(data.parking_lot_id) ReservationService.create_reservation(user, car, parking_lot, datetime.utcnow()) @@ -48,9 +48,9 @@ def create_reservation(): @login_required def end_reservation(): # get user - user = GetUser() + user = get_user() # validate request - data = ValidateRequest(ReservationEndDto, request) + data = validate_request(ReservationEndDto, request) # get reservation reservation = ReservationService.find_by_id(data.reservation_id) @@ -81,7 +81,7 @@ def end_reservation(): @admin_only def admin_end_reservation(): # validate request - data = ValidateRequest(ReservationAdminEndDto, request) + data = validate_request(ReservationAdminEndDto, request) # get reservation reservation = ReservationService.find_by_id(data.reservation_id) @@ -108,13 +108,12 @@ def admin_end_reservation(): @blueprint.route("/user_reservation", methods=["GET"]) @login_required def user_reservation(): - user = GetUser() + user = get_user() pagination_options = create_pagination_options_from_request(request) result = ReservationService.pagination_reservation(pagination_options, user) return result - @blueprint.route("/admin/list", methods=["GET"]) @admin_only def admin_pagination_reservation(): diff --git a/settings/blueprint.py b/settings/blueprint.py index 6c82f0f..b978990 100644 --- a/settings/blueprint.py +++ b/settings/blueprint.py @@ -1,6 +1,6 @@ -''' +""" auth blueprint -''' +""" from http.client import OK @@ -8,7 +8,7 @@ from auth.decorator import admin_only from flask import Blueprint, request from marshmallow import Schema, fields, validate -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from settings.model import Setting from settings.service import SettingService @@ -17,27 +17,28 @@ class SettingDto(Schema): - charge_within_hour = fields.Float( - required=True, validate=validate.Range(min=0)) + charge_within_hour = fields.Float(required=True, validate=validate.Range(min=0)) charge_more_than_a_hour = fields.Float( - required=True, validate=validate.Range(min=0)) - charge_more_than_a_day = fields.Float( - required=True, validate=validate.Range(min=0)) + required=True, validate=validate.Range(min=0) + ) + charge_more_than_a_day = fields.Float(required=True, validate=validate.Range(min=0)) -@blueprint.route('/set', methods=['POST']) +@blueprint.route("/set", methods=["POST"]) @admin_only def set_settings(): - data = ValidateRequest(SettingDto, request) - SettingService.set_settings(Setting( - data.charge_within_hour, - data.charge_more_than_a_hour, - data.charge_more_than_a_day - )) + data = validate_request(SettingDto, request) + SettingService.set_settings( + Setting( + data.charge_within_hour, + data.charge_more_than_a_hour, + data.charge_more_than_a_day, + ) + ) return {"message": "Setting complete."}, OK -@blueprint.route('/get', methods=['GET']) +@blueprint.route("/get", methods=["GET"]) @admin_only def get_settings(): setting = SettingService.get_settings() diff --git a/user/blueprint.py b/user/blueprint.py index ee70b48..0b1da48 100644 --- a/user/blueprint.py +++ b/user/blueprint.py @@ -4,11 +4,11 @@ from auth.decorator import admin_only, login_required -from auth.function import GetUser +from auth.function import get_user from flask import Blueprint, request from marshmallow import Schema, fields, validate from pagination.pagination import create_pagination_options_from_request -from util.validate_request import ValidateRequest +from util.validate_request import validate_request from user.service import UserService @@ -40,15 +40,15 @@ def admin_user_search(): @blueprint.route("/me", methods=["GET"]) @login_required def user_detail(): - user = GetUser() + user = get_user() return user.json_full() @blueprint.route("/update", methods=["PATCH"]) @login_required def update_user(): - user = GetUser() - data = ValidateRequest(UpdateUserDto, request) + user = get_user() + data = validate_request(UpdateUserDto, request) user.firstname = data.firstname user.lastname = data.lastname @@ -62,7 +62,7 @@ def update_user(): @blueprint.route("/admin/update", methods=["PATCH"]) @admin_only def admin_update_user(): - data = ValidateRequest(AdminUpdateUserDto, request) + data = validate_request(AdminUpdateUserDto, request) user = UserService.find_by_id(data.user_id) user.firstname = data.firstname diff --git a/util/validate_request.py b/util/validate_request.py index 8efc4f9..731e0ee 100644 --- a/util/validate_request.py +++ b/util/validate_request.py @@ -11,8 +11,10 @@ T = TypeVar("T") +def validate_object(schema: T, obj: Any) -> T: + pass -def ValidateRequest(schema: T, request: Request, method="POST") -> T: +def validate_request(schema: T, request: Request, method="POST") -> T: # create schema object template = schema()