cs2tracker 2.0.7__py3-none-any.whl → 2.0.9__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 +9 -4
- cs2tracker/constants.py +54 -0
- cs2tracker/data/config.ini +30 -0
- cs2tracker/scraper.py +58 -26
- {cs2tracker-2.0.7.dist-info → cs2tracker-2.0.9.dist-info}/METADATA +10 -9
- cs2tracker-2.0.9.dist-info/RECORD +14 -0
- {cs2tracker-2.0.7.dist-info → cs2tracker-2.0.9.dist-info}/WHEEL +1 -1
- cs2tracker-2.0.7.dist-info/RECORD +0 -14
- {cs2tracker-2.0.7.dist-info → cs2tracker-2.0.9.dist-info}/entry_points.txt +0 -0
- {cs2tracker-2.0.7.dist-info → cs2tracker-2.0.9.dist-info/licenses}/LICENSE.md +0 -0
- {cs2tracker-2.0.7.dist-info → cs2tracker-2.0.9.dist-info}/top_level.txt +0 -0
cs2tracker/_version.py
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '2.0.
|
|
16
|
-
__version_tuple__ = version_tuple = (2, 0,
|
|
20
|
+
__version__ = version = '2.0.9'
|
|
21
|
+
__version_tuple__ = version_tuple = (2, 0, 9)
|
cs2tracker/constants.py
CHANGED
|
@@ -37,6 +37,27 @@ CAPSULE_NAMES = [
|
|
|
37
37
|
"Paris Challengers Autographs",
|
|
38
38
|
"Paris Legends Autographs",
|
|
39
39
|
"Paris Contenders Autographs",
|
|
40
|
+
"Copenhagen Legends",
|
|
41
|
+
"Copenhagen Challengers",
|
|
42
|
+
"Copenhagen Contenders",
|
|
43
|
+
"Copenhagen Champions Autographs",
|
|
44
|
+
"Copenhagen Challengers Autographs",
|
|
45
|
+
"Copenhagen Legends Autographs",
|
|
46
|
+
"Copenhagen Contenders Autographs",
|
|
47
|
+
"Shanghai Legends",
|
|
48
|
+
"Shanghai Challengers",
|
|
49
|
+
"Shanghai Contenders",
|
|
50
|
+
"Shanghai Champions Autographs",
|
|
51
|
+
"Shanghai Challengers Autographs",
|
|
52
|
+
"Shanghai Legends Autographs",
|
|
53
|
+
"Shanghai Contenders Autographs",
|
|
54
|
+
"Austin Legends",
|
|
55
|
+
"Austin Challengers",
|
|
56
|
+
"Austin Contenders",
|
|
57
|
+
"Austin Champions Autographs",
|
|
58
|
+
"Austin Challengers Autographs",
|
|
59
|
+
"Austin Legends Autographs",
|
|
60
|
+
"Austin Contenders Autographs",
|
|
40
61
|
]
|
|
41
62
|
|
|
42
63
|
CAPSULE_NAMES_GENERIC = [
|
|
@@ -56,6 +77,9 @@ CAPSULE_PAGES = [
|
|
|
56
77
|
"https://steamcommunity.com/market/search?q=antwerp+capsule",
|
|
57
78
|
"https://steamcommunity.com/market/search?q=rio+capsule",
|
|
58
79
|
"https://steamcommunity.com/market/search?q=paris+capsule",
|
|
80
|
+
"https://steamcommunity.com/market/search?q=copenhagen+capsule",
|
|
81
|
+
"https://steamcommunity.com/market/search?q=shanghai+capsule",
|
|
82
|
+
"https://steamcommunity.com/market/search?q=austin+capsule",
|
|
59
83
|
]
|
|
60
84
|
|
|
61
85
|
CAPSULE_HREFS = [
|
|
@@ -88,6 +112,27 @@ CAPSULE_HREFS = [
|
|
|
88
112
|
"https://steamcommunity.com/market/listings/730/Paris%202023%20Challengers%20Autograph%20Capsule",
|
|
89
113
|
"https://steamcommunity.com/market/listings/730/Paris%202023%20Legends%20Autograph%20Capsule",
|
|
90
114
|
"https://steamcommunity.com/market/listings/730/Paris%202023%20Contenders%20Autograph%20Capsule",
|
|
115
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Legends%20Sticker%20Capsule",
|
|
116
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Challengers%20Sticker%20Capsule",
|
|
117
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Contenders%20Sticker%20Capsule",
|
|
118
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Champions%20Autograph%20Capsule",
|
|
119
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Challengers%20Autograph%20Capsule",
|
|
120
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Legends%20Autograph%20Capsule",
|
|
121
|
+
"https://steamcommunity.com/market/listings/730/Copenhagen%202024%20Contenders%20Autograph%20Capsule",
|
|
122
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Legends%20Sticker%20Capsule",
|
|
123
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Challengers%20Sticker%20Capsule",
|
|
124
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Contenders%20Sticker%20Capsule",
|
|
125
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Champions%20Autograph%20Capsule",
|
|
126
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Challengers%20Autograph%20Capsule",
|
|
127
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Legends%20Autograph%20Capsule",
|
|
128
|
+
"https://steamcommunity.com/market/listings/730/Shanghai%202024%20Contenders%20Autograph%20Capsule",
|
|
129
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Legends%20Sticker%20Capsule",
|
|
130
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Challengers%20Sticker%20Capsule",
|
|
131
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Contenders%20Sticker%20Capsule",
|
|
132
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Champions%20Autograph%20Capsule",
|
|
133
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Challengers%20Autograph%20Capsule",
|
|
134
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Legends%20Autograph%20Capsule",
|
|
135
|
+
"https://steamcommunity.com/market/listings/730/Austin%202025%20Contenders%20Autograph%20Capsule",
|
|
91
136
|
]
|
|
92
137
|
|
|
93
138
|
CASE_NAMES = [
|
|
@@ -130,6 +175,9 @@ CASE_NAMES = [
|
|
|
130
175
|
"Spectrum Case",
|
|
131
176
|
"Spectrum 2 Case",
|
|
132
177
|
"Winter Offensive Case",
|
|
178
|
+
"Kilowatt Case",
|
|
179
|
+
"Gallery Case",
|
|
180
|
+
"Fever Case",
|
|
133
181
|
]
|
|
134
182
|
|
|
135
183
|
|
|
@@ -173,6 +221,9 @@ CASE_PAGES = [
|
|
|
173
221
|
"https://steamcommunity.com/market/search?q=spectrum+case",
|
|
174
222
|
"https://steamcommunity.com/market/search?q=spectrum+case",
|
|
175
223
|
"https://steamcommunity.com/market/search?q=winter+offensive+case",
|
|
224
|
+
"https://steamcommunity.com/market/search?q=kilowatt+case",
|
|
225
|
+
"https://steamcommunity.com/market/search?q=gallery+case",
|
|
226
|
+
"https://steamcommunity.com/market/search?q=fever+case",
|
|
176
227
|
]
|
|
177
228
|
|
|
178
229
|
CASE_HREFS = [
|
|
@@ -215,4 +266,7 @@ CASE_HREFS = [
|
|
|
215
266
|
"https://steamcommunity.com/market/listings/730/Spectrum%20Case",
|
|
216
267
|
"https://steamcommunity.com/market/listings/730/Spectrum%202%20Case",
|
|
217
268
|
"https://steamcommunity.com/market/listings/730/Winter%20Offensive%20Weapon%20Case",
|
|
269
|
+
"https://steamcommunity.com/market/listings/730/Kilowatt%20Case",
|
|
270
|
+
"https://steamcommunity.com/market/listings/730/Gallery%20Case",
|
|
271
|
+
"https://steamcommunity.com/market/listings/730/Fever%20Case",
|
|
218
272
|
]
|
cs2tracker/data/config.ini
CHANGED
|
@@ -37,6 +37,33 @@ Paris_Contenders_Autographs = 0
|
|
|
37
37
|
Paris_Challengers_Autographs = 0
|
|
38
38
|
Paris_Legends_Autographs = 0
|
|
39
39
|
|
|
40
|
+
[Copenhagen]
|
|
41
|
+
Copenhagen_Challengers = 0
|
|
42
|
+
Copenhagen_Legends = 0
|
|
43
|
+
Copenhagen_Contenders = 0
|
|
44
|
+
Copenhagen_Champions_Autographs = 0
|
|
45
|
+
Copenhagen_Contenders_Autographs = 0
|
|
46
|
+
Copenhagen_Challengers_Autographs = 0
|
|
47
|
+
Copenhagen_Legends_Autographs = 0
|
|
48
|
+
|
|
49
|
+
[Shanghai]
|
|
50
|
+
Shanghai_Challengers = 0
|
|
51
|
+
Shanghai_Legends = 0
|
|
52
|
+
Shanghai_Contenders = 0
|
|
53
|
+
Shanghai_Champions_Autographs = 0
|
|
54
|
+
Shanghai_Contenders_Autographs = 0
|
|
55
|
+
Shanghai_Challengers_Autographs = 0
|
|
56
|
+
Shanghai_Legends_Autographs = 0
|
|
57
|
+
|
|
58
|
+
[Austin]
|
|
59
|
+
Austin_Challengers = 0
|
|
60
|
+
Austin_Legends = 0
|
|
61
|
+
Austin_Contenders = 0
|
|
62
|
+
Austin_Champions_Autographs = 0
|
|
63
|
+
Austin_Contenders_Autographs = 0
|
|
64
|
+
Austin_Challengers_Autographs = 0
|
|
65
|
+
Austin_Legends_Autographs = 0
|
|
66
|
+
|
|
40
67
|
[Cases]
|
|
41
68
|
Revolution_Case = 0
|
|
42
69
|
Recoil_Case = 0
|
|
@@ -77,6 +104,9 @@ Shattered_Web_Case = 0
|
|
|
77
104
|
Spectrum_Case = 0
|
|
78
105
|
Spectrum_2_Case = 0
|
|
79
106
|
Winter_Offensive_Case = 0
|
|
107
|
+
Kilowatt_Case = 0
|
|
108
|
+
Gallery_Case = 0
|
|
109
|
+
Fever_Case = 0
|
|
80
110
|
|
|
81
111
|
[Proxy API Key]
|
|
82
112
|
Use_Proxy = False
|
cs2tracker/scraper.py
CHANGED
|
@@ -39,6 +39,9 @@ class Scraper:
|
|
|
39
39
|
self.antwerp_quantities = []
|
|
40
40
|
self.rio_quantities = []
|
|
41
41
|
self.paris_quantities = []
|
|
42
|
+
self.copenhagen_quantities = []
|
|
43
|
+
self.shanghai_quantities = []
|
|
44
|
+
self.austin_quantities = []
|
|
42
45
|
|
|
43
46
|
self.total_price = 0
|
|
44
47
|
self.total_price_euro = 0
|
|
@@ -62,6 +65,9 @@ class Scraper:
|
|
|
62
65
|
|
|
63
66
|
def scrape_prices(self):
|
|
64
67
|
for capsule_page_url in CAPSULE_PAGES:
|
|
68
|
+
capsule_hrefs = (
|
|
69
|
+
capsule_name
|
|
70
|
+
) = capsule_names_generic = capsule_quantities = None
|
|
65
71
|
if "rmr" in capsule_page_url:
|
|
66
72
|
capsule_name = "2020 RMR"
|
|
67
73
|
capsule_quantities = self.rmr_quantities
|
|
@@ -89,6 +95,21 @@ class Scraper:
|
|
|
89
95
|
capsule_quantities = self.paris_quantities
|
|
90
96
|
capsule_hrefs = CAPSULE_HREFS[22:29]
|
|
91
97
|
capsule_names_generic = CAPSULE_NAMES_GENERIC[0:7]
|
|
98
|
+
elif "copenhagen" in capsule_page_url:
|
|
99
|
+
capsule_name = "Copenhagen"
|
|
100
|
+
capsule_quantities = self.copenhagen_quantities
|
|
101
|
+
capsule_hrefs = CAPSULE_HREFS[29:36]
|
|
102
|
+
capsule_names_generic = CAPSULE_NAMES_GENERIC[0:7]
|
|
103
|
+
elif "shanghai" in capsule_page_url:
|
|
104
|
+
capsule_name = "Shanghai"
|
|
105
|
+
capsule_quantities = self.shanghai_quantities
|
|
106
|
+
capsule_hrefs = CAPSULE_HREFS[36:43]
|
|
107
|
+
capsule_names_generic = CAPSULE_NAMES_GENERIC[0:7]
|
|
108
|
+
elif "austin" in capsule_page_url:
|
|
109
|
+
capsule_name = "Austin"
|
|
110
|
+
capsule_quantities = self.austin_quantities
|
|
111
|
+
capsule_hrefs = CAPSULE_HREFS[43:50]
|
|
112
|
+
capsule_names_generic = CAPSULE_NAMES_GENERIC[0:7]
|
|
92
113
|
|
|
93
114
|
self._scrape_prices_capsule(
|
|
94
115
|
capsule_page_url,
|
|
@@ -148,7 +169,9 @@ class Scraper:
|
|
|
148
169
|
return config
|
|
149
170
|
|
|
150
171
|
def _set_config(self, config):
|
|
151
|
-
self.use_proxy =
|
|
172
|
+
self.use_proxy = (
|
|
173
|
+
False if config.get("Proxy API Key", "Use_Proxy") == "False" else True
|
|
174
|
+
)
|
|
152
175
|
self.api_key = config.get("Proxy API Key", "API_Key")
|
|
153
176
|
|
|
154
177
|
for capsule_name in CAPSULE_NAMES:
|
|
@@ -171,6 +194,18 @@ class Scraper:
|
|
|
171
194
|
self.paris_quantities.append(
|
|
172
195
|
int(config.get("Paris", config_capsule_name))
|
|
173
196
|
)
|
|
197
|
+
elif "Copenhagen" in capsule_name:
|
|
198
|
+
self.copenhagen_quantities.append(
|
|
199
|
+
int(config.get("Copenhagen", config_capsule_name))
|
|
200
|
+
)
|
|
201
|
+
elif "Shanghai" in capsule_name:
|
|
202
|
+
self.shanghai_quantities.append(
|
|
203
|
+
int(config.get("Shanghai", config_capsule_name))
|
|
204
|
+
)
|
|
205
|
+
elif "Austin" in capsule_name:
|
|
206
|
+
self.austin_quantities.append(
|
|
207
|
+
int(config.get("Austin", config_capsule_name))
|
|
208
|
+
)
|
|
174
209
|
|
|
175
210
|
for case_name in CASE_NAMES:
|
|
176
211
|
config_case_name = case_name.replace(" ", "_")
|
|
@@ -251,35 +286,32 @@ class Scraper:
|
|
|
251
286
|
|
|
252
287
|
page = self._get_page(case_page_urls[index])
|
|
253
288
|
soup = BeautifulSoup(page.content, "html.parser")
|
|
254
|
-
|
|
255
289
|
listing = soup.find("a", attrs={"href": case_hrefs[index]})
|
|
256
290
|
retries = 0
|
|
257
|
-
while
|
|
258
|
-
|
|
259
|
-
f"[bold red][!] Failed to load page ({page.status_code}). Retrying...\n"
|
|
260
|
-
)
|
|
261
|
-
page = self._get_page(case_page_urls[index])
|
|
262
|
-
soup = BeautifulSoup(page.content, "html.parser")
|
|
263
|
-
listing = soup.find("a", attrs={"href": case_hrefs[index]})
|
|
264
|
-
retries += 1
|
|
265
|
-
|
|
266
|
-
else:
|
|
267
|
-
try:
|
|
268
|
-
price_class = listing.find(
|
|
269
|
-
"span", attrs={"class": "normal_price"}
|
|
270
|
-
)
|
|
271
|
-
price_str = price_class.text.split()[2]
|
|
272
|
-
price = float(price_str.replace("$", ""))
|
|
273
|
-
price_total = round(float(case_quantity * price), 2)
|
|
274
|
-
|
|
291
|
+
while retries < 5:
|
|
292
|
+
if not listing:
|
|
275
293
|
self.console.print(
|
|
276
|
-
f"
|
|
294
|
+
f"[bold red][!] Failed to load page ({page.status_code}). Retrying...\n"
|
|
277
295
|
)
|
|
296
|
+
page = self._get_page(case_page_urls[index])
|
|
297
|
+
soup = BeautifulSoup(page.content, "html.parser")
|
|
298
|
+
listing = soup.find("a", attrs={"href": case_hrefs[index]})
|
|
299
|
+
retries += 1
|
|
300
|
+
else:
|
|
301
|
+
break
|
|
278
302
|
|
|
279
|
-
|
|
303
|
+
try:
|
|
304
|
+
price_class = listing.find("span", attrs={"class": "normal_price"})
|
|
305
|
+
price_str = price_class.text.split()[2]
|
|
306
|
+
price = float(price_str.replace("$", ""))
|
|
307
|
+
price_total = round(float(case_quantity * price), 2)
|
|
280
308
|
|
|
281
|
-
|
|
282
|
-
|
|
309
|
+
self.console.print(f"${price} --> ${price_total} ({case_quantity})")
|
|
310
|
+
|
|
311
|
+
self.total_price += price_total
|
|
312
|
+
|
|
313
|
+
except ValueError:
|
|
314
|
+
self.console.print("[bold red][!] Failed to find price listing")
|
|
283
315
|
|
|
284
|
-
|
|
285
|
-
|
|
316
|
+
if not self.use_proxy:
|
|
317
|
+
time.sleep(1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: cs2tracker
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.9
|
|
4
4
|
Summary: Tracking the steam market prices of CS2 items
|
|
5
5
|
Home-page: https://github.com/ashiven/cs2tracker
|
|
6
6
|
Author: Jannik Novak
|
|
@@ -11,13 +11,14 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
11
11
|
Requires-Python: >=3.11
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE.md
|
|
14
|
-
Requires-Dist: beautifulsoup4
|
|
15
|
-
Requires-Dist: CurrencyConverter
|
|
16
|
-
Requires-Dist: matplotlib
|
|
17
|
-
Requires-Dist: Requests
|
|
18
|
-
Requires-Dist: rich
|
|
19
|
-
Requires-Dist: tenacity
|
|
20
|
-
Requires-Dist: urllib3
|
|
14
|
+
Requires-Dist: beautifulsoup4==4.11.1
|
|
15
|
+
Requires-Dist: CurrencyConverter==0.17.9
|
|
16
|
+
Requires-Dist: matplotlib==3.7.0
|
|
17
|
+
Requires-Dist: Requests==2.31.0
|
|
18
|
+
Requires-Dist: rich==13.6.0
|
|
19
|
+
Requires-Dist: tenacity==8.2.2
|
|
20
|
+
Requires-Dist: urllib3==2.1.0
|
|
21
|
+
Dynamic: license-file
|
|
21
22
|
|
|
22
23
|
[](https://opensource.org/licenses/MIT)
|
|
23
24
|
[](https://badge.fury.io/py/cs2tracker)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
cs2tracker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
cs2tracker/__main__.py,sha256=gvsnabJSDMbzKEcB7i3ET7AoV5OqYwUjIrkLfmN0R-U,111
|
|
3
|
+
cs2tracker/_version.py,sha256=3Hw94mCihPHQHp2v84oiOR-GC2moriN-S3C3Yu8rLmU,511
|
|
4
|
+
cs2tracker/application.py,sha256=6MOYTeQ7y1OSOBbgK0P6CFZhLFBZsfnXucfrHOpx6ZI,3705
|
|
5
|
+
cs2tracker/constants.py,sha256=GmCiwmzZblQT8mTXvmuQX-Bho7isBQTsRw5YmETvh_E,14881
|
|
6
|
+
cs2tracker/main.py,sha256=d03ypClxSZoMA72JKaHn-B-fhDxhmdmVTLTdmfExDMM,1008
|
|
7
|
+
cs2tracker/scraper.py,sha256=WGKMMlPI8eaEUQAZH_97yFrn4JbhU8EyK_RCOUaYid8,12481
|
|
8
|
+
cs2tracker/data/config.ini,sha256=j0aXl-MkZILsJ0cj6w-6b5HbqLuLl73cewVpk204Ick,2514
|
|
9
|
+
cs2tracker-2.0.9.dist-info/licenses/LICENSE.md,sha256=G5wqQ_8KGA808kVuF-Fpu_Yhteg8K_5ux9n2v8eQK7s,1069
|
|
10
|
+
cs2tracker-2.0.9.dist-info/METADATA,sha256=79IILs5fDfCOJVbb7O7FkdFjXgIJSC8mF7YFR4qPEdc,2188
|
|
11
|
+
cs2tracker-2.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
12
|
+
cs2tracker-2.0.9.dist-info/entry_points.txt,sha256=K8IwDIkg8QztSB9g9c89B9jR_2pG4QyJGrNs4z5RcZw,63
|
|
13
|
+
cs2tracker-2.0.9.dist-info/top_level.txt,sha256=2HB4xDDOxaU5BDc_yvdi9UlYLgL768n8aR-hRhFM6VQ,11
|
|
14
|
+
cs2tracker-2.0.9.dist-info/RECORD,,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
cs2tracker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
cs2tracker/__main__.py,sha256=gvsnabJSDMbzKEcB7i3ET7AoV5OqYwUjIrkLfmN0R-U,111
|
|
3
|
-
cs2tracker/_version.py,sha256=XF5cViFsh9DDqYgZRLDN3oAuRKMj1sXUbBqJ4rzLL7E,411
|
|
4
|
-
cs2tracker/application.py,sha256=6MOYTeQ7y1OSOBbgK0P6CFZhLFBZsfnXucfrHOpx6ZI,3705
|
|
5
|
-
cs2tracker/constants.py,sha256=RmxhgGb_J-sJuw877hYhYsrKM36uTKXprbWbgNAStQk,11317
|
|
6
|
-
cs2tracker/main.py,sha256=d03ypClxSZoMA72JKaHn-B-fhDxhmdmVTLTdmfExDMM,1008
|
|
7
|
-
cs2tracker/scraper.py,sha256=sgXhDnkp7u7r3ar_vvhjBuJ2NOTLJlA-HDaXKCtqqhA,10903
|
|
8
|
-
cs2tracker/data/config.ini,sha256=6QLZ9HbKgE6MHRjvtghhnw6TdxeRLBColk6ooySH5IY,1777
|
|
9
|
-
cs2tracker-2.0.7.dist-info/LICENSE.md,sha256=G5wqQ_8KGA808kVuF-Fpu_Yhteg8K_5ux9n2v8eQK7s,1069
|
|
10
|
-
cs2tracker-2.0.7.dist-info/METADATA,sha256=rRsFAX8a5WKFbiDSoCRVs7SF54bycqCJyhnOiMuqF5A,2173
|
|
11
|
-
cs2tracker-2.0.7.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
|
|
12
|
-
cs2tracker-2.0.7.dist-info/entry_points.txt,sha256=K8IwDIkg8QztSB9g9c89B9jR_2pG4QyJGrNs4z5RcZw,63
|
|
13
|
-
cs2tracker-2.0.7.dist-info/top_level.txt,sha256=2HB4xDDOxaU5BDc_yvdi9UlYLgL768n8aR-hRhFM6VQ,11
|
|
14
|
-
cs2tracker-2.0.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|