Skip to content

Commit

Permalink
Merge pull request #16 from prius/dev-imports
Browse files Browse the repository at this point in the history
Direct imports for python-leetcode lib (preparation for switch to openapi generator)
  • Loading branch information
fspv authored Oct 25, 2021
2 parents 3ba37e0 + f26276b commit 016cb53
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
7 changes: 7 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[settings]
force_grid_wrap=0
include_trailing_comma=True
line_length=88
multi_line_output=3
use_parentheses=True
ensure_newline_before_comments=True
20 changes: 14 additions & 6 deletions generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@
import genanki # type: ignore

# https://github.com/prius/python-leetcode
import leetcode # type: ignore
import leetcode.api.default_api # type: ignore
import leetcode.api_client # type: ignore
import leetcode.auth # type: ignore
import leetcode.configuration # type: ignore
import leetcode.models.graphql_query # type: ignore
import leetcode.models.graphql_query_variables # type: ignore
import urllib3 # type: ignore
from tqdm import tqdm # type: ignore

Expand Down Expand Up @@ -110,7 +114,7 @@ async def _get_problem_data(self, problem_slug: str) -> Dict[str, str]:

api_instance = self._api_instance

graphql_request = leetcode.GraphqlQuery(
graphql_request = leetcode.models.graphql_query.GraphqlQuery(
query="""
query getQuestionDetail($titleSlug: String!) {
question(titleSlug: $titleSlug) {
Expand Down Expand Up @@ -168,7 +172,9 @@ async def _get_problem_data(self, problem_slug: str) -> Dict[str, str]:
}
}
""",
variables=leetcode.GraphqlQueryVariables(title_slug=problem_slug),
variables=leetcode.models.graphql_query_variables.GraphqlQueryVariables(
title_slug=problem_slug
),
operation_name="getQuestionDetail",
)

Expand Down Expand Up @@ -300,14 +306,14 @@ def guid(self):


@lru_cache(None)
def get_leetcode_api_client() -> leetcode.DefaultApi:
def get_leetcode_api_client() -> leetcode.api.default_api.DefaultApi:
"""
Leetcode API instance constructor.
This is a singleton, because we don't need to create a separate client
each time
"""
configuration = leetcode.Configuration()
configuration = leetcode.configuration.Configuration()

session_id = os.environ["LEETCODE_SESSION_ID"]
csrf_token = leetcode.auth.get_csrf_cookie(session_id)
Expand All @@ -317,7 +323,9 @@ def get_leetcode_api_client() -> leetcode.DefaultApi:
configuration.api_key["LEETCODE_SESSION"] = session_id
configuration.api_key["Referer"] = "https://leetcode.com"
configuration.debug = False
api_instance = leetcode.DefaultApi(leetcode.ApiClient(configuration))
api_instance = leetcode.api.default_api.DefaultApi(
leetcode.api_client.ApiClient(configuration)
)

return api_instance

Expand Down

0 comments on commit 016cb53

Please sign in to comment.