Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use OAuth Login for QBE #62

Open
egocarib opened this issue Oct 9, 2021 · 0 comments
Open

Use OAuth Login for QBE #62

egocarib opened this issue Oct 9, 2021 · 0 comments

Comments

@egocarib
Copy link
Member

egocarib commented Oct 9, 2021

We should use OAuth login for QBE, because it's recommend and more secure than "Old-school login":

This might require setting up our bot accounts slightly differently from the looks of it:

Came across this while investigating the fact that QBE seems to be fairly agressively rate limited to about 30 pages per minute, we think it might be related to the login method. According to this mediawiki page on rate limiting, using OAuth tokens with the highvolume grant would make it so QBE isn't rate limited.

Example of status quo (QBE gets rate limited every 30 pages):

OrderedDict([('result', 'Success'), ('pageid', 390), ('title', 'Brick'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2028), ('title', 'Metal wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3087), ('title', 'Tarnished chrome'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1885), ('title', 'Machine wall (hot)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3290), ('title', 'Vacuum column tape drive'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1899), ('title', 'Mainframe status panel'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1898), ('title', 'Mainframe monitor'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1897), ('title', 'Mainframe control panel'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2714), ('title', 'Shale'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2639), ('title', 'Sandstone'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1822), ('title', 'Limestone'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1918), ('title', 'Marl'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2572), ('title', 'Rock salt'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1475), ('title', 'Gypsum'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 323), ('title', 'Black shale'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 656), ('title', 'Coral rag'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2253), ('title', 'Oolite'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2715), ('title', 'Shale wall with agate deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2720), ('title', 'Shale wall with topaz deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2718), ('title', 'Shale wall with jasper deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2716), ('title', 'Shale wall with amethyst deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2719), ('title', 'Shale wall with sapphire deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2717), ('title', 'Shale wall with emerald deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2032), ('title', 'Meteorite wall with peridot deposits'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2706), ('title', 'Serpentinite'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2799), ('title', 'Slate'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 423), ('title', 'Burnished azzurum'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2459), ('title', 'Quartzite'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 319), ('title', 'Black marble'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 819), ('title', 'Dirt'), ('contentmodel', 'wikitext'), ('nochange', '')])
Page edit rate-limited. Retrying in 3 seconds...
Page edit rate-limited. Retrying in 6 seconds...
Page edit rate-limited. Retrying in 12 seconds...
Page edit rate-limited. Retrying in 24 seconds...
OrderedDict([('result', 'Success'), ('pageid', 3120), ('title', 'Thatched wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2350), ('title', 'Plant matter'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3400), ('title', 'Weathered wood'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2305), ('title', 'Petal-strewn brinestalk wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1145), ('title', 'Fluted marble column'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1167), ('title', 'Forcefield'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1163), ('title', 'Force barrier'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 10135), ('title', 'Stasis field'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 900), ('title', 'Ebon fulcrete'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2963), ('title', 'Steaming vents'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1232), ('title', 'Fuming vents'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2894), ('title', 'Sparking vents'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2679), ('title', 'Scratched vents'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3165), ('title', 'Ticking vents'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3295), ('title', 'Vents with hexagonal residue'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3297), ('title', 'Vents with moss particulate'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3296), ('title', 'Vents with mold particulate'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1207), ('title', 'Frosted pillar'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1341), ('title', 'Gilded marble from the sultanate (first period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1343), ('title', 'Gilded marble from the sultanate (second period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1344), ('title', 'Gilded marble from the sultanate (third period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1342), ('title', 'Gilded marble from the sultanate (fourth period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1340), ('title', 'Gilded marble from the sultanate (fifth period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1345), ('title', 'Gilded marble from the sultanate of Resheph'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 478), ('title', 'Carved stone from the sultanate (first period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 480), ('title', 'Carved stone from the sultanate (second period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 481), ('title', 'Carved stone from the sultanate (third period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 479), ('title', 'Carved stone from the sultanate (fourth period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 476), ('title', 'Carved stone from the sultanate (fifth period)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 482), ('title', 'Carved stone from the sultanate of Resheph'), ('contentmodel', 'wikitext'), ('nochange', '')])
Page edit rate-limited. Retrying in 3 seconds...
Page edit rate-limited. Retrying in 6 seconds...
Page edit rate-limited. Retrying in 12 seconds...
Page edit rate-limited. Retrying in 24 seconds...
OrderedDict([('result', 'Success'), ('pageid', 477), ('title', 'Carved stone from the sultanate (fifth period, ornate)'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 778), ('title', 'Debris'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1571), ('title', 'Holographic shale'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 211), ('title', 'Basalt'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1916), ('title', 'Marble wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3388), ('title', 'Wax block'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1430), ('title', 'Granite'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3082), ('title', 'Tangled mudroot'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3118), ('title', 'Tetraxenonoglass wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1570), ('title', 'Holographic marble wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1212), ('title', 'Fulcrete'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1149), ('title', 'Foamcrete'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 627), ('title', 'Concrete'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2343), ('title', 'Pigskin wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 396), ('title', 'Brinestalk wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 531), ('title', 'Charred wood'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 395), ('title', 'Brinestalk stakes'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 142), ('title', 'Arrowslit'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 450), ('title', 'Canvas'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3443), ('title', 'Wooden fence'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 3475), ('title', 'Wrought iron fence'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1866), ('title', 'Low wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 393), ('title', 'Brinestalk fence'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2135), ('title', 'Mushroom flesh'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1357), ('title', 'Glass wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2776), ('title', 'Sinister wall'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 557), ('title', 'Chrome plaque'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 1259), ('title', 'Fused security door'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2268), ('title', 'Ornately carved marble'), ('contentmodel', 'wikitext'), ('nochange', '')])
OrderedDict([('result', 'Success'), ('pageid', 2270), ('title', 'Ornately filigreed marble'), ('contentmodel', 'wikitext'), ('nochange', '')])
Page edit rate-limited. Retrying in 3 seconds...
Page edit rate-limited. Retrying in 6 seconds...
Page edit rate-limited. Retrying in 12 seconds...
Page edit rate-limited. Retrying in 24 seconds...
OrderedDict([('result', 'Success'), ('pageid', 2807), ('title', 'Sleep gas grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2808), ('title', 'Sleep gas grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2809), ('title', 'Sleep gas grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2379), ('title', 'Poison gas grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2380), ('title', 'Poison gas grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2381), ('title', 'Poison gas grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3017), ('title', 'Stun gas grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3018), ('title', 'Stun gas grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3019), ('title', 'Stun gas grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 22), ('title', 'Acid gas grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 23), ('title', 'Acid gas grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 24), ('title', 'Acid gas grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1113), ('title', 'Flashbang grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1114), ('title', 'Flashbang grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1115), ('title', 'Flashbang grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3146), ('title', 'Thermal grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3147), ('title', 'Thermal grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3148), ('title', 'Thermal grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1181), ('title', 'Freeze grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1182), ('title', 'Freeze grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1183), ('title', 'Freeze grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1527), ('title', 'High explosive grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1528), ('title', 'High explosive grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1529), ('title', 'High explosive grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 887), ('title', 'EMP grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 888), ('title', 'EMP grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 889), ('title', 'EMP grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2202), ('title', 'Normality gas grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2203), ('title', 'Normality gas grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2204), ('title', 'Normality gas grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
Page edit rate-limited. Retrying in 3 seconds...
Page edit rate-limited. Retrying in 6 seconds...
Page edit rate-limited. Retrying in 12 seconds...
Page edit rate-limited. Retrying in 24 seconds...
OrderedDict([('result', 'Success'), ('pageid', 2944), ('title', 'Stasis grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2945), ('title', 'Stasis grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2946), ('title', 'Stasis grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2545), ('title', 'Resonance grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2546), ('title', 'Resonance grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2547), ('title', 'Resonance grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 788), ('title', 'Defoliant grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 789), ('title', 'Defoliant grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 790), ('title', 'Defoliant grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1247), ('title', 'Fungicide grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1248), ('title', 'Fungicide grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1249), ('title', 'Fungicide grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2920), ('title', 'Spring-turret grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2921), ('title', 'Spring-turret grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2922), ('title', 'Spring-turret grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3169), ('title', 'Time dilation grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3170), ('title', 'Time dilation grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 3171), ('title', 'Time dilation grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1362), ('title', 'Glitter grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1363), ('title', 'Glitter grenade mk II'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1364), ('title', 'Glitter grenade mk III'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2316), ('title', 'Phase shift grenade mk I'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 1487), ('title', 'Hand-E-Nuke'), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 2880), ('title', "Sower's seed"), ('contentmodel', 'wikitext'), ('nochange', ''), ('watched', '')])
OrderedDict([('result', 'Success'), ('pageid', 10495), ('title', 'Mine'), ('contentmodel', 'wikitext'), ('nochange', '')])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant