Skip to content

Commit e6126e5

Browse files
committed
fixing circular dependency and mypy errors
Signed-off-by: Sajal-Kulshreshtha <sajalkulshreshtha9@gmail.com>
1 parent 5f480f4 commit e6126e5

File tree

20 files changed

+45
-43
lines changed

20 files changed

+45
-43
lines changed

.github/workflows/mypy.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ jobs:
2121
- name: Install dependencies
2222
run: |
2323
python -m pip install --upgrade pip
24-
pip install .[dev]
24+
pip install .[dev]
25+
pip install mypy
2526
2627
- name: Run mypy
2728
run: |

augur/application/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from typing import List, Any, Optional
55
import os
66
from augur.application.db.models import Config
7-
from augur.application.db.util import execute_session_query, convert_type_of_value
7+
from augur.application.db.helpers import execute_session_query, convert_type_of_value
88

99
def get_development_flag_from_config():
1010

augur/application/db/helpers.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from typing import Any, Callable, Optional
2+
from augur.application.db.util import catch_operational_error
3+
4+
def execute_session_query(query: Any, query_type: str = "all") -> Any:
5+
"""
6+
Executes an SQLAlchemy ORM query with retries on OperationalError.
7+
8+
Args:
9+
query: SQLAlchemy ORM query object.
10+
query_type: One of 'all', 'one', 'first'.
11+
12+
Returns:
13+
Query result according to query_type.
14+
"""
15+
func: Optional[Callable[[], Any]] = None
16+
17+
if query_type == "all":
18+
func = query.all
19+
elif query_type == "one":
20+
func = query.one
21+
elif query_type == "first":
22+
func = query.first
23+
else:
24+
raise Exception(f"ERROR: Unsupported query type '{query_type}'")
25+
26+
return catch_operational_error(func)

augur/application/db/lib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from augur.application.db.models import Config, Repo, Commit, WorkerOauth, Issue, PullRequest, PullRequestReview, ContributorsAlias,UnresolvedCommitEmail, Contributor, CollectionStatus, UserGroup, RepoGroup
1414
from augur.tasks.util.collection_state import CollectionState
1515
from augur.application.db import get_session, get_engine
16-
from augur.application.db.util import execute_session_query, convert_type_of_value
16+
from augur.application.db.helpers import execute_session_query, convert_type_of_value
1717
from augur.application.db.session import remove_duplicates_by_uniques, remove_null_characters_from_list_of_dicts
1818

1919
logger = logging.getLogger("db_lib")

augur/application/db/models/augur_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131

3232
from augur.application.db.models.base import Base
33-
from augur.application.db.util import execute_session_query
33+
from augur.application.db.helpers import execute_session_query
3434
from augur.application.db import get_session
3535

3636
DEFAULT_REPO_GROUP_ID = 1

augur/application/db/util.py

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,6 @@ def catch_operational_error(func: Callable[[], Any]) -> Any:
2929

3030
raise Exception(error)
3131

32-
33-
def execute_session_query(query: Any, query_type: str = "all") -> Any:
34-
"""
35-
Executes an SQLAlchemy ORM query with retries on OperationalError.
36-
37-
Args:
38-
query: SQLAlchemy ORM query object.
39-
query_type: One of 'all', 'one', 'first'.
40-
41-
Returns:
42-
Query result according to query_type.
43-
"""
44-
func: Optional[Callable[[], Any]] = None
45-
46-
if query_type == "all":
47-
func = query.all
48-
elif query_type == "one":
49-
func = query.one
50-
elif query_type == "first":
51-
func = query.first
52-
else:
53-
raise Exception(f"ERROR: Unsupported query type '{query_type}'")
54-
55-
return catch_operational_error(func)
56-
5732
def convert_orm_list_to_dict_list(result: List["Base"]) -> List[Dict[str, Any]]:
5833
"""
5934
Converts a list of ORM model instances to a list of dictionaries.

augur/application/logs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from augur.application.db.models import Config
1414
from augur.application.config import convert_type_of_value
15-
from augur.application.db.util import execute_session_query
15+
from augur.application.db.helpers import execute_session_query
1616

1717
ROOT_AUGUR_DIRECTORY = os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
1818

augur/tasks/data_analysis/discourse_analysis/tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from augur.tasks.init.celery_app import celery_app as celery
1111
from augur.application.db.lib import get_session, get_repo_by_repo_git
1212
from augur.application.db.models import Repo, DiscourseInsight
13-
from augur.application.db.util import execute_session_query
13+
from augur.application.db.helpers import execute_session_query
1414
from augur.tasks.init.celery_app import AugurMlRepoCollectionTask
1515

1616
#import os, sys, time, requests, json

augur/tasks/git/util/facade_worker/facade_worker/repofetch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
from sqlalchemy.orm.exc import NoResultFound
3535
from augur.application.db.models.augur_data import *
3636
from augur.application.db.models.augur_operations import CollectionStatus
37-
from augur.application.db.util import execute_session_query, convert_orm_list_to_dict_list
37+
from augur.application.db.helpers import execute_session_query
3838
from augur.application.db.lib import execute_sql, get_repo_by_repo_git
3939

4040
class GitCloneError(Exception):

augur/tasks/git/util/facade_worker/facade_worker/utilitymethods.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from .config import FacadeHelper as FacadeHelper
3434
from augur.tasks.util.worker_util import calculate_date_weight_from_timestamps
3535
from augur.application.db.lib import execute_sql, fetchall_data_from_sql_text, remove_working_commits_by_repo_id_and_hashes, remove_commits_by_repo_id_and_hashes, get_repo_by_repo_git, get_session
36-
from augur.application.db.util import execute_session_query
36+
from augur.application.db.helpers import execute_session_query
3737
#from augur.tasks.git.util.facade_worker.facade
3838

3939
def update_repo_log(logger, facade_helper, repos_id,status):

0 commit comments

Comments
 (0)