Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b3789ef

Browse filesBrowse files
authored
Using GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (#556)
1 parent b221c0e commit b3789ef
Copy full SHA for b3789ef

43 files changed

+685-725Lines changed: 685 additions & 725 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎docs/advanced/batching_requests.rst‎

Copy file name to clipboardExpand all lines: docs/advanced/batching_requests.rst
+1-1Lines changed: 1 addition & 1 deletion
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ To execute a batch of requests manually:
2424

2525
.. code-block:: python
2626
27-
request1 = GraphQLRequest("""
27+
request1 = gql("""
2828
query getContinents {
2929
continents {
3030
code
Collapse file

‎docs/code_examples/appsync/mutation_api_key.py‎

Copy file name to clipboardExpand all lines: docs/code_examples/appsync/mutation_api_key.py
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ async def main():
4646
}"""
4747
)
4848

49-
variable_values = {"message": "Hello world!"}
49+
query.variable_values = {"message": "Hello world!"}
5050

51-
result = await session.execute(query, variable_values=variable_values)
51+
result = await session.execute(query)
5252
print(result)
5353

5454

Collapse file

‎docs/code_examples/appsync/mutation_iam.py‎

Copy file name to clipboardExpand all lines: docs/code_examples/appsync/mutation_iam.py
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ async def main():
4545
}"""
4646
)
4747

48-
variable_values = {"message": "Hello world!"}
48+
query.variable_values = {"message": "Hello world!"}
4949

50-
result = await session.execute(query, variable_values=variable_values)
50+
result = await session.execute(query)
5151
print(result)
5252

5353

Collapse file

‎docs/code_examples/console_async.py‎

Copy file name to clipboardExpand all lines: docs/code_examples/console_async.py
+2-4Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,11 @@ async def close(self):
3535
await self._client.close_async()
3636

3737
async def get_continent_name(self, code):
38-
params = {"code": code}
38+
self.get_continent_name_query.variable_values = {"code": code}
3939

4040
assert self._session is not None
4141

42-
answer = await self._session.execute(
43-
self.get_continent_name_query, variable_values=params
44-
)
42+
answer = await self._session.execute(self.get_continent_name_query)
4543

4644
return answer.get("continent").get("name") # type: ignore
4745

Collapse file

‎docs/code_examples/fastapi_async.py‎

Copy file name to clipboardExpand all lines: docs/code_examples/fastapi_async.py
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,8 @@ async def get_continent(continent_code):
9393

9494
try:
9595
assert isinstance(client.session, ReconnectingAsyncClientSession)
96-
result = await client.session.execute(
97-
query, variable_values={"code": continent_code}
98-
)
96+
query.variable_values = {"code": continent_code}
97+
result = await client.session.execute(query)
9998
except Exception as e:
10099
log.debug(f"get_continent Error: {e}")
101100
raise HTTPException(status_code=503, detail="GraphQL backend unavailable")
Collapse file

‎docs/code_examples/reconnecting_mutation_http.py‎

Copy file name to clipboardExpand all lines: docs/code_examples/reconnecting_mutation_http.py
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ async def main():
3333
# Execute single query
3434
query = gql("mutation ($message: String!) {sendMessage(message: $message)}")
3535

36-
params = {"message": f"test {num}"}
36+
query.variable_values = {"message": f"test {num}"}
3737

3838
try:
39-
result = await session.execute(query, variable_values=params)
39+
result = await session.execute(query)
4040
print(result)
4141
except Exception as e:
4242
print(f"Received exception {e}")
Collapse file

‎docs/code_examples/reconnecting_mutation_ws.py‎

Copy file name to clipboardExpand all lines: docs/code_examples/reconnecting_mutation_ws.py
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ async def main():
3333
# Execute single query
3434
query = gql("mutation ($message: String!) {sendMessage(message: $message)}")
3535

36-
params = {"message": f"test {num}"}
36+
query.variable_values = {"message": f"test {num}"}
3737

3838
try:
39-
result = await session.execute(query, variable_values=params)
39+
result = await session.execute(query)
4040
print(result)
4141
except Exception as e:
4242
print(f"Received exception {e}")
Collapse file

‎docs/usage/custom_scalars_and_enums.rst‎

Copy file name to clipboardExpand all lines: docs/usage/custom_scalars_and_enums.rst
+9-14Lines changed: 9 additions & 14 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,11 @@ In a variable
203203
204204
query = gql("query shift5days($time: Datetime) {shiftDays(time: $time, days: 5)}")
205205
206-
variable_values = {
206+
query.variable_values = {
207207
"time": "2021-11-12T11:58:13.461161",
208208
}
209209
210-
result = client.execute(query, variable_values=variable_values)
210+
result = client.execute(query)
211211
212212
- enum:
213213

@@ -220,11 +220,11 @@ In a variable
220220
}"""
221221
)
222222
223-
variable_values = {
223+
query.variable_values = {
224224
"color": 'RED',
225225
}
226226
227-
result = client.execute(query, variable_values=variable_values)
227+
result = client.execute(query)
228228
229229
Automatically
230230
^^^^^^^^^^^^^
@@ -256,12 +256,10 @@ Examples:
256256
query = gql("query shift5days($time: Datetime) {shiftDays(time: $time, days: 5)}")
257257
258258
# the argument for time is a datetime instance
259-
variable_values = {"time": datetime.now()}
259+
query.variable_values = {"time": datetime.now()}
260260
261261
# we execute the query with serialize_variables set to True
262-
result = await session.execute(
263-
query, variable_values=variable_values, serialize_variables=True
264-
)
262+
result = await session.execute(query, serialize_variables=True)
265263
266264
- enums:
267265

@@ -285,14 +283,12 @@ Examples:
285283
)
286284
287285
# the argument for time is an instance of our Enum type
288-
variable_values = {
286+
query.variable_values = {
289287
"color": Color.RED,
290288
}
291289
292290
# we execute the query with serialize_variables set to True
293-
result = client.execute(
294-
query, variable_values=variable_values, serialize_variables=True
295-
)
291+
result = client.execute(query, serialize_variables=True)
296292
297293
Parsing output
298294
--------------
@@ -319,11 +315,10 @@ Same example as above, with result parsing enabled:
319315
320316
query = gql("query shift5days($time: Datetime) {shiftDays(time: $time, days: 5)}")
321317
322-
variable_values = {"time": datetime.now()}
318+
query.variable_values = {"time": datetime.now()}
323319
324320
result = await session.execute(
325321
query,
326-
variable_values=variable_values,
327322
serialize_variables=True,
328323
parse_result=True,
329324
)
Collapse file

‎docs/usage/file_upload.rst‎

Copy file name to clipboardExpand all lines: docs/usage/file_upload.rst
+13-23Lines changed: 13 additions & 23 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ In order to upload a single file, you need to:
1515

1616
* set the file as a variable value in the mutation
1717
* create a :class:`FileVar <gql.FileVar>` object with your file path
18-
* provide the `FileVar` instance to the `variable_values` argument of `execute`
18+
* provide the `FileVar` instance to the `variable_values` attribute of your query
1919
* set the `upload_files` argument to True
2020

2121
.. code-block:: python
@@ -37,11 +37,9 @@ In order to upload a single file, you need to:
3737
}
3838
''')
3939
40-
params = {"file": FileVar("YOUR_FILE_PATH")}
40+
query.variable_values = {"file": FileVar("YOUR_FILE_PATH")}
4141
42-
result = client.execute(
43-
query, variable_values=params, upload_files=True
44-
)
42+
result = client.execute(query, upload_files=True)
4543
4644
Setting the content-type
4745
^^^^^^^^^^^^^^^^^^^^^^^^
@@ -97,11 +95,9 @@ It is also possible to upload multiple files using a list.
9795
f1 = FileVar("YOUR_FILE_PATH_1")
9896
f2 = FileVar("YOUR_FILE_PATH_2")
9997
100-
params = {"files": [f1, f2]}
98+
query.variable_values = {"files": [f1, f2]}
10199
102-
result = client.execute(
103-
query, variable_values=params, upload_files=True
104-
)
100+
result = client.execute(query, upload_files=True)
105101
106102
107103
Streaming
@@ -150,11 +146,9 @@ setting the `streaming` argument of :class:`FileVar <gql.FileVar>` to `True`
150146
streaming=True,
151147
)
152148
153-
params = {"file": f1}
149+
query.variable_values = {"file": f1}
154150
155-
result = client.execute(
156-
query, variable_values=params, upload_files=True
157-
)
151+
result = client.execute(query, upload_files=True)
158152
159153
Another option is to use an async generator to provide parts of the file.
160154

@@ -172,11 +166,9 @@ to read the files in chunks and create this asynchronous generator.
172166
yield chunk
173167
174168
f1 = FileVar(file_sender(file_name='YOUR_FILE_PATH'))
175-
params = {"file": f1}
169+
query.variable_values = {"file": f1}
176170
177-
result = client.execute(
178-
query, variable_values=params, upload_files=True
179-
)
171+
result = client.execute(query, upload_files=True)
180172
181173
Streaming downloaded files
182174
^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -193,7 +185,7 @@ In order to do that, you need to:
193185

194186
* get the response from an aiohttp request and then get the StreamReader instance
195187
from `resp.content`
196-
* provide the StreamReader instance to the `variable_values` argument of `execute`
188+
* provide the StreamReader instance to the `variable_values` attribute of your query
197189

198190
Example:
199191

@@ -204,7 +196,7 @@ Example:
204196
async with http_client.get('YOUR_DOWNLOAD_URL') as resp:
205197
206198
# We now have a StreamReader instance in resp.content
207-
# and we provide it to the variable_values argument of execute
199+
# and we provide it to the variable_values attribute of the query
208200
209201
transport = AIOHTTPTransport(url='YOUR_GRAPHQL_URL')
210202
@@ -218,8 +210,6 @@ Example:
218210
}
219211
''')
220212
221-
params = {"file": FileVar(resp.content)}
213+
query.variable_values = {"file": FileVar(resp.content)}
222214
223-
result = client.execute(
224-
query, variable_values=params, upload_files=True
225-
)
215+
result = client.execute(query, upload_files=True)
Collapse file

‎docs/usage/variables.rst‎

Copy file name to clipboardExpand all lines: docs/usage/variables.rst
+5-5Lines changed: 5 additions & 5 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Using variables
22
===============
33

44
It is possible to provide variable values with your query by providing a Dict to
5-
the variable_values argument of the `execute` or the `subscribe` methods.
5+
the variable_values attribute of your query.
66

77
The variable values will be sent alongside the query in the transport message
88
(there is no local substitution).
@@ -19,14 +19,14 @@ The variable values will be sent alongside the query in the transport message
1919
"""
2020
)
2121
22-
params = {"code": "EU"}
22+
query.variable_values = {"code": "EU"}
2323
2424
# Get name of continent with code "EU"
25-
result = client.execute(query, variable_values=params)
25+
result = client.execute(query)
2626
print(result)
2727
28-
params = {"code": "AF"}
28+
query.variable_values = {"code": "AF"}
2929
3030
# Get name of continent with code "AF"
31-
result = client.execute(query, variable_values=params)
31+
result = client.execute(query)
3232
print(result)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.