Skip to content

Commit c6d6cce

Browse files
authored
Merge pull request #13 from prius/dev-problemset-query
Added new graphql request (no backwards compatibility from here)
2 parents cac8c11 + fd72c1d commit c6d6cce

38 files changed

+1327
-53
lines changed

README.generated.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,16 @@ Class | Method | HTTP request | Description
223223

224224
## Documentation For Models
225225

226+
- [AnyOfGraphqlQueryVariables](docs/AnyOfGraphqlQueryVariables.md)
226227
- [AnyOfGraphqlQuestionDetailSolution](docs/AnyOfGraphqlQuestionDetailSolution.md)
227228
- [BaseSubmissionResult](docs/BaseSubmissionResult.md)
228229
- [Difficulty](docs/Difficulty.md)
229230
- [GraphqlData](docs/GraphqlData.md)
231+
- [GraphqlProblemsetQuestionList](docs/GraphqlProblemsetQuestionList.md)
230232
- [GraphqlQuery](docs/GraphqlQuery.md)
233+
- [GraphqlQueryGetQuestionDetailVariables](docs/GraphqlQueryGetQuestionDetailVariables.md)
234+
- [GraphqlQueryProblemsetQuestionListVariables](docs/GraphqlQueryProblemsetQuestionListVariables.md)
235+
- [GraphqlQueryProblemsetQuestionListVariablesFilterInput](docs/GraphqlQueryProblemsetQuestionListVariablesFilterInput.md)
231236
- [GraphqlQueryVariables](docs/GraphqlQueryVariables.md)
232237
- [GraphqlQuestionCodeSnippet](docs/GraphqlQuestionCodeSnippet.md)
233238
- [GraphqlQuestionContributor](docs/GraphqlQuestionContributor.md)

docs/AnyOfGraphqlQueryVariables.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# AnyOfGraphqlQueryVariables
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
7+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
8+

docs/GraphqlData.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Name | Type | Description | Notes
55
------------ | ------------- | ------------- | -------------
66
**question** | [**GraphqlQuestionDetail**](GraphqlQuestionDetail.md) | | [optional]
77
**user** | [**GraphqlUser**](GraphqlUser.md) | | [optional]
8+
**problemset_question_list** | [**GraphqlProblemsetQuestionList**](GraphqlProblemsetQuestionList.md) | | [optional]
89

910
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
1011

docs/GraphqlProblemsetQuestionList.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# GraphqlProblemsetQuestionList
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**total** | **int** | | [optional]
7+
**questions** | [**list[GraphqlQuestionDetail]**](GraphqlQuestionDetail.md) | | [optional]
8+
9+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10+

docs/GraphqlQuery.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Name | Type | Description | Notes
55
------------ | ------------- | ------------- | -------------
66
**query** | **str** | |
7-
**variables** | [**GraphqlQueryVariables**](GraphqlQueryVariables.md) | |
7+
**variables** | [**AnyOfGraphqlQueryVariables**](AnyOfGraphqlQueryVariables.md) | |
88
**operation_name** | **str** | | [optional]
99

1010
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# GraphqlQueryGetQuestionDetailVariables
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**title_slug** | **str** | | [optional]
7+
8+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
9+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# GraphqlQueryProblemsetQuestionListVariables
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**category_slug** | **str** | | [optional]
7+
**limit** | **int** | | [optional]
8+
**skip** | **int** | | [optional]
9+
**filters** | [**GraphqlQueryProblemsetQuestionListVariablesFilterInput**](GraphqlQueryProblemsetQuestionListVariablesFilterInput.md) | | [optional]
10+
11+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
12+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# GraphqlQueryProblemsetQuestionListVariablesFilterInput
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**tags** | **list[str]** | | [optional]
7+
**difficulty** | **str** | | [optional]
8+
**status** | **str** | | [optional]
9+
**list_id** | **str** | | [optional]
10+
**premium_only** | **bool** | | [optional]
11+
12+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
13+

docs/GraphqlQueryVariables.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
## Properties
44
Name | Type | Description | Notes
55
------------ | ------------- | ------------- | -------------
6-
**title_slug** | **str** | | [optional]
76

87
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
98

example.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import os
24
import sys
35
from time import sleep
@@ -10,9 +12,9 @@
1012

