Import recent changes and add cache file for last timestamp

This commit is contained in:
mtkennerly 2020-07-17 16:09:39 -04:00
parent f9fdb28d8b
commit 4ffe86835d
11 changed files with 227 additions and 115 deletions

View file

@ -3,8 +3,8 @@ Requires Node.js.
Generally, you just need these commands:
* Add all recent changes since a certain number of days ago:
* `npm run recent 5`
* Add all recent changes (defaults to last 7 days, but then it remembers when you last ran it):
* `npm run recent`
* Validate the manifest against the schema:
* `npm run schema`
* List some stats about the data set:

View file

@ -40004,6 +40004,11 @@ Cat Quest:
- save
when:
- os: windows
<home>/Library/Application Support/com.thegentlebros.catquest:
tags:
- save
when:
- os: mac
installDir:
Cat Quest: {}
registry:
@ -60608,6 +60613,9 @@ Death end re;Quest:
Death end reQuest: {}
steam:
id: 990050
Death end re;Quest 2:
steam:
id: 1266220
'Death from Unknown: Survival':
steam:
id: 809550
@ -86648,6 +86656,18 @@ Fernz Gate:
Fernz Gate: {}
steam:
id: 860480
Ferrari Virtual Race:
files:
<winProgramData>/Synetic/FerrariVR:
tags:
- config
when:
- os: windows
<winProgramData>/Synetic/FerrariVR/SavedGame:
tags:
- save
when:
- os: windows
Ferret Scoundrels:
installDir:
Ferret Scoundrels: {}
@ -115660,6 +115680,11 @@ I Hate Santa:
I Have Lived:
steam:
id: 1200700
'I Have Low Stats But My Class Is ''Leader'', So I Recruited Everyone I Know To Fight The Dark Lord':
installDir:
'I Have Low Stats But My Class Is Leader, So I Recruited Everyone I Know To Fight The Dark Lord': {}
steam:
id: 1176040
'I Have No Mouth, and I Must Scream':
files:
<base>/SCREAM:
@ -202419,6 +202444,11 @@ Shan Gui:
Shan Gui: {}
steam:
id: 307050
'Shan Gui II: Sweet Osmanthus II':
installDir:
Shan Gui 2: {}
steam:
id: 952420
Shank:
files:
<root>/userdata/<storeUserId>/6120/remote:
@ -211001,6 +211031,11 @@ Sonic R (2004):
- config
when:
- os: windows
<base>/keys.bin:
tags:
- config
when:
- os: windows
<base>/save:
tags:
- save
@ -212513,12 +212548,12 @@ Space Hulk Ascension:
id: 298900
'Space Hulk: Deathwing - Enhanced Edition':
files:
<home>/AppData/Local/SpaceHulkEnhanced/Saved/Config/WindowsNoEditor:
<winLocalAppData>/SpaceHulkEnhanced/Saved/Config/WindowsNoEditor:
tags:
- config
when:
- os: windows
<home>/AppData/Local/SpaceHulkEnhanced/Saved/SaveGames:
<winLocalAppData>/SpaceHulkEnhanced/Saved/SaveGames:
tags:
- save
when:
@ -225122,7 +225157,7 @@ Super Zombie Arcade:
Super Zombie Arcade: {}
steam:
id: 903640
Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗:
Super gamebear with its three girlfriends:
installDir:
SJX: {}
steam:
@ -225814,6 +225849,29 @@ Surge Radio:
Surge Radio: {}
steam:
id: 958190
Surgeon Simulator:
files:
<home>/.config/unity3d/Bossa Studios/Surgeon Simulator 2013:
tags:
- config
- save
when:
- os: linux
<home>/Library/Saved Application State/unity.Bossa Studios.Surgeon Simulator 2013.savedState:
tags:
- config
- save
when:
- os: mac
installDir:
Surgeon Simulator: {}
registry:
HKEY_CURRENT_USER/Software/Bossa Studios/Surgeon Simulator 2013:
tags:
- config
- save
steam:
id: 233720
'Surgeon Simulator VR: Meet The Medic':
installDir:
Surgeon Simulator VR Meet The Medic: {}
@ -238880,6 +238938,11 @@ The Journey Back:
- save
when:
- os: windows
<winAppData>/SkyGoblin/TheJourneyDown1/settings.cfg:
tags:
- config
when:
- os: windows
<xdgConfig>/JourneyDownOne:
tags:
- config
@ -238892,11 +238955,16 @@ The Journey Back:
id: 220090
'The Journey Down: Chapter Three':
files:
'%APPDATA%/SkyGoblin/TheJourneyDown3':
<winAppData>/SkyGoblin/TheJourneyDown3:
tags:
- save
when:
- os: windows
<winAppData>/SkyGoblin/TheJourneyDown3/settings.cfg:
tags:
- config
when:
- os: windows
installDir:
The Journey Down Chapter Three: {}
steam:

