Skip to content

Commit e685a1d

Browse files
committed
Minor refactor.
1 parent 1bd8156 commit e685a1d

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

sqlalchemy_tutorial/.flake8

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[flake8]
2+
select = E9,F63,F7,F82
3+
exclude = .git,.github,__pycache__,.pytest_cache,.venv,logs,creds

sqlalchemy_tutorial/part1_connections/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
"""Demonstrate how to execute raw SQL queries using SQLAlchemy."""
12
from database import engine
23

34
from .queries import fetch_job_listings, update_job_listing

sqlalchemy_tutorial/part1_connections/queries.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Execute raw SQL queries against an SQLAlchemy engine."""
22
from typing import List, Optional
3+
import json
34

45
from sqlalchemy import text
56
from sqlalchemy.engine.base import Engine
@@ -17,17 +18,18 @@ def fetch_job_listings(engine: Engine) -> Optional[List[dict]]:
1718
:return: Optional[List[dict]]
1819
"""
1920
try:
21+
LOGGER.info("Fetching job listings...")
2022
with engine.begin() as conn:
2123
result = conn.execute(
2224
text(
2325
"SELECT job_id, agency, business_title, \
2426
salary_range_from, salary_range_to \
25-
FROM nyc_jobs ORDER BY RAND() LIMIT 10;"
27+
FROM nyc_jobs ORDER BY RAND() LIMIT 5;"
2628
),
2729
)
2830
results = result.fetchall()
2931
results_dict = [row._asdict() for row in results]
30-
LOGGER.info(f"Selected {result.rowcount} rows.")
32+
LOGGER.info(f"Selected {result.rowcount} rows: {json.dumps(results_dict, indent=2)}")
3133
return results_dict
3234
except SQLAlchemyError as e:
3335
LOGGER.error(f"SQLAlchemyError while fetching records: {e}")
@@ -52,7 +54,7 @@ def update_job_listing(engine: Engine) -> Optional[List[dict]]:
5254
WHERE job_id = 229837;"
5355
)
5456
)
55-
LOGGER.info(f"Updated {result.rowcount} row: {result}")
57+
LOGGER.success(f"Updated {result.rowcount} row: {result}")
5658
return result
5759
except SQLAlchemyError as e:
5860
LOGGER.error(f"SQLAlchemyError while updating records: {e}")

sqlalchemy_tutorial/part2_orm/orm.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ def orm_create_user(session: Session, user: User) -> User:
2121
LOGGER.success(f"Created new user: {user}")
2222
return user
2323
except IntegrityError as e:
24-
LOGGER.error(e.orig)
25-
raise e.orig
24+
LOGGER.error(f"IntegrityError when creating user: {e}")
2625
except SQLAlchemyError as e:
26+
LOGGER.error(f"SQLAlchemyError when creating user: {e}")
27+
except Exception as e:
2728
LOGGER.error(f"Unexpected error when creating user: {e}")
28-
raise e
2929

3030

3131
def orm_delete_user(session: Session, user: User):
@@ -42,8 +42,8 @@ def orm_delete_user(session: Session, user: User):
4242
session.commit() # Commit the change
4343
LOGGER.success(f"Deleted user: {user}")
4444
except IntegrityError as e:
45-
LOGGER.error(e.orig)
46-
raise e.orig
45+
LOGGER.error(f"IntegrityError when deleting user: {e}")
4746
except SQLAlchemyError as e:
47+
LOGGER.error(f"SQLAlchemyError when deleting user: {e}")
48+
except Exception as e:
4849
LOGGER.error(f"Unexpected error when deleting user: {e}")
49-
raise e

0 commit comments

Comments
 (0)