1113
# NOTE: cookies var is just a dict with `csrftoken` and `LEETCODE_SESSION`
1214
# fields which contain corresponding cookies from web browser
13-
leetcode_session = os.environ["LEETCODE_SESSION_ID"]
15+
leetcode_session: str = os.environ["LEETCODE_SESSION_ID"]
1416

15-
csrf_token = leetcode.auth.get_csrf_cookie(leetcode_session)
17+
csrf_token: str = leetcode.auth.get_csrf_cookie(leetcode_session)
1618

1719
configuration.api_key["x-csrftoken"] = csrf_token
1820
configuration.api_key["csrftoken"] = csrf_token

leetcode/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,26 @@
2222
from leetcode.configuration import Configuration
2323

2424
# import models into sdk package
25+
from leetcode.models.any_of_graphql_query_variables import AnyOfGraphqlQueryVariables
2526
from leetcode.models.any_of_graphql_question_detail_solution import (
2627
AnyOfGraphqlQuestionDetailSolution,
2728
)
2829
from leetcode.models.base_submission_result import BaseSubmissionResult
2930
from leetcode.models.difficulty import Difficulty
3031
from leetcode.models.graphql_data import GraphqlData
32+
from leetcode.models.graphql_problemset_question_list import (
33+
GraphqlProblemsetQuestionList,
34+
)
3135
from leetcode.models.graphql_query import GraphqlQuery
36+
from leetcode.models.graphql_query_get_question_detail_variables import (
37+
GraphqlQueryGetQuestionDetailVariables,
38+
)
39+
from leetcode.models.graphql_query_problemset_question_list_variables import (
40+
GraphqlQueryProblemsetQuestionListVariables,
41+
)
42+
from leetcode.models.graphql_query_problemset_question_list_variables_filter_input import (
43+
GraphqlQueryProblemsetQuestionListVariablesFilterInput,
44+
)
3245
from leetcode.models.graphql_query_variables import GraphqlQueryVariables
3346
from leetcode.models.graphql_question_code_snippet import GraphqlQuestionCodeSnippet
3447
from leetcode.models.graphql_question_contributor import GraphqlQuestionContributor

leetcode/models/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,26 @@
1414
from __future__ import absolute_import
1515

1616
# import models into model package
17+
from leetcode.models.any_of_graphql_query_variables import AnyOfGraphqlQueryVariables
1718
from leetcode.models.any_of_graphql_question_detail_solution import (
1819
AnyOfGraphqlQuestionDetailSolution,
1920
)
2021
from leetcode.models.base_submission_result import BaseSubmissionResult
2122
from leetcode.models.difficulty import Difficulty
2223
from leetcode.models.graphql_data import GraphqlData
24+
from leetcode.models.graphql_problemset_question_list import (
25+
GraphqlProblemsetQuestionList,
26+
)
2327
from leetcode.models.graphql_query import GraphqlQuery
28+
from leetcode.models.graphql_query_get_question_detail_variables import (
29+
GraphqlQueryGetQuestionDetailVariables,
30+
)
31+
from leetcode.models.graphql_query_problemset_question_list_variables import (
32+
GraphqlQueryProblemsetQuestionListVariables,
33+
)
34+
from leetcode.models.graphql_query_problemset_question_list_variables_filter_input import (
35+
GraphqlQueryProblemsetQuestionListVariablesFilterInput,
36+
)
2437
from leetcode.models.graphql_query_variables import GraphqlQueryVariables
2538
from leetcode.models.graphql_question_code_snippet import GraphqlQuestionCodeSnippet
2639
from leetcode.models.graphql_question_contributor import GraphqlQuestionContributor
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# coding: utf-8
2+
3+
"""
4+
Leetcode API
5+
6+
Leetcode API implementation. # noqa: E501
7+
8+
OpenAPI spec version: 1.0.1-1
9+
Contact: pv.safronov@gmail.com
10+
Generated by: https://github.com/swagger-api/swagger-codegen.git
11+
"""
12+
from __future__ import annotations
13+
14+
import pprint
15+
import re # noqa: F401
16+
17+
import six
18+
19+
20+
class AnyOfGraphqlQueryVariables(object):
21+
"""NOTE: This class is auto generated by the swagger code generator program.
22+
23+
Do not edit the class manually.
24+
"""
25+
26+
"""
27+
Attributes:
28+
swagger_types (dict): The key is attribute name
29+
and the value is attribute type.
30+
attribute_map (dict): The key is attribute name
31+
and the value is json key in definition.
32+
"""
33+
swagger_types = {}
34+
35+
attribute_map = {}
36+
37+
def __init__(self) -> None: # noqa: E501
38+
"""AnyOfGraphqlQueryVariables - a model defined in Swagger""" # noqa: E501
39+
self.discriminator = None
40+
41+
def to_dict(self):
42+
"""Returns the model properties as a dict"""
43+
result = {}
44+
45+
for attr, _ in six.iteritems(self.swagger_types):
46+
value = getattr(self, attr)
47+
if isinstance(value, list):
48+
result[attr] = list(
49+
map(lambda x: x.to_dict() if hasattr(x, "to_dict") else x, value)
50+
)
51+
elif hasattr(value, "to_dict"):
52+
result[attr] = value.to_dict()
53+
elif isinstance(value, dict):
54+
result[attr] = dict(
55+
map(
56+
lambda item: (item[0], item[1].to_dict())
57+
if hasattr(item[1], "to_dict")
58+
else item,
59+
value.items(),
60+
)
61+
)
62+
else:
63+
result[attr] = value
64+
if issubclass(AnyOfGraphqlQueryVariables, dict):
65+
for key, value in self.items():
66+
result[key] = value
67+
68+
return result
69+
70+
def to_str(self) -> str:
71+
"""Returns the string representation of the model"""
72+
return pprint.pformat(self.to_dict())
73+
74+
def __repr__(self) -> str:
75+
"""For `print` and `pprint`"""
76+
return self.to_str()
77+
78+
def __eq__(self, other: AnyOfGraphqlQueryVariables) -> bool:
79+
"""Returns true if both objects are equal"""
80+
if not isinstance(other, AnyOfGraphqlQueryVariables):
81+
return False
82+
83+
return self.__dict__ == other.__dict__
84+
85+
def __ne__(self, other) -> bool:
86+
"""Returns true if both objects are not equal"""
87+
return not self == other