View file

@ -7674,6 +7674,7 @@
* [Death Collector](https://www.pcgamingwiki.com/wiki/?curid=123419)
* [Death Crown](https://www.pcgamingwiki.com/wiki/?curid=89704)
* [Death Dojo](https://www.pcgamingwiki.com/wiki/?curid=53041)
* [Death end re;Quest 2](https://www.pcgamingwiki.com/wiki/?curid=161908)
* [Death Field: The Battle Royale of Disaster](https://www.pcgamingwiki.com/wiki/?curid=91880)
* [Death from Unknown: Survival](https://www.pcgamingwiki.com/wiki/?curid=90324)
* [Death Fungeon](https://www.pcgamingwiki.com/wiki/?curid=103979)
@ -14830,7 +14831,7 @@
* [I Hate Santa](https://www.pcgamingwiki.com/wiki/?curid=54343)
* [I hate this game](https://www.pcgamingwiki.com/wiki/?curid=126146)
* [I Have Lived](https://www.pcgamingwiki.com/wiki/?curid=157108)
* [I Have Low Stats But My Class Is "Leader", So I Recruited Everyone I Know To Fight The Dark Lord](https://www.pcgamingwiki.com/wiki/?curid=149987)
* [I Have Low Stats But My Class Is 'Leader', So I Recruited Everyone I Know To Fight The Dark Lord](https://www.pcgamingwiki.com/wiki/?curid=149987)
* [I Know a Tale](https://www.pcgamingwiki.com/wiki/?curid=40432)
* [I Know Everything](https://www.pcgamingwiki.com/wiki/?curid=136828)
* [I LIKE THE FLOWERS](https://www.pcgamingwiki.com/wiki/?curid=144620)
@ -26173,7 +26174,7 @@
* [Shallow Space](https://www.pcgamingwiki.com/wiki/?curid=45970)
* [Shalnor Legends: Sacred Lands](https://www.pcgamingwiki.com/wiki/?curid=73050)
* [Shaman Flower](https://www.pcgamingwiki.com/wiki/?curid=64640)
* [Shan Gui 2 山桂贰](https://www.pcgamingwiki.com/wiki/?curid=114976)
* [Shan Gui II: Sweet Osmanthus II](https://www.pcgamingwiki.com/wiki/?curid=114976)
* [Shank n' Bake](https://www.pcgamingwiki.com/wiki/?curid=65132)
* [Shannon Tweed's Attack of the Groupies](https://www.pcgamingwiki.com/wiki/?curid=50496)
* [Shaolin vs Wutang](https://www.pcgamingwiki.com/wiki/?curid=38408)
@ -28830,7 +28831,7 @@
* [Super Furi Puzzles](https://www.pcgamingwiki.com/wiki/?curid=112136)
* [Super Galaxy Boy](https://www.pcgamingwiki.com/wiki/?curid=68214)
* [Super Galaxy Squadron EX](https://www.pcgamingwiki.com/wiki/?curid=38234)
* [Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗](https://www.pcgamingwiki.com/wiki/?curid=123938)
* [Super gamebear with its three girlfriends](https://www.pcgamingwiki.com/wiki/?curid=123938)
* [Super Gerry](https://www.pcgamingwiki.com/wiki/?curid=125845)
* [Super GMA](https://www.pcgamingwiki.com/wiki/?curid=104713)
* [Super Golf 2018](https://www.pcgamingwiki.com/wiki/?curid=96579)
@ -29082,7 +29083,6 @@
* [Surge (Campus ADN)](https://www.pcgamingwiki.com/wiki/?curid=137369)
* [Surge Radio](https://www.pcgamingwiki.com/wiki/?curid=148785)
* [Surgeon Simulator 2](https://www.pcgamingwiki.com/wiki/?curid=154623)
* [Surgeon Simulator 2013](https://www.pcgamingwiki.com/wiki/?curid=6579)
* [Surgeon Simulator: Experience Reality](https://www.pcgamingwiki.com/wiki/?curid=54493)
* [Surgical Study and 3D Skeletons for Medical School Students](https://www.pcgamingwiki.com/wiki/?curid=148501)
* [Surprising My Neighbors](https://www.pcgamingwiki.com/wiki/?curid=134687)

View file

@ -15420,6 +15420,7 @@
'12660':
installDir: Miss Popularity
'1266100': {}
'1266220': {}
'1266840': {}
'12670':
installDir: Mission Runway

View file

@ -11281,10 +11281,10 @@ Battlefleet Engineer:
revId: 844440
'Battlefleet Gothic: Armada':
pageId: 23013
revId: 979735
revId: 983897
'Battlefleet Gothic: Armada 2':
pageId: 95911
revId: 983248
revId: 983899
Battlegrounds of Eldhelm:
pageId: 49474
revId: 844443
@ -12285,7 +12285,7 @@ Beyond Minimalism:
revId: 934432
Beyond Oasis:
pageId: 30866
revId: 969214
revId: 983792
Beyond Power VR:
pageId: 40329
revId: 844728
@ -17509,7 +17509,7 @@ Call of Duty 2:
revId: 981196
'Call of Duty: Black Ops':
pageId: 1654
revId: 971492
revId: 983992
'Call of Duty: Black Ops II':
pageId: 3457
revId: 977652
@ -18275,7 +18275,7 @@ Carrier Trail:
revId: 846619
Carrion:
pageId: 139686
revId: 983245
revId: 983793
Carrotting Brain:
pageId: 45922
revId: 846621
@ -18660,10 +18660,10 @@ Cat Notebook:
revId: 884077
Cat Quest:
pageId: 65118
revId: 965422
revId: 983778
Cat Quest II:
pageId: 132805
revId: 983751
revId: 983784
Cat Simulator:
pageId: 44629
revId: 929846
@ -24083,7 +24083,7 @@ CreatorCrate:
revId: 848332
Creatura:
pageId: 80711
revId: 979568
revId: 983973
Creature Card Idle:
pageId: 153901
revId: 916653
@ -27509,7 +27509,7 @@ Dead Age:
revId: 961426
Dead Age 2:
pageId: 154235
revId: 983554
revId: 983905
Dead Alliance:
pageId: 66089
revId: 849306
@ -28187,7 +28187,7 @@ Death Stair:
revId: 849517
Death Stranding:
pageId: 151674
revId: 983774
revId: 983893
Death Sword:
pageId: 76506
revId: 964739
@ -28232,7 +28232,10 @@ Death by Game Show:
revId: 849527
Death end re;Quest:
pageId: 130527
revId: 983527
revId: 983982
Death end re;Quest 2:
pageId: 161908
revId: 983979
'Death from Unknown: Survival':
pageId: 90324
revId: 849529
@ -34158,7 +34161,7 @@ Dwarflings:
revId: 851455
Dwarfs!?:
pageId: 4762
revId: 982201
revId: 983915
Dwarrows:
pageId: 67661
revId: 969344
@ -34244,11 +34247,11 @@ Dynasty Feud:
'Dynasty Warriors 4: Hyper':
irregularPath: true
pageId: 16672
revId: 983225
revId: 983818
Dynasty Warriors 5 Special:
irregularPath: true
pageId: 111468
revId: 983077
revId: 983817
Dynasty Warriors 6:
irregularPath: true
pageId: 5157
@ -35352,7 +35355,7 @@ Eldevin:
revId: 851780
Eldritch:
pageId: 17365
revId: 929841
revId: 983887
Eldritch Academy:
pageId: 128515
revId: 851782
@ -35772,7 +35775,7 @@ EmbodyMe:
revId: 851905
Embr:
pageId: 136068
revId: 981937
revId: 983800
'Embrace of Ocean: Story of Hope':
pageId: 66428
revId: 851907
@ -37346,10 +37349,10 @@ Euclidean Skies:
revId: 852368
Eufloria:
pageId: 63
revId: 934004
revId: 983891
Eufloria HD:
pageId: 38353
revId: 934005
revId: 983890
Eugenics:
pageId: 122682
revId: 852371
@ -37376,19 +37379,19 @@ Eurofighter Typhoon:
revId: 938031
Europa Universalis:
pageId: 23215
revId: 926304
revId: 983876
Europa Universalis II:
pageId: 25667
revId: 926305
revId: 983878
Europa Universalis III:
pageId: 3197
revId: 976826
revId: 983880
Europa Universalis IV:
pageId: 9100
revId: 977756
revId: 983883
'Europa Universalis: Rome':
pageId: 15539
revId: 926307
revId: 983885
tooBroad: true
Europe Racing:
pageId: 88291
@ -38267,19 +38270,19 @@ F-22 Lightning 3:
revId: 917592
F.E.A.R.:
pageId: 1345
revId: 960248
revId: 983853
'F.E.A.R. 2: Project Origin':
pageId: 1860
revId: 928749
revId: 983856
F.E.A.R. 3:
pageId: 1858
revId: 983667
revId: 983858
F.E.A.R. Online:
pageId: 20158
revId: 852671
revId: 983860
F.E.A.R. Perseus Mandate:
pageId: 1362
revId: 960250
revId: 983855
F.E.X (Forced Evolution Experiment):
pageId: 68136
revId: 852673
@ -38612,7 +38615,7 @@ FSX SpacePort:
revId: 852740
'FTL: Faster Than Light':
pageId: 3559
revId: 965390
revId: 983941
FUBAR:
pageId: 138817
revId: 852742
@ -38804,7 +38807,7 @@ Faerie Solitaire Remastered:
revId: 905772
Fahrenheit:
pageId: 4137
revId: 970307
revId: 983916
'Fahrenheit: Indigo Prophecy Remastered':
pageId: 22434
revId: 960652
@ -38858,6 +38861,8 @@ Fairy Fencer F:
revId: 982514
'Fairy Fencer F: Advent Dark Force':
pageId: 57452
renamedFrom:
- Fairy Fencer F Advent Dark Force
revId: 982517
'Fairy Godmother Stories: Cinderella':
pageId: 153042
@ -39140,7 +39145,7 @@ Fallout 4 VR:
revId: 972307
Fallout 76:
pageId: 95739
revId: 981975
revId: 983948
Fallout Shelter:
pageId: 33356
revId: 960659
@ -39906,7 +39911,7 @@ Fatman Simulator:
revId: 853142
Fatty Bear's Birthday Surprise:
pageId: 37638
revId: 964797
revId: 983917
Fatty Bear's Fun Pack:
pageId: 147372
revId: 964798
@ -40171,6 +40176,9 @@ Fernbus Simulator:
Fernz Gate:
pageId: 99914
revId: 853222
Ferrari Virtual Race:
pageId: 161877
revId: 983362
Ferret Scoundrels:
pageId: 135008
revId: 853223
@ -42042,7 +42050,7 @@ For a Better Country:
revId: 840692
'For the Glory: A Europa Universalis Game':
pageId: 22254
revId: 926308
revId: 983882
For the King:
pageId: 56288
revId: 980721
@ -42560,7 +42568,7 @@ Foto Flash 2:
revId: 853953
Fotonica:
pageId: 5497
revId: 929929
revId: 983821
Foul Play:
pageId: 10228
revId: 942107
@ -42968,10 +42976,10 @@ Freedom Locomotion VR:
revId: 854084
Freedom Planet:
pageId: 18561
revId: 933437
revId: 983824
Freedom Planet 2:
pageId: 31119
revId: 919766
revId: 983823
Freedom Poopie:
pageId: 46040
revId: 854088
@ -43347,13 +43355,13 @@ Frozen State:
revId: 854196
Frozen Synapse:
pageId: 3030
revId: 926501
revId: 983862
Frozen Synapse 2:
pageId: 39436
revId: 926500
revId: 983864
Frozen Synapse Prime:
pageId: 20855
revId: 926499
revId: 983863
Frqncy:
pageId: 102559
revId: 854201
@ -45200,7 +45208,7 @@ Geometry Boxer:
revId: 854733
Geometry Dash:
pageId: 25652
revId: 980327
revId: 983866
'Geometry Defense: Infinite':
pageId: 98700
revId: 854735
@ -46303,7 +46311,7 @@ God Hand:
revId: 855072
God Mode:
pageId: 6316
revId: 934129
revId: 983870
God Monster:
pageId: 127379
revId: 855074
@ -47438,7 +47446,7 @@ Greece Defense TD:
revId: 855393
Greed Corp:
pageId: 13415
revId: 983770
revId: 983820
'Greed: Black Border':
pageId: 26031
revId: 948655
@ -47541,10 +47549,10 @@ Gregory and the Hot Air Balloon:
revId: 855423
Gremlins vs Automatons:
pageId: 133054
revId: 855424
revId: 983875
'Gremlins, Inc.':
pageId: 34833
revId: 933425
revId: 983874
Grenade Madness:
pageId: 43588
revId: 855426
@ -48238,7 +48246,7 @@ Gun Road:
revId: 855625
Gun Rocket:
pageId: 35403
revId: 855626
revId: 983873
Gun Wings:
pageId: 31214
revId: 895279
@ -48291,7 +48299,7 @@ Gunducky Industries:
revId: 855639
Gunfire Reborn:
pageId: 160987
revId: 980326
revId: 983947
Gunhead:
pageId: 77405
revId: 920358
@ -49036,7 +49044,7 @@ Halo 2:
revId: 966478
'Halo 2: Anniversary':
pageId: 129526
revId: 981416
revId: 983967
Halo 3:
pageId: 129522
revId: 983213
@ -53962,9 +53970,11 @@ I Hate Santa:
I Have Lived:
pageId: 157108
revId: 932317
'I Have Low Stats But My Class Is "Leader", So I Recruited Everyone I Know To Fight The Dark Lord':
'I Have Low Stats But My Class Is ''Leader'', So I Recruited Everyone I Know To Fight The Dark Lord':
pageId: 149987
revId: 983101
renamedFrom:
- 'I Have Low Stats But My Class Is "Leader", So I Recruited Everyone I Know To Fight The Dark Lord'
revId: 983443
'I Have No Mouth, and I Must Scream':
pageId: 11366
revId: 979472
@ -54033,7 +54043,7 @@ I Will Escape:
revId: 857265
I am Bread:
pageId: 48252
revId: 936919
revId: 983957
'I am Weapon: Revival':
pageId: 45910
revId: 857267
@ -55981,10 +55991,10 @@ Insurgence - Second Assault:
revId: 857799
Insurgency:
pageId: 14412
revId: 983671
revId: 983937
'Insurgency: Sandstorm':
pageId: 97339
revId: 962866
revId: 983938
Intake:
pageId: 12108
revId: 960361
@ -56086,13 +56096,13 @@ Internet Simulator:
revId: 857828
Interplanetary:
pageId: 16966
revId: 857829
revId: 983928
Interplanetary Hunter:
pageId: 66613
revId: 857830
'Interplanetary: Enhanced Edition':
pageId: 67113
revId: 934189
revId: 983927
Interplay Solitaire:
pageId: 62292
revId: 857832
@ -58565,7 +58575,7 @@ Kamer:
revId: 930459
Kami:
pageId: 18586
revId: 933444
revId: 984005
Kamikaze Cube:
pageId: 69675
revId: 858521
@ -62324,7 +62334,7 @@ Lemmings Paintball:
revId: 927953
Lemmings Revolution:
pageId: 56013
revId: 927955
revId: 983995
Lemnis Gate:
pageId: 139486
revId: 859573
@ -62800,7 +62810,7 @@ Lifeless Moon:
revId: 840775
Lifeless Planet:
pageId: 15914
revId: 981569
revId: 983850
Lifeless Vanguard:
pageId: 132202
revId: 886918
@ -64837,16 +64847,16 @@ Lukewarm Ironclad:
revId: 887234
Lula 3D:
pageId: 90839
revId: 963277
revId: 983842
Lula Flipper:
pageId: 92460
revId: 929116
Lula Virtual Babe:
pageId: 92467
revId: 929115
revId: 983845
'Lula: The Sexy Empire':
pageId: 131862
revId: 938223
revId: 983843
Lulu & Ennoi - Sacred Suit Girls:
pageId: 148789
revId: 900444
@ -65775,7 +65785,7 @@ Mafia Gambling:
revId: 860582
Mafia II:
pageId: 11207
revId: 983374
revId: 983807
'Mafia II: Definitive Edition':
pageId: 160506
revId: 979565
@ -66030,7 +66040,7 @@ Magical Brickout:
revId: 860658
Magical Chase:
pageId: 143588
revId: 907690
revId: 984023
unsupportedPath: true
Magical Diary:
pageId: 18809
@ -66628,7 +66638,7 @@ Mango Cart:
revId: 860829
Manhunt:
pageId: 3923
revId: 982724
revId: 983841
Manhunt 2:
pageId: 16010
revId: 983765
@ -77427,7 +77437,7 @@ One Step Beyond:
revId: 964982
One Step from Eden:
pageId: 122848
revId: 962084
revId: 984017
One Strike:
pageId: 74195
revId: 921754
@ -79530,7 +79540,7 @@ Panzer Elite:
revId: 928356
'Panzer Elite Action: Fields of Glory':
pageId: 50254
revId: 928357
revId: 983960
Panzer General 3D Assault:
pageId: 131869
revId: 926465
@ -80301,7 +80311,7 @@ Peakvox Route Candle for Steam:
revId: 897305
'Peaky Blinders: Mastermind':
pageId: 159374
revId: 981375
revId: 983908
Peanut:
pageId: 135177
revId: 977702
@ -80914,7 +80924,7 @@ Phoenix Tales:
revId: 916055
'Phoenix Wright: Ace Attorney Trilogy':
pageId: 111586
revId: 960884
revId: 983813
Phoning Home:
pageId: 56384
revId: 976378
@ -81142,7 +81152,7 @@ Piko Piko:
revId: 864843
Pikuniku:
pageId: 124341
revId: 983759
revId: 983952
Pilam Sky:
pageId: 63171
revId: 897429
@ -82085,7 +82095,7 @@ Planet Alcatraz 2:
revId: 897580
Planet Alpha:
pageId: 90400
revId: 962844
revId: 983932
Planet Ancyra Chronicles:
pageId: 62833
revId: 865102
@ -84778,7 +84788,7 @@ Protothype:
revId: 898023
Prototype:
pageId: 3861
revId: 965703
revId: 983825
Prototype 2:
pageId: 3245
revId: 981958
@ -94628,7 +94638,7 @@ Seeking Dawn:
revId: 868673
Seen:
pageId: 135523
revId: 868674
revId: 983808
Seep Universe:
pageId: 47269
revId: 868675
@ -95498,9 +95508,11 @@ Shaman Flower:
Shan Gui:
pageId: 49745
revId: 982423
Shan Gui 2 山桂贰:
'Shan Gui II: Sweet Osmanthus II':
pageId: 114976
revId: 982422
renamedFrom:
- Shan Gui 2 山桂贰
revId: 982421
Shank:
pageId: 4733
revId: 926382
@ -97709,7 +97721,7 @@ Skyhill:
revId: 925876
'Skyhill: Black Mist':
pageId: 135531
revId: 975155
revId: 983931
Skyhook:
pageId: 34707
revId: 884546
@ -99456,7 +99468,7 @@ Sonic 3D Blast (2010):
revId: 950109
Sonic Adventure 2:
pageId: 5774
revId: 969936
revId: 983998
Sonic Adventure DX:
pageId: 21737
revId: 963248
@ -99501,7 +99513,7 @@ Sonic R (1998):
revId: 982490
Sonic R (2004):
pageId: 76705
revId: 982492
revId: 983981
Sonic Racing:
pageId: 148163
revId: 950127
@ -100187,7 +100199,7 @@ Space Hulk Ascension:
revId: 969065
'Space Hulk: Deathwing - Enhanced Edition':
pageId: 95121
revId: 983702
revId: 983901
'Space Hulk: Tactics':
pageId: 95887
revId: 969063
@ -103849,7 +103861,7 @@ Story of Monster:
revId: 871404
'Story of Seasons: Friends of Mineral Town':
pageId: 161249
revId: 983009
revId: 983832
Story of a Cube:
pageId: 44265
revId: 871405
@ -105819,9 +105831,11 @@ Super X Chess:
Super Zombie Arcade:
pageId: 113566
revId: 978398
Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗:
Super gamebear with its three girlfriends:
pageId: 123938
revId: 871979
renamedFrom:
- Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗
revId: 983837
Super president How to rule the country:
pageId: 128328
revId: 871980
@ -105920,7 +105934,7 @@ Superhot VR:
revId: 982134
'Superhot: Mind Control Delete':
pageId: 78066
revId: 983732
revId: 983907
Superior Wizards:
pageId: 113818
revId: 872007
@ -106116,12 +106130,14 @@ Surge (Campus ADN):
Surge Radio:
pageId: 148785
revId: 900440
Surgeon Simulator:
pageId: 6579
renamedFrom:
- Surgeon Simulator 2013
revId: 983656
Surgeon Simulator 2:
pageId: 154623
revId: 983647
Surgeon Simulator 2013:
pageId: 6579
revId: 983649
'Surgeon Simulator VR: Meet The Medic':
pageId: 43736
revId: 928441
@ -112158,13 +112174,13 @@ The Journey Back:
revId: 873779
'The Journey Down: Chapter One':
pageId: 19711
revId: 948642
revId: 984001
'The Journey Down: Chapter Three':
pageId: 58948
revId: 948644
revId: 983997
'The Journey Down: Chapter Two':
pageId: 19712
revId: 948643
revId: 983964
The Journey Home:
pageId: 36918
revId: 873783
@ -112656,13 +112672,13 @@ The Legend of Three Kingdoms:
revId: 983424
The Legend of Three Kingdoms 2:
pageId: 161503
revId: 980014
revId: 983833
The Legend of Three Kingdoms 3:
pageId: 161523
revId: 983211
revId: 983834
The Legend of Three Kingdoms 4:
pageId: 161547
revId: 983202
revId: 983835
The Legend of Three Kingdoms 5:
pageId: 161555
revId: 983204
@ -115724,7 +115740,7 @@ The Wolf's Bite:
revId: 874749
'The Wonderful 101: Remastered':
pageId: 157799
revId: 973574
revId: 983806
The Wonderful End of the World:
pageId: 18328
revId: 968998
@ -117924,7 +117940,7 @@ Torchlight:
revId: 980738
Torchlight II:
pageId: 3587
revId: 983625
revId: 983879
Torchlight III:
pageId: 106331
revId: 979809
@ -125401,7 +125417,7 @@ Warhalla:
revId: 968498
'Warhammer 40,000: Rites of War':
pageId: 131754
revId: 968504
revId: 983911
'Warhammer 40,000: Sanctus Reach':
pageId: 39380
revId: 968491
@ -125434,7 +125450,7 @@ Warhammer Quest:
revId: 961132
'Warhammer: Chaosbane':
pageId: 124567
revId: 961133
revId: 983894
'Warhammer: Dark Omen':
pageId: 26848
revId: 961134
@ -128483,7 +128499,7 @@ Worms 3D:
revId: 975355
Worms Armageddon:
pageId: 1940
revId: 983745
revId: 983926
tooBroad: true
Worms Blast:
pageId: 12031

View file

@ -0,0 +1 @@
lastCheckedRecentChanges: '2020-07-17T19:48:22.752Z'

5
package-lock.json generated
View file

@ -800,6 +800,11 @@
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
"moment": {
"version": "2.27.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
"integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
},
"node-version-compare": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.2.tgz",

View file

@ -24,6 +24,7 @@
"dependencies": {
"js-yaml": "^3.14.0",
"minimist": "^1.2.5",
"moment": "^2.27.0",
"nodemw": "^0.13.0",
"steam-user": "^4.16.2",
"wikiapi": "^1.10.0"

View file

@ -2,7 +2,7 @@ import * as minimist from "minimist";
import { ManifestFile } from "./manifest";
import { SteamGameCacheFile, getSteamClient } from "./steam";
import { WikiGameCacheFile } from "./wiki";
import { WikiGameCacheFile, WikiMetaCacheFile } from "./wiki";
import { saveMissingGames } from "./missing";
interface Cli {
@ -20,7 +20,7 @@ interface Cli {
tooBroad?: boolean,
tooBroadUntagged?: boolean,
skipUntil?: string,
recent?: number,
recent?: boolean,
limit?: number,
}
@ -45,6 +45,8 @@ async function main() {
const wikiCache = new WikiGameCacheFile();
wikiCache.load();
const wikiMetaCache = new WikiMetaCacheFile();
wikiMetaCache.load();
const steamCache = new SteamGameCacheFile(await getSteamClient());
steamCache.load();
const manifest = new ManifestFile();
@ -61,7 +63,7 @@ async function main() {
try {
if (args.cache) {
if (args.recent) {
await wikiCache.flagRecentChanges(args.recent);
await wikiCache.flagRecentChanges(wikiMetaCache);
} else {
await wikiCache.addNewGames();
}
@ -91,6 +93,7 @@ async function main() {
}
wikiCache.save();
wikiMetaCache.save();
steamCache.save();
manifest.save();
saveMissingGames(wikiCache.data, manifest.data);
@ -98,6 +101,7 @@ async function main() {
process.exit(0);
} catch (e) {
wikiCache.save();
wikiMetaCache.save();
steamCache.save();
manifest.save();
saveMissingGames(wikiCache.data, manifest.data);

View file

@ -57,7 +57,7 @@ export class ManifestFile extends YamlFile<Manifest> {
tooBroadUntagged: boolean,
skipUntil: string | undefined,
games: Array<string> | undefined,
recent: number | undefined,
recent: boolean | undefined,
},
limit: number | undefined,
steamCache: SteamGameCacheFile,

View file

@ -1,7 +1,8 @@
import { REPO, PathType, UnsupportedOsError, UnsupportedPathError, YamlFile } from ".";
import { Constraint, Game, Store, Tag, Os } from "./manifest";
import * as Wikiapi from "wikiapi";
import * as moment from "moment";
import * as NodeMw from "nodemw";
import * as Wikiapi from "wikiapi";
export type WikiGameCache = {
[title: string]: {
@ -19,6 +20,10 @@ export type WikiGameCache = {
};
};
export type WikiMetaCache = {
lastCheckedRecentChanges: string;
};
export class WikiGameCacheFile extends YamlFile<WikiGameCache> {
path = `${REPO}/data/wiki-game-cache.yaml`;
defaultData = {};
@ -36,9 +41,11 @@ export class WikiGameCacheFile extends YamlFile<WikiGameCache> {
};
}
async flagRecentChanges(days: number): Promise<void> {
const changes = await getRecentChanges(days);
async flagRecentChanges(metaCache: WikiMetaCacheFile): Promise<void> {
const now = moment();
const changes = await getRecentChanges(now.toDate(), moment(metaCache.data.lastCheckedRecentChanges).subtract(1, "minute").toDate());
const client = makeApiClient2();
for (const [recentName, recentInfo] of Object.entries(changes).sort((x, y) => x[0].localeCompare(y[0]))) {
if (this.data[recentName] !== undefined) {
// Existing entry has been edited.
@ -73,9 +80,18 @@ export class WikiGameCacheFile extends YamlFile<WikiGameCache> {
}
}
}
metaCache.data.lastCheckedRecentChanges = now.toISOString();
}
}
export class WikiMetaCacheFile extends YamlFile<WikiMetaCache> {
path = `${REPO}/data/wiki-meta-cache.yaml`;
defaultData = {
lastCheckedRecentChanges: moment().subtract(7, "days").toISOString(),
};
}
interface RecentChanges {
[article: string]: {
pageId: number;
@ -418,11 +434,11 @@ function callMw<T = any>(client, method: string, ...args: Array<any>): Promise<[
});
}
export async function getRecentChanges(days: number): Promise<RecentChanges> {
export async function getRecentChanges(newest: Date, oldest: Date): Promise<RecentChanges> {
const changes: RecentChanges = {};
const client = makeApiClient2();
const startTimestamp = new Date().toISOString();
const endTimestamp = new Date(new Date().setDate(new Date().getDate() - days)).toISOString();
const startTimestamp = newest.toISOString();
const endTimestamp = oldest.toISOString();
let rccontinue: string | undefined = undefined;
while (true) {