Skip to content

Commit 254d383

Browse files
committed
Address Flake8 Error
1 parent 2d97035 commit 254d383

File tree

1 file changed

+34
-14
lines changed

1 file changed

+34
-14
lines changed

experiment.py

+34-14
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,44 @@
1313
"operationName": "OffersContext_Offers_And_Items",
1414
"variables": {"pageSize": 999},
1515
"extensions": {},
16-
"query": "query OffersContext_Offers_And_Items($dateOverride: Time, $pageSize: Int) {\n inGameLoot: items(\n collectionType: LOOT\n dateOverride: $dateOverride\n pageSize: $pageSize\n ) {\n items {\n ...Item\n __typename\n }\n __typename\n }\n}\n\nfragment Item on Item {\n id\n isDirectEntitlement\n requiresLinkBeforeClaim\n grantsCode\n isDeepLink\n isFGWP\n offers {\n ...Item_Offer\n __typename\n }\n game {\n ...Game\n __typename\n }\n __typename\n}\n\n\nfragment Item_Offer on Offer {\n id\n offerSelfConnection {\n eligibility {\n ...Item_Offer_Eligibility\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment Item_Offer_Eligibility on OfferEligibility {\n isClaimed\n canClaim\n missingRequiredAccountLink\n}\n\nfragment Game on GameV2 {\n id\n assets {\n title\n publisher\n }\n}\n",
16+
"query": "query OffersContext_Offers_And_Items($dateOverride: Time, $pageSize: Int) {\n inGameLoot: items(\n collectionType: LOOT\n dateOverride: $dateOverride\n pageSize: $pageSize\n ) {\n items {\n ...Item\n __typename\n }\n __typename\n }\n}\n\nfragment Item on Item {\n id\n isDirectEntitlement\n requiresLinkBeforeClaim\n grantsCode\n isDeepLink\n isFGWP\n offers {\n ...Item_Offer\n __typename\n }\n game {\n ...Game\n __typename\n }\n __typename\n}\n\n\nfragment Item_Offer on Offer {\n id\n offerSelfConnection {\n eligibility {\n ...Item_Offer_Eligibility\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment Item_Offer_Eligibility on OfferEligibility {\n isClaimed\n canClaim\n missingRequiredAccountLink\n}\n\nfragment Game on GameV2 {\n id\n assets {\n title\n publisher\n }\n}\n", # noqa: E501 TODO: This needs to become a non \n formatted string somewhere, just not doing it now
1717
}
1818

1919

20-
async def claim_offer(offer_id: str, item: dict, client: httpx.AsyncClient, headers: dict) -> True:
21-
if item["offers"][0]["offerSelfConnection"]["eligibility"]["isClaimed"] != True:
20+
async def claim_offer(
21+
offer_id: str, item: dict, client: httpx.AsyncClient, headers: dict
22+
) -> True:
23+
if not item["offers"][0]["offerSelfConnection"]["eligibility"]["isClaimed"]:
2224
if (
23-
item["offers"][0]["offerSelfConnection"]["eligibility"]["canClaim"] == False
24-
and item["offers"][0]["offerSelfConnection"]["eligibility"]["missingRequiredAccountLink"] == True
25+
item["offers"][0]["offerSelfConnection"]["eligibility"]["canClaim"] is False
26+
and item["offers"][0]["offerSelfConnection"]["eligibility"][
27+
"missingRequiredAccountLink"
28+
]
29+
is True
2530
):
26-
log.error(f"Cannot collect game `{item['game']['assets']['title']}`, account link required.")
31+
log.error(
32+
f"Cannot collect game `{item['game']['assets']['title']}`, account link required."
33+
)
2734
return
2835
log.info(f"Collecting offer for {item['game']['assets']['title']}")
2936
claim_payload = {
3037
"operationName": "placeOrdersDetailPage",
3138
"variables": {
3239
"input": {
3340
"offerIds": [offer_id],
34-
"attributionChannel": '{"eventId":"ItemDetailRootPage:' + offer_id + '","page":"ItemDetailPage"}',
41+
"attributionChannel": '{"eventId":"ItemDetailRootPage:'
42+
+ offer_id
43+
+ '","page":"ItemDetailPage"}',
3544
}
3645
},
3746
"extensions": {},
38-
"query": "fragment Place_Orders_Payload_Order_Information on OfferOrderInformation {\n catalogOfferId\n claimCode\n entitledAccountId\n entitledAccountName\n id\n orderDate\n orderState\n __typename\n}\n\nmutation placeOrdersDetailPage($input: PlaceOrdersInput!) {\n placeOrders(input: $input) {\n error {\n code\n __typename\n }\n orderInformation {\n ...Place_Orders_Payload_Order_Information\n __typename\n }\n __typename\n }\n}\n",
47+
"query": "fragment Place_Orders_Payload_Order_Information on OfferOrderInformation {\n catalogOfferId\n claimCode\n entitledAccountId\n entitledAccountName\n id\n orderDate\n orderState\n __typename\n}\n\nmutation placeOrdersDetailPage($input: PlaceOrdersInput!) {\n placeOrders(input: $input) {\n error {\n code\n __typename\n }\n orderInformation {\n ...Place_Orders_Payload_Order_Information\n __typename\n }\n __typename\n }\n}\n", # noqa: E501 TODO: This needs to become a non \n formatted string somewhere, just not doing it now
3948
}
4049

41-
response = await client.post(gql_url, headers=headers, data=json.dumps(claim_payload))
42-
if response.json()["data"]["placeOrders"]["error"] != None:
50+
response = await client.post(
51+
gql_url, headers=headers, data=json.dumps(claim_payload)
52+
)
53+
if response.json()["data"]["placeOrders"]["error"] is not None:
4354
log.error(f"Error: {response.json()['data']['placeOrders']['error']}")
4455

4556

@@ -57,13 +68,22 @@ async def primelooter(cookie_file):
5768
for _c in jar:
5869
client.cookies.jar.set_cookie(_c)
5970

60-
html_body = (await client.get("https://gaming.amazon.com/home", headers=base_headers)).text
71+
html_body = (
72+
await client.get("https://gaming.amazon.com/home", headers=base_headers)
73+
).text
6174
matches = re.findall(r"name='csrf-key' value='(.*)'", html_body)
6275
json_headers["csrf-token"] = matches[0]
6376

64-
response = await client.post(gql_url, headers=json_headers, data=json.dumps(offers_payload))
77+
response = await client.post(
78+
gql_url, headers=json_headers, data=json.dumps(offers_payload)
79+
)
6580
data = response.json()["data"]["inGameLoot"]["items"]
6681

67-
coros = await asyncio.gather(
68-
*[claim_offer(item["offers"][0]["id"], item, client, json_headers) for item in data]
82+
# although insanely low, python WILL garbage collect running coroutines if their references
83+
# aren't stored somewhere, therefore we noqa the Flake8 issue yelling at us about it.
84+
coros = await asyncio.gather( # noqa: F841
85+
*[
86+
claim_offer(item["offers"][0]["id"], item, client, json_headers)
87+
for item in data
88+
]
6989
)

0 commit comments

Comments
 (0)