leetcode/models/graphql_data.py

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,32 @@ class GraphqlData(object):
3030
attribute_map (dict): The key is attribute name
3131
and the value is json key in definition.
3232
"""
33-
swagger_types = {"question": "GraphqlQuestionDetail", "user": "GraphqlUser"}
34-
35-
attribute_map = {"question": "question", "user": "user"}
36-
37-
def __init__(self, question=None, user=None) -> None: # noqa: E501
33+
swagger_types = {
34+
"question": "GraphqlQuestionDetail",
35+
"user": "GraphqlUser",
36+
"problemset_question_list": "GraphqlProblemsetQuestionList",
37+
}
38+
39+
attribute_map = {
40+
"question": "question",
41+
"user": "user",
42+
"problemset_question_list": "problemsetQuestionList",
43+
}
44+
45+
def __init__(
46+
self, question=None, user=None, problemset_question_list=None
47+
) -> None: # noqa: E501
3848
"""GraphqlData - a model defined in Swagger""" # noqa: E501
3949
self._question = None
4050
self._user = None
51+
self._problemset_question_list = None
4152
self.discriminator = None
4253
if question is not None:
4354
self.question = question
4455
if user is not None:
4556
self.user = user
57+
if problemset_question_list is not None:
58+
self.problemset_question_list = problemset_question_list
4659

4760
@property
4861
def question(self):
@@ -86,6 +99,27 @@ def user(self, user):
8699

87100
self._user = user
88101

102+
@property
103+
def problemset_question_list(self):
104+
"""Gets the problemset_question_list of this GraphqlData. # noqa: E501
105+
106+
107+
:return: The problemset_question_list of this GraphqlData. # noqa: E501
108+
:rtype: GraphqlProblemsetQuestionList
109+
"""
110+
return self._problemset_question_list
111+
112+
@problemset_question_list.setter
113+
def problemset_question_list(self, problemset_question_list):
114+
"""Sets the problemset_question_list of this GraphqlData.
115+
116+
117+
:param problemset_question_list: The problemset_question_list of this GraphqlData. # noqa: E501
118+
:type: GraphqlProblemsetQuestionList
119+
"""
120+
121+
self._problemset_question_list = problemset_question_list
122+
89123
def to_dict(self):
90124
"""Returns the model properties as a dict"""
91125
result = {}

0 commit comments

Comments
 (0)