Skip to content

Commit eb2d436

Browse files
authored
Support continuation token in paging (#3050)
* update nextlinkname * Update dependencies (2025-03-04 07:40:05) * Regenerate for typespec-python (2025-03-04 07:44:33) * Regenerate for autorest.python (2025-03-04 07:58:39) * Update dependencies (2025-03-04 08:20:16) * Regenerate for typespec-python (2025-03-04 08:24:43) * Update dependencies (2025-03-07 03:42:15) * Regenerate for typespec-python (2025-03-07 03:46:47) * Update dependencies (2025-03-10 03:34:51) * Regenerate for typespec-python (2025-03-10 03:39:23) * Update dependencies (2025-03-13 04:52:40) * Regenerate for typespec-python (2025-03-13 04:57:17) * Update dependencies (2025-03-13 10:58:50) * update * update --------- Co-authored-by: AutoPrFromHttpClientPython <AutoPrFromHttpClientPython>
1 parent cb913cb commit eb2d436

File tree

41 files changed

+925
-1122
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+925
-1122
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
changeKind: feature
3+
packages:
4+
- "@autorest/python"
5+
- "@azure-tools/typespec-python"
6+
---
7+
8+
Support continuation token for paging

Diff for: packages/autorest.python/autorest/m4reformatter/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ def update_operation(self, group_name: str, yaml_data: Dict[str, Any]) -> List[D
551551
def add_paging_information(self, group_name: str, operation: Dict[str, Any], yaml_data: Dict[str, Any]) -> None:
552552
operation["discriminator"] = "paging"
553553
operation["itemName"] = yaml_data["extensions"]["x-ms-pageable"].get("itemName", "value")
554-
operation["continuationTokenName"] = yaml_data["extensions"]["x-ms-pageable"].get("nextLinkName")
554+
operation["nextLinkName"] = yaml_data["extensions"]["x-ms-pageable"].get("nextLinkName")
555555
returned_response_object = (
556556
operation["nextOperation"]["responses"][0] if operation.get("nextOperation") else operation["responses"][0]
557557
)

Diff for: packages/autorest.python/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
},
3030
"homepage": "https://github.com/Azure/autorest.python/blob/main/README.md",
3131
"dependencies": {
32-
"@typespec/http-client-python": "~0.7.1",
32+
"@typespec/http-client-python": "~0.8.0",
3333
"@autorest/system-requirements": "~1.0.2",
3434
"fs-extra": "~11.2.0",
3535
"tsx": "~4.19.1"

Diff for: packages/autorest.python/samples/specification/directives/generated/azure/directives/sample/_operations/_operations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ def prepare_request(next_link=None):
322322

323323
def extract_data(pipeline_response):
324324
deserialized = pipeline_response.http_response.json()
325-
list_of_elem = deserialized["value"]
325+
list_of_elem = deserialized.get("value", [])
326326
if cls:
327327
list_of_elem = cls(list_of_elem) # type: ignore
328328
return deserialized.get("nextLink") or None, iter(list_of_elem)

Diff for: packages/autorest.python/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_operations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ def prepare_request(next_link=None):
298298

299299
async def extract_data(pipeline_response):
300300
deserialized = pipeline_response.http_response.json()
301-
list_of_elem = deserialized["value"]
301+
list_of_elem = deserialized.get("value", [])
302302
if cls:
303303
list_of_elem = cls(list_of_elem) # type: ignore
304304
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)

Diff for: packages/autorest.python/test/azure/version-tolerant/Expected/AcceptanceTests/CustomPollerPagerVersionTolerant/custompollerpagerversiontolerant/aio/operations/_operations.py

+23-23
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def prepare_request(next_link=None):
164164

165165
async def extract_data(pipeline_response):
166166
deserialized = pipeline_response.http_response.json()
167-
list_of_elem = deserialized["value"]
167+
list_of_elem = deserialized.get("value", [])
168168
if cls:
169169
list_of_elem = cls(list_of_elem) # type: ignore
170170
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -246,7 +246,7 @@ def prepare_request(next_link=None):
246246

247247
async def extract_data(pipeline_response):
248248
deserialized = pipeline_response.http_response.json()
249-
list_of_elem = deserialized["value"]
249+
list_of_elem = deserialized.get("value", [])
250250
if cls:
251251
list_of_elem = cls(list_of_elem) # type: ignore
252252
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -328,7 +328,7 @@ def prepare_request(next_link=None):
328328

329329
async def extract_data(pipeline_response):
330330
deserialized = pipeline_response.http_response.json()
331-
list_of_elem = deserialized["values"]
331+
list_of_elem = deserialized.get("values", [])
332332
if cls:
333333
list_of_elem = cls(list_of_elem) # type: ignore
334334
return None, AsyncList(list_of_elem)
@@ -410,7 +410,7 @@ def prepare_request(next_link=None):
410410

411411
async def extract_data(pipeline_response):
412412
deserialized = pipeline_response.http_response.json()
413-
list_of_elem = deserialized["values"]
413+
list_of_elem = deserialized.get("values", [])
414414
if cls:
415415
list_of_elem = cls(list_of_elem) # type: ignore
416416
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -572,7 +572,7 @@ def prepare_request(next_link=None):
572572

573573
async def extract_data(pipeline_response):
574574
deserialized = pipeline_response.http_response.json()
575-
list_of_elem = deserialized["values"]
575+
list_of_elem = deserialized.get("values", [])
576576
if cls:
577577
list_of_elem = cls(list_of_elem) # type: ignore
578578
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -655,7 +655,7 @@ def prepare_request(next_link=None):
655655

656656
async def extract_data(pipeline_response):
657657
deserialized = pipeline_response.http_response.json()
658-
list_of_elem = deserialized["value"]
658+
list_of_elem = deserialized.get("value", [])
659659
if cls:
660660
list_of_elem = cls(list_of_elem) # type: ignore
661661
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -747,7 +747,7 @@ def prepare_request(next_link=None):
747747

748748
async def extract_data(pipeline_response):
749749
deserialized = pipeline_response.http_response.json()
750-
list_of_elem = deserialized["values"]
750+
list_of_elem = deserialized.get("values", [])
751751
if cls:
752752
list_of_elem = cls(list_of_elem) # type: ignore
753753
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -830,7 +830,7 @@ def prepare_request(next_link=None):
830830

831831
async def extract_data(pipeline_response):
832832
deserialized = pipeline_response.http_response.json()
833-
list_of_elem = deserialized["values"]
833+
list_of_elem = deserialized.get("values", [])
834834
if cls:
835835
list_of_elem = cls(list_of_elem) # type: ignore
836836
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -917,7 +917,7 @@ def prepare_request(next_link=None):
917917

918918
async def extract_data(pipeline_response):
919919
deserialized = pipeline_response.http_response.json()
920-
list_of_elem = deserialized["values"]
920+
list_of_elem = deserialized.get("values", [])
921921
if cls:
922922
list_of_elem = cls(list_of_elem) # type: ignore
923923
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1001,7 +1001,7 @@ def prepare_request(next_link=None):
10011001

10021002
async def extract_data(pipeline_response):
10031003
deserialized = pipeline_response.http_response.json()
1004-
list_of_elem = deserialized["values"]
1004+
list_of_elem = deserialized.get("values", [])
10051005
if cls:
10061006
list_of_elem = cls(list_of_elem) # type: ignore
10071007
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1093,7 +1093,7 @@ def prepare_request(next_link=None):
10931093

10941094
async def extract_data(pipeline_response):
10951095
deserialized = pipeline_response.http_response.json()
1096-
list_of_elem = deserialized["values"]
1096+
list_of_elem = deserialized.get("values", [])
10971097
if cls:
10981098
list_of_elem = cls(list_of_elem) # type: ignore
10991099
return deserialized.get("odata.nextLink") or None, AsyncList(list_of_elem)
@@ -1188,7 +1188,7 @@ def prepare_request(next_link=None):
11881188

11891189
async def extract_data(pipeline_response):
11901190
deserialized = pipeline_response.http_response.json()
1191-
list_of_elem = deserialized["values"]
1191+
list_of_elem = deserialized.get("values", [])
11921192
if cls:
11931193
list_of_elem = cls(list_of_elem) # type: ignore
11941194
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1271,7 +1271,7 @@ def prepare_request(next_link=None):
12711271

12721272
async def extract_data(pipeline_response):
12731273
deserialized = pipeline_response.http_response.json()
1274-
list_of_elem = deserialized["values"]
1274+
list_of_elem = deserialized.get("values", [])
12751275
if cls:
12761276
list_of_elem = cls(list_of_elem) # type: ignore
12771277
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1354,7 +1354,7 @@ def prepare_request(next_link=None):
13541354

13551355
async def extract_data(pipeline_response):
13561356
deserialized = pipeline_response.http_response.json()
1357-
list_of_elem = deserialized["values"]
1357+
list_of_elem = deserialized.get("values", [])
13581358
if cls:
13591359
list_of_elem = cls(list_of_elem) # type: ignore
13601360
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1436,7 +1436,7 @@ def prepare_request(next_link=None):
14361436

14371437
async def extract_data(pipeline_response):
14381438
deserialized = pipeline_response.http_response.json()
1439-
list_of_elem = deserialized["values"]
1439+
list_of_elem = deserialized.get("values", [])
14401440
if cls:
14411441
list_of_elem = cls(list_of_elem) # type: ignore
14421442
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1518,7 +1518,7 @@ def prepare_request(next_link=None):
15181518

15191519
async def extract_data(pipeline_response):
15201520
deserialized = pipeline_response.http_response.json()
1521-
list_of_elem = deserialized["values"]
1521+
list_of_elem = deserialized.get("values", [])
15221522
if cls:
15231523
list_of_elem = cls(list_of_elem) # type: ignore
15241524
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1600,7 +1600,7 @@ def prepare_request(next_link=None):
16001600

16011601
async def extract_data(pipeline_response):
16021602
deserialized = pipeline_response.http_response.json()
1603-
list_of_elem = deserialized["values"]
1603+
list_of_elem = deserialized.get("values", [])
16041604
if cls:
16051605
list_of_elem = cls(list_of_elem) # type: ignore
16061606
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -1686,7 +1686,7 @@ def prepare_request(next_link=None):
16861686

16871687
async def extract_data(pipeline_response):
16881688
deserialized = pipeline_response.http_response.json()
1689-
list_of_elem = deserialized["values"]
1689+
list_of_elem = deserialized.get("values", [])
16901690
if cls:
16911691
list_of_elem = cls(list_of_elem) # type: ignore
16921692
return deserialized.get("odata.nextLink") or None, AsyncList(list_of_elem)
@@ -1772,7 +1772,7 @@ def prepare_request(next_link=None):
17721772

17731773
async def extract_data(pipeline_response):
17741774
deserialized = pipeline_response.http_response.json()
1775-
list_of_elem = deserialized["values"]
1775+
list_of_elem = deserialized.get("values", [])
17761776
if cls:
17771777
list_of_elem = cls(list_of_elem) # type: ignore
17781778
return deserialized.get("odata.nextLink") or None, AsyncList(list_of_elem)
@@ -1912,7 +1912,7 @@ def prepare_request(next_link=None):
19121912

19131913
async def extract_data(pipeline_response):
19141914
deserialized = pipeline_response.http_response.json()
1915-
list_of_elem = deserialized["values"]
1915+
list_of_elem = deserialized.get("values", [])
19161916
if cls:
19171917
list_of_elem = cls(list_of_elem) # type: ignore
19181918
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -2034,7 +2034,7 @@ def prepare_request(next_link=None):
20342034

20352035
async def extract_data(pipeline_response):
20362036
deserialized = pipeline_response.http_response.json()
2037-
list_of_elem = deserialized["values"]
2037+
list_of_elem = deserialized.get("values", [])
20382038
if cls:
20392039
list_of_elem = cls(list_of_elem) # type: ignore
20402040
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -2118,7 +2118,7 @@ def prepare_request(next_link=None):
21182118

21192119
async def extract_data(pipeline_response):
21202120
deserialized = pipeline_response.http_response.json()
2121-
list_of_elem = deserialized["values"]
2121+
list_of_elem = deserialized.get("values", [])
21222122
if cls:
21232123
list_of_elem = cls(list_of_elem) # type: ignore
21242124
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)
@@ -2203,7 +2203,7 @@ def prepare_request(next_link=None):
22032203

22042204
async def extract_data(pipeline_response):
22052205
deserialized = pipeline_response.http_response.json()
2206-
list_of_elem = deserialized["values"]
2206+
list_of_elem = deserialized.get("values", [])
22072207
if cls:
22082208
list_of_elem = cls(list_of_elem) # type: ignore
22092209
return deserialized.get("nextLink") or None, AsyncList(list_of_elem)

0 commit comments

Comments
 (0)