cs2tracker 2.1.13__py3-none-any.whl → 2.1.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cs2tracker might be problematic. Click here for more details.
- cs2tracker/_version.py +2 -2
- cs2tracker/app/application.py +72 -76
- cs2tracker/app/editor_frame.py +208 -127
- cs2tracker/app/scraper_frame.py +27 -10
- cs2tracker/constants.py +58 -321
- cs2tracker/data/config.ini +153 -153
- cs2tracker/data/get_inventory.js +64 -21
- cs2tracker/main.py +1 -16
- cs2tracker/scraper/parsers.py +192 -0
- cs2tracker/scraper/scraper.py +102 -212
- cs2tracker/util/padded_console.py +19 -0
- cs2tracker/util/validated_config.py +72 -18
- {cs2tracker-2.1.13.dist-info → cs2tracker-2.1.14.dist-info}/METADATA +3 -2
- cs2tracker-2.1.14.dist-info/RECORD +28 -0
- cs2tracker-2.1.13.dist-info/RECORD +0 -27
- {cs2tracker-2.1.13.dist-info → cs2tracker-2.1.14.dist-info}/WHEEL +0 -0
- {cs2tracker-2.1.13.dist-info → cs2tracker-2.1.14.dist-info}/entry_points.txt +0 -0
- {cs2tracker-2.1.13.dist-info → cs2tracker-2.1.14.dist-info}/licenses/LICENSE +0 -0
- {cs2tracker-2.1.13.dist-info → cs2tracker-2.1.14.dist-info}/top_level.txt +0 -0
cs2tracker/data/config.ini
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
[App Settings]
|
|
2
|
+
use_proxy ~ False
|
|
3
|
+
discord_notifications ~ False
|
|
4
|
+
|
|
1
5
|
[User Settings]
|
|
2
6
|
proxy_api_key ~
|
|
3
7
|
discord_webhook_url ~
|
|
@@ -5,200 +9,196 @@ discord_webhook_url ~
|
|
|
5
9
|
[Custom Items]
|
|
6
10
|
|
|
7
11
|
[Cases]
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
12
|
+
https://steamcommunity.com/market/listings/730/Revolution%20Case ~ 0
|
|
13
|
+
https://steamcommunity.com/market/listings/730/Recoil%20Case ~ 0
|
|
14
|
+
https://steamcommunity.com/market/listings/730/Dreams%20%26%20Nightmares%20Case ~ 0
|
|
15
|
+
https://steamcommunity.com/market/listings/730/Operation%20Riptide%20Case ~ 0
|
|
16
|
+
https://steamcommunity.com/market/listings/730/Snakebite%20Case ~ 0
|
|
17
|
+
https://steamcommunity.com/market/listings/730/Operation%20Broken%20Fang%20Case ~ 0
|
|
18
|
+
https://steamcommunity.com/market/listings/730/Fracture%20Case ~ 0
|
|
19
|
+
https://steamcommunity.com/market/listings/730/Chroma%20Case ~ 0
|
|
20
|
+
https://steamcommunity.com/market/listings/730/Chroma%202%20Case ~ 0
|
|
21
|
+
https://steamcommunity.com/market/listings/730/Chroma%203%20Case ~ 0
|
|
22
|
+
https://steamcommunity.com/market/listings/730/Clutch%20Case ~ 0
|
|
23
|
+
https://steamcommunity.com/market/listings/730/CS%3AGO%20Weapon%20Case ~ 0
|
|
24
|
+
https://steamcommunity.com/market/listings/730/CS%3AGO%20Weapon%20Case%202 ~ 0
|
|
25
|
+
https://steamcommunity.com/market/listings/730/CS%3AGO%20Weapon%20Case%203 ~ 0
|
|
26
|
+
https://steamcommunity.com/market/listings/730/CS20%20Case ~ 0
|
|
27
|
+
https://steamcommunity.com/market/listings/730/Danger%20Zone%20Case ~ 0
|
|
28
|
+
https://steamcommunity.com/market/listings/730/eSports%202013%20Case ~ 0
|
|
29
|
+
https://steamcommunity.com/market/listings/730/eSports%202013%20Winter%20Case ~ 0
|
|
30
|
+
https://steamcommunity.com/market/listings/730/eSports%202014%20Summer%20Case ~ 0
|
|
31
|
+
https://steamcommunity.com/market/listings/730/Falchion%20Case ~ 0
|
|
32
|
+
https://steamcommunity.com/market/listings/730/Gamma%20Case ~ 0
|
|
33
|
+
https://steamcommunity.com/market/listings/730/Gamma%202%20Case ~ 0
|
|
34
|
+
https://steamcommunity.com/market/listings/730/Glove%20Case ~ 0
|
|
35
|
+
https://steamcommunity.com/market/listings/730/Horizon%20Case ~ 0
|
|
36
|
+
https://steamcommunity.com/market/listings/730/Huntsman%20Weapon%20Case ~ 0
|
|
37
|
+
https://steamcommunity.com/market/listings/730/Operation%20Bravo%20Case ~ 0
|
|
38
|
+
https://steamcommunity.com/market/listings/730/Operation%20Breakout%20Weapon%20Case ~ 0
|
|
39
|
+
https://steamcommunity.com/market/listings/730/Operation%20Hydra%20Case ~ 0
|
|
40
|
+
https://steamcommunity.com/market/listings/730/Operation%20Phoenix%20Weapon%20Case ~ 0
|
|
41
|
+
https://steamcommunity.com/market/listings/730/Operation%20Vanguard%20Weapon%20Case ~ 0
|
|
42
|
+
https://steamcommunity.com/market/listings/730/Operation%20Wildfire%20Case ~ 0
|
|
43
|
+
https://steamcommunity.com/market/listings/730/Prisma%20Case ~ 0
|
|
44
|
+
https://steamcommunity.com/market/listings/730/Prisma%202%20Case ~ 0
|
|
45
|
+
https://steamcommunity.com/market/listings/730/Revolver%20Case ~ 0
|
|
46
|
+
https://steamcommunity.com/market/listings/730/Shadow%20Case ~ 0
|
|
47
|
+
https://steamcommunity.com/market/listings/730/Shattered%20Web%20Case ~ 0
|
|
48
|
+
https://steamcommunity.com/market/listings/730/Spectrum%20Case ~ 0
|
|
49
|
+
https://steamcommunity.com/market/listings/730/Spectrum%202%20Case ~ 0
|
|
50
|
+
https://steamcommunity.com/market/listings/730/Winter%20Offensive%20Weapon%20Case ~ 0
|
|
51
|
+
https://steamcommunity.com/market/listings/730/Kilowatt%20Case ~ 0
|
|
52
|
+
https://steamcommunity.com/market/listings/730/Gallery%20Case ~ 0
|
|
53
|
+
https://steamcommunity.com/market/listings/730/Fever%20Case ~ 0
|
|
50
54
|
|
|
51
55
|
[Katowice 2014 Sticker Capsule]
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
https://steamcommunity.com/market/listings/730/EMS%20Katowice%202014%20Legends ~ 0
|
|
57
|
+
https://steamcommunity.com/market/listings/730/EMS%20Katowice%202014%20Challengers ~ 0
|
|
54
58
|
|
|
55
59
|
[Cologne 2014 Sticker Capsule]
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
https://steamcommunity.com/market/listings/730/ESL%20One%20Cologne%202014%20Legends ~ 0
|
|
61
|
+
https://steamcommunity.com/market/listings/730/ESL%20One%20Cologne%202014%20Challengers ~ 0
|
|
58
62
|
|
|
59
63
|
[DreamHack 2014 Sticker Capsule]
|
|
60
|
-
|
|
64
|
+
https://steamcommunity.com/market/listings/730/DreamHack%202014%20Legends%20%28Holo-Foil%29 ~ 0
|
|
61
65
|
|
|
62
66
|
[Katowice 2015 Sticker Capsule]
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
https://steamcommunity.com/market/listings/730/ESL%20One%20Katowice%202015%20Legends%20%28Holo-Foil%29 ~ 0
|
|
68
|
+
https://steamcommunity.com/market/listings/730/ESL%20One%20Katowice%202015%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
65
69
|
|
|
66
70
|
[Cologne 2015 Sticker Capsule]
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
https://steamcommunity.com/market/listings/730/ESL%20One%20Cologne%202015%20Legends%20%28Foil%29 ~ 0
|
|
72
|
+
https://steamcommunity.com/market/listings/730/ESL%20One%20Cologne%202015%20Challengers%20%28Foil%29 ~ 0
|
|
69
73
|
|
|
70
74
|
[Cluj-Napoca 2015 Sticker Capsule]
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
https://steamcommunity.com/market/listings/730/DreamHack%20Cluj-Napoca%202015%20Legends%20%28Foil%29 ~ 0
|
|
76
|
+
https://steamcommunity.com/market/listings/730/DreamHack%20Cluj-Napoca%202015%20Challengers%20%28Foil%29 ~ 0
|
|
77
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Legends%20%28Foil%29%20%7C%20Cluj-Napoca%202015 ~ 0
|
|
78
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Challengers%20%28Foil%29%20%7C%20Cluj-Napoca%202015 ~ 0
|
|
75
79
|
|
|
76
80
|
[Columbus 2016 Sticker Capsule]
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
https://steamcommunity.com/market/listings/730/MLG%20Columbus%202016%20Legends%20%28Holo-Foil%29 ~ 0
|
|
82
|
+
https://steamcommunity.com/market/listings/730/MLG%20Columbus%202016%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
83
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Legends%20%28Foil%29%20%7C%20MLG%20Columbus%202016 ~ 0
|
|
84
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Challengers%20%28Foil%29%20%7C%20MLG%20Columbus%202016 ~ 0
|
|
81
85
|
|
|
82
86
|
[Cologne 2016 Sticker Capsule]
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
https://steamcommunity.com/market/listings/730/Cologne%202016%20Legends%20%28Holo-Foil%29 ~ 0
|
|
88
|
+
https://steamcommunity.com/market/listings/730/Cologne%202016%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
89
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Legends%20%28Foil%29%20%7C%20Cologne%202016 ~ 0
|
|
90
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Challengers%20%28Foil%29%20%7C%20Cologne%202016 ~ 0
|
|
87
91
|
|
|
88
92
|
[Atlanta 2017 Sticker Capsule]
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
https://steamcommunity.com/market/listings/730/Atlanta%202017%20Legends%20%28Holo-Foil%29 ~ 0
|
|
94
|
+
https://steamcommunity.com/market/listings/730/Atlanta%202017%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
95
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Legends%20%28Foil%29%20%7C%20Atlanta%202017 ~ 0
|
|
96
|
+
https://steamcommunity.com/market/listings/730/Autograph%20Capsule%20%7C%20Challengers%20%28Foil%29%20%7C%20Atlanta%202017 ~ 0
|
|
93
97
|
|
|
94
98
|
[Krakow 2017 Sticker Capsule]
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
https://steamcommunity.com/market/listings/730/Krakow%202017%20Legends%20%28Holo-Foil%29 ~ 0
|
|
100
|
+
https://steamcommunity.com/market/listings/730/Krakow%202017%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
101
|
+
https://steamcommunity.com/market/listings/730/Krakow%202017%20Legends%20Autograph%20Capsule ~ 0
|
|
102
|
+
https://steamcommunity.com/market/listings/730/Krakow%202017%20Challengers%20Autograph%20Capsule ~ 0
|
|
99
103
|
|
|
100
104
|
[Boston 2018 Sticker Capsule]
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Legends%20%28Holo-Foil%29 ~ 0
|
|
106
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Minor%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
107
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Returning%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
108
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Attending%20Legends%20%28Holo-Foil%29 ~ 0
|
|
109
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Minor%20Challengers%20with%20Flash%20Gaming%20%28Holo-Foil%29 ~ 0
|
|
110
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Legends%20Autograph%20Capsule ~ 0
|
|
111
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Minor%20Challengers%20Autograph%20Capsule ~ 0
|
|
112
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Returning%20Challengers%20Autograph%20Capsule ~ 0
|
|
113
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Attending%20Legends%20Autograph%20Capsule ~ 0
|
|
114
|
+
https://steamcommunity.com/market/listings/730/Boston%202018%20Minor%20Challengers%20with%20Flash%20Gaming%20Autograph%20Capsule ~ 0
|
|
111
115
|
|
|
112
116
|
[London 2018 Sticker Capsule]
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
https://steamcommunity.com/market/listings/730/London%202018%20Legends%20%28Holo-Foil%29 ~ 0
|
|
118
|
+
https://steamcommunity.com/market/listings/730/London%202018%20Minor%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
119
|
+
https://steamcommunity.com/market/listings/730/London%202018%20Returning%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
120
|
+
https://steamcommunity.com/market/listings/730/London%202018%20Legends%20Autograph%20Capsule ~ 0
|
|
121
|
+
https://steamcommunity.com/market/listings/730/London%202018%20Minor%20Challengers%20Autograph%20Capsule ~ 0
|
|
122
|
+
https://steamcommunity.com/market/listings/730/London%202018%20Returning%20Challengers%20Autograph%20Capsule ~ 0
|
|
119
123
|
|
|
120
124
|
[Katowice 2019 Sticker Capsule]
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
https://steamcommunity.com/market/listings/730/Katowice%202019%20Legends%20%28Holo-Foil%29 ~ 0
|
|
126
|
+
https://steamcommunity.com/market/listings/730/Katowice%202019%20Minor%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
127
|
+
https://steamcommunity.com/market/listings/730/Katowice%202019%20Returning%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
128
|
+
https://steamcommunity.com/market/listings/730/Katowice%202019%20Legends%20Autograph%20Capsule ~ 0
|
|
129
|
+
https://steamcommunity.com/market/listings/730/Katowice%202019%20Minor%20Challengers%20Autograph%20Capsule ~ 0
|
|
130
|
+
https://steamcommunity.com/market/listings/730/Katowice%202019%20Returning%20Challengers%20Autograph%20Capsule ~ 0
|
|
127
131
|
|
|
128
132
|
[Berlin 2019 Sticker Capsule]
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
https://steamcommunity.com/market/listings/730/Berlin%202019%20Legends%20%28Holo-Foil%29 ~ 0
|
|
134
|
+
https://steamcommunity.com/market/listings/730/Berlin%202019%20Minor%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
135
|
+
https://steamcommunity.com/market/listings/730/Berlin%202019%20Returning%20Challengers%20%28Holo-Foil%29 ~ 0
|
|
136
|
+
https://steamcommunity.com/market/listings/730/Berlin%202019%20Legends%20Autograph%20Capsule ~ 0
|
|
137
|
+
https://steamcommunity.com/market/listings/730/Berlin%202019%20Minor%20Challengers%20Autograph%20Capsule ~ 0
|
|
138
|
+
https://steamcommunity.com/market/listings/730/Berlin%202019%20Returning%20Challengers%20Autograph%20Capsule ~ 0
|
|
135
139
|
|
|
136
140
|
[2020 RMR Sticker Capsule]
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
https://steamcommunity.com/market/listings/730/2020%20RMR%20Legends ~ 0
|
|
142
|
+
https://steamcommunity.com/market/listings/730/2020%20RMR%20Challengers ~ 0
|
|
143
|
+
https://steamcommunity.com/market/listings/730/2020%20RMR%20Contenders ~ 0
|
|
140
144
|
|
|
141
145
|
[Stockholm 2021 Sticker Capsule]
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
https://steamcommunity.com/market/listings/730/Stockholm%202021%20Legends%20Sticker%20Capsule ~ 0
|
|
147
|
+
https://steamcommunity.com/market/listings/730/Stockholm%202021%20Challengers%20Sticker%20Capsule ~ 0
|
|
148
|
+
https://steamcommunity.com/market/listings/730/Stockholm%202021%20Contenders%20Sticker%20Capsule ~ 0
|
|
149
|
+
https://steamcommunity.com/market/listings/730/Stockholm%202021%20Champions%20Autograph%20Capsule ~ 0
|
|
150
|
+
https://steamcommunity.com/market/listings/730/Stockholm%202021%20Finalists%20Autograph%20Capsule ~ 0
|
|
147
151
|
|
|
148
152
|
[Antwerp 2022 Sticker Capsule]
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Legends%20Sticker%20Capsule ~ 0
|
|
154
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Challengers%20Sticker%20Capsule ~ 0
|
|
155
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Contenders%20Sticker%20Capsule ~ 0
|
|
156
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Champions%20Autograph%20Capsule ~ 0
|
|
157
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Challengers%20Autograph%20Capsule ~ 0
|
|
158
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Legends%20Autograph%20Capsule ~ 0
|
|
159
|
+
https://steamcommunity.com/market/listings/730/Antwerp%202022%20Contenders%20Autograph%20Capsule ~ 0
|
|
156
160
|
|
|
157
161
|
[Rio 2022 Sticker Capsule]
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Legends%20Sticker%20Capsule ~ 0
|
|
163
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Challengers%20Sticker%20Capsule ~ 0
|
|
164
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Contenders%20Sticker%20Capsule ~ 0
|
|
165
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Champions%20Autograph%20Capsule ~ 0
|
|
166
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Challengers%20Autograph%20Capsule ~ 0
|
|
167
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Legends%20Autograph%20Capsule ~ 0
|
|
168
|
+
https://steamcommunity.com/market/listings/730/Rio%202022%20Contenders%20Autograph%20Capsule ~ 0
|
|
165
169
|
|
|
166
170
|
[Paris 2023 Sticker Capsule]
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Legends%20Sticker%20Capsule ~ 0
|
|
172
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Challengers%20Sticker%20Capsule ~ 0
|
|
173
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Contenders%20Sticker%20Capsule ~ 0
|
|
174
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Champions%20Autograph%20Capsule ~ 0
|
|
175
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Challengers%20Autograph%20Capsule ~ 0
|
|
176
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Legends%20Autograph%20Capsule ~ 0
|
|
177
|
+
https://steamcommunity.com/market/listings/730/Paris%202023%20Contenders%20Autograph%20Capsule ~ 0
|
|
174
178
|
|
|
175
179
|
[Copenhagen 2024 Sticker Capsule]
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Legends%20Sticker%20Capsule ~ 0
|
|
181
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Challengers%20Sticker%20Capsule ~ 0
|
|
182
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Contenders%20Sticker%20Capsule ~ 0
|
|
183
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Champions%20Autograph%20Capsule ~ 0
|
|
184
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Challengers%20Autograph%20Capsule ~ 0
|
|
185
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Legends%20Autograph%20Capsule ~ 0
|
|
186
|
+
https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Contenders%20Autograph%20Capsule ~ 0
|
|
183
187
|
|
|
184
188
|
[Shanghai 2024 Sticker Capsule]
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Legends%20Sticker%20Capsule ~ 0
|
|
190
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Challengers%20Sticker%20Capsule ~ 0
|
|
191
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Contenders%20Sticker%20Capsule ~ 0
|
|
192
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Champions%20Autograph%20Capsule ~ 0
|
|
193
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Challengers%20Autograph%20Capsule ~ 0
|
|
194
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Legends%20Autograph%20Capsule ~ 0
|
|
195
|
+
https://steamcommunity.com/market/listings/730/Shanghai%202024%20Contenders%20Autograph%20Capsule ~ 0
|
|
192
196
|
|
|
193
197
|
[Austin 2025 Sticker Capsule]
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
[App Settings]
|
|
203
|
-
use_proxy ~ False
|
|
204
|
-
discord_notifications ~ False
|
|
198
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Legends%20Sticker%20Capsule ~ 0
|
|
199
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Challengers%20Sticker%20Capsule ~ 0
|
|
200
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Contenders%20Sticker%20Capsule ~ 0
|
|
201
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Champions%20Autograph%20Capsule ~ 0
|
|
202
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Challengers%20Autograph%20Capsule ~ 0
|
|
203
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Legends%20Autograph%20Capsule ~ 0
|
|
204
|
+
https://steamcommunity.com/market/listings/730/Austin%202025%20Contenders%20Autograph%20Capsule ~ 0
|
cs2tracker/data/get_inventory.js
CHANGED
|
@@ -11,13 +11,15 @@ process.stderr.setEncoding("utf-8");
|
|
|
11
11
|
|
|
12
12
|
const args = argv.slice(2);
|
|
13
13
|
const processedInventoryPath = args[0];
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
14
|
+
const importInventory = args[1] === "True" ? true : false;
|
|
15
|
+
const importStorageUnits = args[2] === "True" ? true : false;
|
|
16
|
+
const importCases = args[3] === "True" ? true : false;
|
|
17
|
+
const importStickerCapsules = args[4] === "True" ? true : false;
|
|
18
|
+
const importStickers = args[5] === "True" ? true : false;
|
|
19
|
+
const importOthers = args[6] === "True" ? true : false;
|
|
20
|
+
const userName = args[7];
|
|
21
|
+
const password = args[8];
|
|
22
|
+
const twoFactorCode = args[9];
|
|
21
23
|
|
|
22
24
|
const paddedLog = (...args) => {
|
|
23
25
|
console.log(" [+] ", ...args);
|
|
@@ -65,38 +67,79 @@ console.error = (...args) => {
|
|
|
65
67
|
|
|
66
68
|
cs2.on("connectedToGC", async () => {
|
|
67
69
|
paddedLog("Connected to CS2 Game Coordinator.");
|
|
68
|
-
|
|
70
|
+
let finalItemCounts = {};
|
|
71
|
+
|
|
72
|
+
if (importInventory) {
|
|
73
|
+
const inventoryItemCounts = await processInventory();
|
|
74
|
+
for (const [itemName, count] of Object.entries(inventoryItemCounts)) {
|
|
75
|
+
finalItemCounts[itemName] = (finalItemCounts[itemName] || 0) + count;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (importStorageUnits) {
|
|
80
|
+
const storageUnitItemCounts = await processStorageUnits();
|
|
81
|
+
for (const [itemName, count] of Object.entries(storageUnitItemCounts)) {
|
|
82
|
+
finalItemCounts[itemName] = (finalItemCounts[itemName] || 0) + count;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
paddedLog("Saving config...");
|
|
87
|
+
fs.writeFileSync(
|
|
88
|
+
processedInventoryPath,
|
|
89
|
+
JSON.stringify(finalItemCounts, null, 2),
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
paddedLog("Processing complete.");
|
|
93
|
+
paddedLog("This window will automatically close in 10 seconds.");
|
|
94
|
+
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
95
|
+
user.logOff();
|
|
96
|
+
process.exit(0);
|
|
69
97
|
});
|
|
70
98
|
|
|
99
|
+
// TODO: The inventory may contain items that are not marketable or tradable,
|
|
100
|
+
// so we have to make sure to process these items correctly in the main app.
|
|
71
101
|
async function processInventory() {
|
|
102
|
+
try {
|
|
103
|
+
// filter out items that have the casket_id property set from the inventory
|
|
104
|
+
// because these are items that should be contained in storage units
|
|
105
|
+
const prefilteredInventory = cs2.inventory.filter((item) => {
|
|
106
|
+
return !item.casket_id;
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
const convertedItems =
|
|
110
|
+
nameConverter.convertInventory(prefilteredInventory);
|
|
111
|
+
const filteredItems = filterItems(convertedItems);
|
|
112
|
+
const itemCounts = countItems(filteredItems);
|
|
113
|
+
paddedLog(`${filteredItems.length} items found in inventory`);
|
|
114
|
+
console.log(itemCounts);
|
|
115
|
+
return itemCounts;
|
|
116
|
+
} catch (err) {
|
|
117
|
+
console.error("An error occurred while processing the inventory:", err);
|
|
118
|
+
return {};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
async function processStorageUnits() {
|
|
72
123
|
let finalItemCounts = {};
|
|
73
124
|
try {
|
|
74
125
|
const storageUnitIds = getStorageUnitIds();
|
|
75
126
|
for (const [unitIndex, unitId] of storageUnitIds.entries()) {
|
|
76
127
|
const items = await getCasketContentsAsync(cs2, unitId);
|
|
77
|
-
const convertedItems = nameConverter.convertInventory(items
|
|
128
|
+
const convertedItems = nameConverter.convertInventory(items);
|
|
78
129
|
const filteredItems = filterItems(convertedItems);
|
|
79
130
|
const itemCounts = countItems(filteredItems);
|
|
80
131
|
for (const [itemName, count] of Object.entries(itemCounts)) {
|
|
81
132
|
finalItemCounts[itemName] = (finalItemCounts[itemName] || 0) + count;
|
|
82
133
|
}
|
|
83
134
|
paddedLog(
|
|
84
|
-
`${filteredItems.length} items found in storage unit: ${unitIndex}/${storageUnitIds.length}`,
|
|
135
|
+
`${filteredItems.length} items found in storage unit: ${unitIndex + 1}/${storageUnitIds.length}`,
|
|
85
136
|
);
|
|
86
137
|
console.log(itemCounts);
|
|
87
138
|
}
|
|
88
|
-
|
|
89
|
-
fs.writeFileSync(
|
|
90
|
-
processedInventoryPath,
|
|
91
|
-
JSON.stringify(finalItemCounts, null, 2),
|
|
92
|
-
);
|
|
93
|
-
paddedLog("Processing complete.");
|
|
94
|
-
paddedLog("You may close this window now.");
|
|
139
|
+
return finalItemCounts;
|
|
95
140
|
} catch (err) {
|
|
96
|
-
console.error("An error occurred
|
|
97
|
-
|
|
98
|
-
user.logOff();
|
|
99
|
-
process.exit(0);
|
|
141
|
+
console.error("An error occurred while processing storage units:", err);
|
|
142
|
+
return {};
|
|
100
143
|
}
|
|
101
144
|
}
|
|
102
145
|
|
cs2tracker/main.py
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import sys
|
|
2
|
-
from subprocess import DEVNULL
|
|
3
2
|
|
|
4
3
|
import urllib3
|
|
5
|
-
from nodejs import npm
|
|
6
4
|
|
|
7
5
|
from cs2tracker.app import Application
|
|
8
|
-
from cs2tracker.constants import
|
|
9
|
-
AUTHOR_STRING,
|
|
10
|
-
BANNER,
|
|
11
|
-
INVENTORY_IMPORT_SCRIPT_DEPENDENCIES,
|
|
12
|
-
OS,
|
|
13
|
-
OSType,
|
|
14
|
-
)
|
|
6
|
+
from cs2tracker.constants import AUTHOR_STRING, BANNER, OS, OSType
|
|
15
7
|
from cs2tracker.scraper import Scraper
|
|
16
8
|
from cs2tracker.util import get_console
|
|
17
9
|
|
|
@@ -38,13 +30,6 @@ def main():
|
|
|
38
30
|
scraper = Scraper()
|
|
39
31
|
scraper.scrape_prices()
|
|
40
32
|
else:
|
|
41
|
-
# Ensures that the necessary node modules are installed if a user wants
|
|
42
|
-
# to import their steam inventory via the cs2tracker/data/get_inventory.js Node.js script.
|
|
43
|
-
# This can be done in a daemon thread on application startup because it is not a very costly operation.
|
|
44
|
-
npm.Popen(
|
|
45
|
-
["install"] + INVENTORY_IMPORT_SCRIPT_DEPENDENCIES, stdout=DEVNULL, stderr=DEVNULL
|
|
46
|
-
)
|
|
47
|
-
|
|
48
33
|
application = Application()
|
|
49
34
|
application.run()
|
|
50
35
|
|