StreamingCommunity 2.6.1__py3-none-any.whl → 2.8.0__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 StreamingCommunity might be problematic. Click here for more details.
- StreamingCommunity/Api/Player/ddl.py +4 -4
- StreamingCommunity/Api/Player/maxstream.py +10 -16
- StreamingCommunity/Api/Player/supervideo.py +9 -35
- StreamingCommunity/Api/Player/vixcloud.py +18 -92
- StreamingCommunity/Api/Site/1337xx/__init__.py +8 -1
- StreamingCommunity/Api/Site/1337xx/site.py +16 -15
- StreamingCommunity/Api/Site/1337xx/title.py +7 -5
- StreamingCommunity/Api/Site/animeunity/__init__.py +9 -2
- StreamingCommunity/Api/Site/animeunity/film_serie.py +12 -5
- StreamingCommunity/Api/Site/animeunity/site.py +14 -10
- StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +9 -10
- StreamingCommunity/Api/Site/cb01new/__init__.py +8 -1
- StreamingCommunity/Api/Site/cb01new/film.py +7 -1
- StreamingCommunity/Api/Site/cb01new/site.py +24 -15
- StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +9 -2
- StreamingCommunity/Api/Site/ddlstreamitaly/series.py +7 -1
- StreamingCommunity/Api/Site/ddlstreamitaly/site.py +16 -15
- StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +3 -3
- StreamingCommunity/Api/Site/guardaserie/__init__.py +9 -2
- StreamingCommunity/Api/Site/guardaserie/series.py +9 -1
- StreamingCommunity/Api/Site/guardaserie/site.py +23 -22
- StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +5 -4
- StreamingCommunity/Api/Site/mostraguarda/__init__.py +6 -2
- StreamingCommunity/Api/Site/mostraguarda/film.py +10 -6
- StreamingCommunity/Api/Site/streamingcommunity/__init__.py +9 -2
- StreamingCommunity/Api/Site/streamingcommunity/film.py +9 -2
- StreamingCommunity/Api/Site/streamingcommunity/series.py +15 -6
- StreamingCommunity/Api/Site/streamingcommunity/site.py +16 -14
- StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +10 -11
- StreamingCommunity/Api/Template/Util/__init__.py +0 -1
- StreamingCommunity/Api/Template/Util/get_domain.py +31 -134
- StreamingCommunity/Api/Template/Util/manage_ep.py +10 -5
- StreamingCommunity/Api/Template/config_loader.py +14 -10
- StreamingCommunity/Api/Template/site.py +3 -6
- StreamingCommunity/Lib/Downloader/HLS/downloader.py +12 -15
- StreamingCommunity/Lib/Downloader/HLS/segments.py +14 -34
- StreamingCommunity/Lib/Downloader/MP4/downloader.py +14 -11
- StreamingCommunity/Lib/Downloader/TOR/downloader.py +109 -101
- StreamingCommunity/Lib/FFmpeg/__init__.py +1 -1
- StreamingCommunity/Lib/FFmpeg/capture.py +10 -12
- StreamingCommunity/Lib/FFmpeg/command.py +15 -14
- StreamingCommunity/Lib/FFmpeg/util.py +9 -38
- StreamingCommunity/Lib/M3U8/decryptor.py +72 -146
- StreamingCommunity/Lib/M3U8/estimator.py +8 -16
- StreamingCommunity/Lib/M3U8/parser.py +1 -17
- StreamingCommunity/Lib/M3U8/url_fixer.py +1 -4
- StreamingCommunity/Lib/TMBD/__init__.py +2 -0
- StreamingCommunity/Lib/TMBD/obj_tmbd.py +3 -17
- StreamingCommunity/Lib/TMBD/tmdb.py +4 -9
- StreamingCommunity/TelegramHelp/telegram_bot.py +50 -50
- StreamingCommunity/Upload/update.py +6 -5
- StreamingCommunity/Upload/version.py +1 -1
- StreamingCommunity/Util/color.py +1 -1
- StreamingCommunity/Util/config_json.py +435 -0
- StreamingCommunity/Util/headers.py +7 -36
- StreamingCommunity/Util/logger.py +72 -42
- StreamingCommunity/Util/message.py +8 -3
- StreamingCommunity/Util/os.py +41 -93
- StreamingCommunity/Util/table.py +8 -17
- StreamingCommunity/run.py +39 -43
- {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/METADATA +203 -114
- StreamingCommunity-2.8.0.dist-info/RECORD +75 -0
- StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +0 -53
- StreamingCommunity/Api/Site/ilcorsaronero/site.py +0 -64
- StreamingCommunity/Api/Site/ilcorsaronero/title.py +0 -42
- StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +0 -149
- StreamingCommunity/Api/Template/Util/recall_search.py +0 -37
- StreamingCommunity/Lib/Downloader/HLS/proxyes.py +0 -110
- StreamingCommunity/Util/_jsonConfig.py +0 -241
- StreamingCommunity/Util/call_stack.py +0 -42
- StreamingCommunity/Util/console.py +0 -12
- StreamingCommunity-2.6.1.dist-info/RECORD +0 -83
- {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/LICENSE +0 -0
- {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/WHEEL +0 -0
- {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/entry_points.txt +0 -0
- {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: StreamingCommunity
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.8.0
|
|
4
4
|
Home-page: https://github.com/Lovi-0/StreamingCommunity
|
|
5
5
|
Author: Lovi-0
|
|
6
6
|
Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
|
|
@@ -14,16 +14,14 @@ Requires-Dist: bs4
|
|
|
14
14
|
Requires-Dist: rich
|
|
15
15
|
Requires-Dist: tqdm
|
|
16
16
|
Requires-Dist: m3u8
|
|
17
|
+
Requires-Dist: certifi
|
|
17
18
|
Requires-Dist: psutil
|
|
18
19
|
Requires-Dist: unidecode
|
|
19
20
|
Requires-Dist: jsbeautifier
|
|
20
21
|
Requires-Dist: pathvalidate
|
|
21
22
|
Requires-Dist: pycryptodomex
|
|
22
|
-
Requires-Dist: googlesearch-python
|
|
23
23
|
Requires-Dist: ua-generator
|
|
24
24
|
Requires-Dist: qbittorrent-api
|
|
25
|
-
Requires-Dist: python-qbittorrent
|
|
26
|
-
Requires-Dist: Pillow
|
|
27
25
|
Requires-Dist: pyTelegramBotAPI
|
|
28
26
|
|
|
29
27
|
<p align="center">
|
|
@@ -59,7 +57,7 @@ Requires-Dist: pyTelegramBotAPI
|
|
|
59
57
|
|
|
60
58
|
# 📋 Table of Contents
|
|
61
59
|
|
|
62
|
-
-
|
|
60
|
+
- 🔄 [Update Domains](#update-domains)
|
|
63
61
|
- 🛠️ [Installation](#installation)
|
|
64
62
|
- 📦 [PyPI Installation](#1-pypi-installation)
|
|
65
63
|
- 🔄 [Automatic Installation](#2-automatic-installation)
|
|
@@ -86,18 +84,15 @@ Requires-Dist: pyTelegramBotAPI
|
|
|
86
84
|
# Installation
|
|
87
85
|
|
|
88
86
|
<p align="center">
|
|
89
|
-
<a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_win.exe">
|
|
87
|
+
<a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_win.exe" style="margin: 0 20px;">
|
|
90
88
|
<img src="https://img.shields.io/badge/-Windows-blue.svg?style=for-the-badge&logo=windows" alt="Windows">
|
|
91
89
|
</a>
|
|
92
|
-
<a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_mac">
|
|
90
|
+
<a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_mac" style="margin: 0 20px;">
|
|
93
91
|
<img src="https://img.shields.io/badge/-macOS-black.svg?style=for-the-badge&logo=apple" alt="macOS">
|
|
94
92
|
</a>
|
|
95
|
-
<a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_linux">
|
|
93
|
+
<a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_linux" style="margin: 0 20px;">
|
|
96
94
|
<img src="https://img.shields.io/badge/-Linux-orange.svg?style=for-the-badge&logo=linux" alt="Linux">
|
|
97
95
|
</a>
|
|
98
|
-
<a href="https://github.com/Arrowar/StreamingCommunity/releases">
|
|
99
|
-
<img src="https://img.shields.io/badge/-All_Versions-lightgrey.svg?style=for-the-badge" alt="All Versions">
|
|
100
|
-
</a>
|
|
101
96
|
</p>
|
|
102
97
|
|
|
103
98
|
|
|
@@ -299,13 +294,39 @@ The configuration file is divided into several main sections:
|
|
|
299
294
|
|
|
300
295
|
```json
|
|
301
296
|
{
|
|
302
|
-
"
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
297
|
+
"DEFAULT": {
|
|
298
|
+
"debug": false,
|
|
299
|
+
"show_message": true,
|
|
300
|
+
"clean_console": true,
|
|
301
|
+
"show_trending": true,
|
|
302
|
+
"use_api": true,
|
|
303
|
+
"not_close": false,
|
|
304
|
+
"telegram_bot": false
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
- `debug`: Enables debug logging
|
|
310
|
+
- `show_message`: Displays informational messages
|
|
311
|
+
- `clean_console`: Clears the console between operations
|
|
312
|
+
- `show_trending`: Shows trending content
|
|
313
|
+
- `use_api`: Uses API for domain updates instead of local configuration
|
|
314
|
+
- `not_close`: If set to true, keeps the program running after download is complete
|
|
315
|
+
* Can be changed from terminal with `--not_close true/false`
|
|
316
|
+
- `telegram_bot`: Enables Telegram bot integration
|
|
317
|
+
|
|
318
|
+
## OUT_FOLDER Settings
|
|
319
|
+
|
|
320
|
+
```json
|
|
321
|
+
{
|
|
322
|
+
"OUT_FOLDER": {
|
|
323
|
+
"root_path": "Video",
|
|
324
|
+
"movie_folder_name": "Movie",
|
|
325
|
+
"serie_folder_name": "Serie",
|
|
326
|
+
"anime_folder_name": "Anime",
|
|
327
|
+
"map_episode_name": "E%(episode)_%(episode_name)",
|
|
328
|
+
"add_siteName": false
|
|
329
|
+
}
|
|
309
330
|
}
|
|
310
331
|
```
|
|
311
332
|
|
|
@@ -314,17 +335,21 @@ The configuration file is divided into several main sections:
|
|
|
314
335
|
### Path examples:
|
|
315
336
|
* Windows: `C:\\MyLibrary\\Folder` or `\\\\MyServer\\MyLibrary` (if you want to use a network folder)
|
|
316
337
|
* Linux/MacOS: `Desktop/MyLibrary/Folder`
|
|
317
|
-
|
|
338
|
+
<br/><br/>
|
|
318
339
|
|
|
319
|
-
- `movie_folder_name`: The name of the subdirectory where movies will be stored
|
|
340
|
+
- `movie_folder_name`: The name of the subdirectory where movies will be stored
|
|
320
341
|
* Can be changed from terminal with `--movie_folder_name`
|
|
321
342
|
<br/><br/>
|
|
322
343
|
|
|
323
|
-
- `serie_folder_name`: The name of the subdirectory where TV series will be stored
|
|
344
|
+
- `serie_folder_name`: The name of the subdirectory where TV series will be stored
|
|
324
345
|
* Can be changed from terminal with `--serie_folder_name`
|
|
325
346
|
<br/><br/>
|
|
326
347
|
|
|
327
|
-
- `
|
|
348
|
+
- `anime_folder_name`: The name of the subdirectory where anime will be stored
|
|
349
|
+
* Can be changed from terminal with `--anime_folder_name`
|
|
350
|
+
<br/><br/>
|
|
351
|
+
|
|
352
|
+
- `map_episode_name`: Template for episode filenames
|
|
328
353
|
|
|
329
354
|
### Episode name usage:
|
|
330
355
|
|
|
@@ -333,59 +358,66 @@ The configuration file is divided into several main sections:
|
|
|
333
358
|
* `%(season)` : Is the number of the season
|
|
334
359
|
* `%(episode)` : Is the number of the episode
|
|
335
360
|
* `%(episode_name)` : Is the name of the episode
|
|
336
|
-
`<br/><br/>`
|
|
337
361
|
* Can be changed from terminal with `--map_episode_name`
|
|
338
|
-
<br
|
|
362
|
+
<br><br>
|
|
339
363
|
|
|
340
|
-
- `add_siteName`: If set to true, appends the site_name to the root path before the movie and serie folders
|
|
364
|
+
- `add_siteName`: If set to true, appends the site_name to the root path before the movie and serie folders
|
|
341
365
|
* Can be changed from terminal with `--add_siteName true/false`
|
|
342
366
|
<br/><br/>
|
|
343
367
|
|
|
344
|
-
|
|
345
|
-
* Can be changed from terminal with `--disable_searchDomain true/false`
|
|
346
|
-
<br/><br/>
|
|
347
|
-
|
|
348
|
-
- `not_close`: If set to true, keeps the program running after the download is complete.
|
|
349
|
-
* Can be changed from terminal with `--not_close true/false`
|
|
350
|
-
<br/><br/>
|
|
351
|
-
|
|
352
|
-
### qBittorrent Configuration
|
|
368
|
+
## QBIT_CONFIG Settings
|
|
353
369
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}
|
|
370
|
+
```json
|
|
371
|
+
{
|
|
372
|
+
"QBIT_CONFIG": {
|
|
373
|
+
"host": "192.168.1.51",
|
|
374
|
+
"port": "6666",
|
|
375
|
+
"user": "admin",
|
|
376
|
+
"pass": "adminadmin"
|
|
362
377
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
|
|
378
|
+
}
|
|
379
|
+
```
|
|
366
380
|
|
|
381
|
+
To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
|
|
367
382
|
|
|
368
383
|
## REQUESTS Settings
|
|
369
384
|
|
|
370
385
|
```json
|
|
371
386
|
{
|
|
372
|
-
"
|
|
373
|
-
|
|
387
|
+
"REQUESTS": {
|
|
388
|
+
"verify": false,
|
|
389
|
+
"timeout": 20,
|
|
390
|
+
"max_retry": 8
|
|
391
|
+
}
|
|
374
392
|
}
|
|
375
393
|
```
|
|
376
394
|
|
|
395
|
+
- `verify`: Verifies SSL certificates
|
|
377
396
|
- `timeout`: Maximum timeout (in seconds) for each request
|
|
378
397
|
- `max_retry`: Number of retry attempts per segment during M3U8 index download
|
|
379
398
|
|
|
380
|
-
|
|
381
399
|
## M3U8_DOWNLOAD Settings
|
|
382
400
|
|
|
383
401
|
```json
|
|
384
402
|
{
|
|
385
|
-
"
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
403
|
+
"M3U8_DOWNLOAD": {
|
|
404
|
+
"tqdm_delay": 0.01,
|
|
405
|
+
"default_video_workser": 12,
|
|
406
|
+
"default_audio_workser": 12,
|
|
407
|
+
"segment_timeout": 8,
|
|
408
|
+
"download_audio": true,
|
|
409
|
+
"merge_audio": true,
|
|
410
|
+
"specific_list_audio": [
|
|
411
|
+
"ita"
|
|
412
|
+
],
|
|
413
|
+
"download_subtitle": true,
|
|
414
|
+
"merge_subs": true,
|
|
415
|
+
"specific_list_subtitles": [
|
|
416
|
+
"ita",
|
|
417
|
+
"eng"
|
|
418
|
+
],
|
|
419
|
+
"cleanup_tmp_folder": true
|
|
420
|
+
}
|
|
389
421
|
}
|
|
390
422
|
```
|
|
391
423
|
|
|
@@ -398,66 +430,88 @@ The configuration file is divided into several main sections:
|
|
|
398
430
|
* Can be changed from terminal with `--default_audio_worker <number>`
|
|
399
431
|
<br/><br/>
|
|
400
432
|
|
|
401
|
-
- `
|
|
433
|
+
- `segment_timeout`: Timeout for downloading individual segments
|
|
434
|
+
- `download_audio`: Whether to download audio tracks
|
|
435
|
+
- `merge_audio`: Whether to merge audio with video
|
|
436
|
+
- `specific_list_audio`: List of audio languages to download
|
|
437
|
+
* Can be changed from terminal with `--specific_list_audio ita,eng`
|
|
438
|
+
<br/><br/>
|
|
402
439
|
|
|
440
|
+
- `download_subtitle`: Whether to download subtitles
|
|
441
|
+
- `merge_subs`: Whether to merge subtitles with video
|
|
442
|
+
- `specific_list_subtitles`: List of subtitle languages to download
|
|
443
|
+
* Can be changed from terminal with `--specific_list_subtitles ita,eng`
|
|
444
|
+
<br/><br/>
|
|
403
445
|
|
|
446
|
+
- `cleanup_tmp_folder`: Remove temporary .ts files after download
|
|
404
447
|
|
|
405
|
-
|
|
448
|
+
## Available Language Codes
|
|
406
449
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
450
|
+
| European | Asian | Middle Eastern | Others |
|
|
451
|
+
|-----------------|-----------------|-----------------|-----------------|
|
|
452
|
+
| ita - Italian | chi - Chinese | ara - Arabic | eng - English |
|
|
453
|
+
| spa - Spanish | jpn - Japanese | heb - Hebrew | por - Portuguese|
|
|
454
|
+
| fre - French | kor - Korean | tur - Turkish | fil - Filipino |
|
|
455
|
+
| ger - German | hin - Hindi | | ind - Indonesian|
|
|
456
|
+
| rus - Russian | mal - Malayalam | | may - Malay |
|
|
457
|
+
| swe - Swedish | tam - Tamil | | vie - Vietnamese|
|
|
458
|
+
| pol - Polish | tel - Telugu | | |
|
|
459
|
+
| ukr - Ukrainian | tha - Thai | | |
|
|
410
460
|
|
|
461
|
+
## M3U8_CONVERSION Settings
|
|
411
462
|
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
ind - Indonesian vie - Vietnamese
|
|
463
|
+
```json
|
|
464
|
+
{
|
|
465
|
+
"M3U8_CONVERSION": {
|
|
466
|
+
"use_codec": false,
|
|
467
|
+
"use_vcodec": true,
|
|
468
|
+
"use_acodec": true,
|
|
469
|
+
"use_bitrate": true,
|
|
470
|
+
"use_gpu": false,
|
|
471
|
+
"default_preset": "ultrafast"
|
|
472
|
+
}
|
|
473
|
+
}
|
|
424
474
|
```
|
|
425
475
|
|
|
426
|
-
|
|
427
|
-
|
|
476
|
+
- `use_codec`: Use specific codec settings
|
|
477
|
+
- `use_vcodec`: Use specific video codec
|
|
478
|
+
- `use_acodec`: Use specific audio codec
|
|
479
|
+
- `use_bitrate`: Apply bitrate settings
|
|
480
|
+
- `use_gpu`: Enable GPU acceleration (if available)
|
|
481
|
+
- `default_preset`: FFmpeg encoding preset (ultrafast, fast, medium, slow, etc.)
|
|
428
482
|
|
|
483
|
+
### Advanced M3U8 Conversion Options
|
|
429
484
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
- Free and open-source
|
|
452
|
-
|
|
453
|
-
You can download VLC Media Player from the [official website](https://www.videolan.org/vlc/).
|
|
485
|
+
The software supports various advanced encoding options via FFmpeg:
|
|
486
|
+
|
|
487
|
+
#### Encoding Presets
|
|
488
|
+
The `default_preset` configuration can be set to one of the following values:
|
|
489
|
+
- `ultrafast`: Extremely fast conversion but larger file size
|
|
490
|
+
- `superfast`: Very fast with good quality/size ratio
|
|
491
|
+
- `veryfast`: Fast with good compression
|
|
492
|
+
- `faster`: Optimal balance for most users
|
|
493
|
+
- `fast`: Good compression, moderate time
|
|
494
|
+
- `medium`: FFmpeg default setting
|
|
495
|
+
- `slow`: High quality, slower process
|
|
496
|
+
- `slower`: Very high quality, slow process
|
|
497
|
+
- `veryslow`: Maximum quality, very slow process
|
|
498
|
+
|
|
499
|
+
#### GPU Acceleration
|
|
500
|
+
When `use_gpu` is enabled, the system will use available hardware acceleration:
|
|
501
|
+
- NVIDIA: NVENC
|
|
502
|
+
- AMD: AMF
|
|
503
|
+
- Intel: QSV
|
|
504
|
+
|
|
505
|
+
You need to have updated drivers and FFmpeg compiled with hardware acceleration support.
|
|
454
506
|
|
|
455
507
|
## M3U8_PARSER Settings
|
|
456
508
|
|
|
457
509
|
```json
|
|
458
510
|
{
|
|
459
|
-
"
|
|
460
|
-
|
|
511
|
+
"M3U8_PARSER": {
|
|
512
|
+
"force_resolution": "Best",
|
|
513
|
+
"get_only_link": false
|
|
514
|
+
}
|
|
461
515
|
}
|
|
462
516
|
```
|
|
463
517
|
|
|
@@ -477,6 +531,58 @@ You can download VLC Media Player from the [official website](https://www.videol
|
|
|
477
531
|
|
|
478
532
|
- `get_only_link`: Return M3U8 playlist/index URL instead of downloading
|
|
479
533
|
|
|
534
|
+
## SITE_EXTRA Settings
|
|
535
|
+
|
|
536
|
+
```json
|
|
537
|
+
{
|
|
538
|
+
"SITE_EXTRA": {
|
|
539
|
+
"ddlstreamitaly": {
|
|
540
|
+
"ips4_device_key": "",
|
|
541
|
+
"ips4_member_id": "",
|
|
542
|
+
"ips4_login_key": ""
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
- Site-specific configuration for `ddlstreamitaly`:
|
|
549
|
+
- `ips4_device_key`: Device key for authentication
|
|
550
|
+
- `ips4_member_id`: Member ID for authentication
|
|
551
|
+
- `ips4_login_key`: Login key for authentication
|
|
552
|
+
|
|
553
|
+
## Update Domains
|
|
554
|
+
|
|
555
|
+
There are two ways to update the domains for the supported websites:
|
|
556
|
+
|
|
557
|
+
### 1. Using Local Configuration
|
|
558
|
+
|
|
559
|
+
1. Create a `domains.json` file in the root directory of the project
|
|
560
|
+
|
|
561
|
+
2. Add your domain configuration in the following format:
|
|
562
|
+
```json
|
|
563
|
+
{
|
|
564
|
+
"altadefinizione": {
|
|
565
|
+
"domain": "si",
|
|
566
|
+
"full_url": "https://altadefinizione.si/"
|
|
567
|
+
},
|
|
568
|
+
...
|
|
569
|
+
}
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
3. Set `use_api` to `false` in the `DEFAULT` section of your `config.json`:
|
|
573
|
+
```json
|
|
574
|
+
{
|
|
575
|
+
"DEFAULT": {
|
|
576
|
+
"use_api": false
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
### 2. Using API (Legacy)
|
|
582
|
+
|
|
583
|
+
The API-based domain updates are currently deprecated. To use it anyway, set `use_api` to `true` in your `config.json` file.
|
|
584
|
+
|
|
585
|
+
Note: If `use_api` is set to `false` and no `domains.json` file is found, the script will raise an error.
|
|
480
586
|
|
|
481
587
|
# COMMAND
|
|
482
588
|
|
|
@@ -503,9 +609,6 @@ python test_run.py --specific_list_audio ita,eng --specific_list_subtitles eng,s
|
|
|
503
609
|
|
|
504
610
|
# Keep console open after download
|
|
505
611
|
python test_run.py --not_close true
|
|
506
|
-
|
|
507
|
-
# Disable domain search and add site name
|
|
508
|
-
python test_run.py --disable_searchDomain true --add_siteName true
|
|
509
612
|
```
|
|
510
613
|
|
|
511
614
|
# Docker
|
|
@@ -587,20 +690,6 @@ Start the bot from the folder /StreamingCommunity/TelegramHelp
|
|
|
587
690
|
python3 telegram_bot.py
|
|
588
691
|
```
|
|
589
692
|
|
|
590
|
-
# Website Status
|
|
591
|
-
|
|
592
|
-
| Website | Status | Command |
|
|
593
|
-
|:-------------------|:------:|:--------:|
|
|
594
|
-
| [1337xx](https://1337xx.to/) | ✅ | -133 |
|
|
595
|
-
| [AnimeUnity](https://animeunity.so/) | ✅ | -ANI |
|
|
596
|
-
| [Ilcorsaronero](https://ilcorsaronero.link/) | ✅ | `-ILC` |
|
|
597
|
-
| [CB01New](https://cb01new.gold/) | ✅ | -CB0 |
|
|
598
|
-
| [DDLStreamItaly](https://ddlstreamitaly.co/) | ✅ | -DDL |
|
|
599
|
-
| [GuardaSerie](https://guardaserie.now/) | ✅ | -GUA |
|
|
600
|
-
| [MostraGuarda](https://mostraguarda.stream/) | ✅ | -MOS |
|
|
601
|
-
| [StreamingCommunity](https://streamingcommunity.lu/) | ✅ | -STR |
|
|
602
|
-
|
|
603
|
-
|
|
604
693
|
# Tutorials
|
|
605
694
|
|
|
606
695
|
- [Windows Tutorial](https://www.youtube.com/watch?v=mZGqK4wdN-k)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
StreamingCommunity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
StreamingCommunity/run.py,sha256=AbEL0cyAaRgaG5qE1c7Z6SVZ4Wu7WIH9pZmwC4FDWW8,12076
|
|
3
|
+
StreamingCommunity/Api/Player/ddl.py,sha256=M_ePETCMBpIHr5K5Yb7EML5VXwqkR7vJHQcGIv4AEQw,2261
|
|
4
|
+
StreamingCommunity/Api/Player/maxstream.py,sha256=lQ6sbhBqMR9e6N-03nWZ3qsUlRT9l68d8dTA0th1XVQ,4984
|
|
5
|
+
StreamingCommunity/Api/Player/supervideo.py,sha256=OLbT8GNOT87ZSuBC5PbtbW8tiXzHK-Uttijqqp_Y06k,5297
|
|
6
|
+
StreamingCommunity/Api/Player/vixcloud.py,sha256=NOZhW59hyBnG5FfmppcnIudAztr7seWzQBzAN3KC_3M,6317
|
|
7
|
+
StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py,sha256=U-8QlD5kGzIk3-4t4D6QyYmiDe8UBrSuVi1YHRQb7AU,4295
|
|
8
|
+
StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=xt96JIbfE5W4Y59W888Cp-baRwnQVEDQO_x7Wq5iyNQ,5492
|
|
9
|
+
StreamingCommunity/Api/Site/1337xx/__init__.py,sha256=r0K84qeonGnk9bgbKklF6rJ1qhT1Si1MH2hnXnH_SIE,1378
|
|
10
|
+
StreamingCommunity/Api/Site/1337xx/site.py,sha256=-XFLF7k5SXPnh07Jv4KxmSW4w8OSl4ci4oQeU_WTJoE,2672
|
|
11
|
+
StreamingCommunity/Api/Site/1337xx/title.py,sha256=lGb-IbWEIfg9Eu3XIu6IfxTOjvXkFL_NO9UEZcxOAfE,1831
|
|
12
|
+
StreamingCommunity/Api/Site/animeunity/__init__.py,sha256=Lz9trBzQZL11wGyIT2Y4CWe3JxOkDUPzTQXXO76s0oQ,2278
|
|
13
|
+
StreamingCommunity/Api/Site/animeunity/film_serie.py,sha256=noYqH5NHUk_JO6GeqN7-PQy3tplDRKYWYI_cgT1SzqI,5771
|
|
14
|
+
StreamingCommunity/Api/Site/animeunity/site.py,sha256=TtInV7gV6sZBWooiihKWdXogV_AjqfB-bo3ymbRt1S0,5937
|
|
15
|
+
StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py,sha256=6Vbw5KVwUbgooGjUIRAuXr9cWSkHDkAFP7EiXF2T4OM,2709
|
|
16
|
+
StreamingCommunity/Api/Site/cb01new/__init__.py,sha256=yOfCNYZU5M5rCvNtwvyTgGjJv7qGmNWRAzk0AtAgbhU,1393
|
|
17
|
+
StreamingCommunity/Api/Site/cb01new/film.py,sha256=Pqyu4jq3264JzKfSGiHqibBgF29LriDjS752PYbsoIo,1649
|
|
18
|
+
StreamingCommunity/Api/Site/cb01new/site.py,sha256=PaBBkydddvajDesutjLZPmk5zWs_EDhg6uZnq8TIO5U,2548
|
|
19
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py,sha256=_tQbsAJgZufjszrFZ0Om3ia6oYJHMjiHfXAMScqf4yQ,1533
|
|
20
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/series.py,sha256=z3te51do5C_O77rDTR1N01aQ76BIGe5pm5i_PWJepQ4,3369
|
|
21
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=N-SF9nr09tBVVbzigwijTSr4ffRmuKOyNak6vy4g3cw,2938
|
|
22
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py,sha256=HY8YEvzWp3sy1q07rFLXLZhGYvapA1amMZByYvs0iJM,2553
|
|
23
|
+
StreamingCommunity/Api/Site/guardaserie/__init__.py,sha256=ZR9Fz6v2cS2Ve8BfAlvTNK-d5_Xwp5_eqrnFupgxj5Q,1385
|
|
24
|
+
StreamingCommunity/Api/Site/guardaserie/series.py,sha256=YNCr8ywqW1dmH8hkAQbYDMbwWB-i8CZSx2glXDxs18o,5694
|
|
25
|
+
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=nXqpYyWQVAZlGtwfR_IL9T2DO-APCkZ-clYIEip9_bc,2563
|
|
26
|
+
StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py,sha256=4sZRWm8r5X80q285hemRf7MAWeaN5yfOU6i1SjKU4Tg,3268
|
|
27
|
+
StreamingCommunity/Api/Site/mostraguarda/__init__.py,sha256=rsM2_7FmwyV3ibUbpcflk-eyH8ouBv0ZdCA5tCCVB70,1234
|
|
28
|
+
StreamingCommunity/Api/Site/mostraguarda/film.py,sha256=UvhAoU6NHhgpETqbLiQlw4GTbc_fK7_2FwMxEhrWUf0,2740
|
|
29
|
+
StreamingCommunity/Api/Site/streamingcommunity/__init__.py,sha256=FV3ch-farw3tN_-Ay3JV_-TIoHzgQzxEJWPlFibE62Y,2351
|
|
30
|
+
StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=qeNj542UvuOH4ucZ1wuGOLAO8zOUV1okZTZKh1xjQ1c,2551
|
|
31
|
+
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=Z1CQpue963yfkr7sDQm-8yCS7jISJiSYJCsuk0Em-Qs,7942
|
|
32
|
+
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=o_xhIxG23Q8klL0o6Yk2DOuJNDKTJGd2EOsPWOwR6Pc,2998
|
|
33
|
+
StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=YYetljW4yr6eoiLe6nDUuFZ9NI8K85tF6859ikITmsY,3571
|
|
34
|
+
StreamingCommunity/Api/Template/__init__.py,sha256=oyfd_4_g5p5q6mxb_rKwSsudZnTM3W3kg1tLwxg-v-Q,46
|
|
35
|
+
StreamingCommunity/Api/Template/config_loader.py,sha256=seJjLi05_8xrs4tdt4zXNCPa9TLp7n5FufFM2XErokI,2166
|
|
36
|
+
StreamingCommunity/Api/Template/site.py,sha256=MJF8oc4iW29nU8SF_J94UaSjanTVBMhKiRl3xrA0qBA,2849
|
|
37
|
+
StreamingCommunity/Api/Template/Class/SearchType.py,sha256=FtO8xDUGEeJgMWsK2Ab7ZzAFsncalTYL2oEYi8uCnuk,2531
|
|
38
|
+
StreamingCommunity/Api/Template/Util/__init__.py,sha256=GZZgT816VwTYekPOwLExHenpak0gO-V3LLGTYIElt3A,234
|
|
39
|
+
StreamingCommunity/Api/Template/Util/get_domain.py,sha256=VmBtv419J96qgceLlEecIG7Sw2EsPNM_YPcUMhxGXcE,2775
|
|
40
|
+
StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=xYDC3tlx6gjQqCqcyKCfQVQeE6aWU5sdrovj8uuvbd8,8118
|
|
41
|
+
StreamingCommunity/Lib/Downloader/__init__.py,sha256=JhbBh5hOnSM7VmtkxJ7zZ_FtWEC1JdnKThsSBjLV5FY,140
|
|
42
|
+
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=I5YaQvLPsTmyYIjQaSftNN7Ybnz6Z881-y2aTKvU3XM,21046
|
|
43
|
+
StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=4D-B_KfwiQq6suMgJxL_aMrOqqX5RVc4Vy0Ktc7tFKM,17609
|
|
44
|
+
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=MNiWiG0-KcYpc1oth6kr5EOM8pyfbOZrLGXW9FsQzGE,7617
|
|
45
|
+
StreamingCommunity/Lib/Downloader/TOR/downloader.py,sha256=KVZxCl1VB1-OuTjUhVS5Ycog_P0vCGTfRzhZPv8O7Ps,11267
|
|
46
|
+
StreamingCommunity/Lib/FFmpeg/__init__.py,sha256=6PBsZdE1jrD2EKOVyx3JEHnyDZzVeKlPkH5T0zyfOgU,130
|
|
47
|
+
StreamingCommunity/Lib/FFmpeg/capture.py,sha256=73BEpTijksErZOu46iRxwl3idKzZ-sVXXRr4nocIGY0,5168
|
|
48
|
+
StreamingCommunity/Lib/FFmpeg/command.py,sha256=hHMLOmb6I3VvuztxcRCFxhYgeGaqHNA78qYERJr5NXs,10640
|
|
49
|
+
StreamingCommunity/Lib/FFmpeg/util.py,sha256=Yyo-z9TOPGFdD_VscWi35Kcw88y4loGNLpNOzy7ADm8,7063
|
|
50
|
+
StreamingCommunity/Lib/M3U8/__init__.py,sha256=H_KS2eDd3kVXMziFJnD0FCPvPHEizaqfoA36ElTv_r8,170
|
|
51
|
+
StreamingCommunity/Lib/M3U8/decryptor.py,sha256=kuxxsd3eN0VGRrMJWXzHo8gCpT0u3fSZs_lwxlE5Fqs,2948
|
|
52
|
+
StreamingCommunity/Lib/M3U8/estimator.py,sha256=5Qevboxu1h5Q-72bkHy0-Vess9pOIaUrpFYfBVWNDN8,5709
|
|
53
|
+
StreamingCommunity/Lib/M3U8/parser.py,sha256=VmYgMF6d3Jr2ucuiRzv8NUJ79oPGc3cgp2VB19-dh0Y,20990
|
|
54
|
+
StreamingCommunity/Lib/M3U8/url_fixer.py,sha256=zldE4yOuNBV6AAvL1KI6p7XdRI_R5YZRscbDgT1564M,1735
|
|
55
|
+
StreamingCommunity/Lib/TMBD/__init__.py,sha256=XzE42tw3Ws59DD1PF8WmGtZ0D4D7Hk3Af8QthNE-22U,66
|
|
56
|
+
StreamingCommunity/Lib/TMBD/obj_tmbd.py,sha256=dRSvJFS5yqmsBZcw2wqbStcBtXNjU_3n5czMyremAtU,1187
|
|
57
|
+
StreamingCommunity/Lib/TMBD/tmdb.py,sha256=LjO21d7iexnSwKBYjgXFECojVSE8WCspQszJJcaZexU,10692
|
|
58
|
+
StreamingCommunity/TelegramHelp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
+
StreamingCommunity/TelegramHelp/telegram_bot.py,sha256=Qe1__aoK4PpDuing8JtWgdHzLee8LuYYyfeLNA7yADU,26307
|
|
60
|
+
StreamingCommunity/Upload/update.py,sha256=TXWAOfvZr1So_oME11YvX_L5zRy2tM-ijF-_g1jf87o,2548
|
|
61
|
+
StreamingCommunity/Upload/version.py,sha256=7JR_YWMxvHLgem5ngwXtwhWFFHvfG9zxK5Y3CpJVHTU,171
|
|
62
|
+
StreamingCommunity/Util/color.py,sha256=NvD0Eni-25oOOkY-szCEoc0lGvzQxyL7xhM0RE4EvUM,458
|
|
63
|
+
StreamingCommunity/Util/config_json.py,sha256=dmo7FTboEuEs1nYf17RYaTyT03qRvOLJzGgBitYHXs4,19379
|
|
64
|
+
StreamingCommunity/Util/ffmpeg_installer.py,sha256=q5yb_ZXKe9PhcG7JbKLfo1AZa8DNukgHqymPbudDuAY,13585
|
|
65
|
+
StreamingCommunity/Util/headers.py,sha256=TItkaFMx1GqsVNEIS3Tr0BGU5EHyF-HkZVliHORT3P8,308
|
|
66
|
+
StreamingCommunity/Util/logger.py,sha256=9kGD6GmWj2pM8ADpJc85o7jm8DD0c5Aguqnq-9kmxos,3314
|
|
67
|
+
StreamingCommunity/Util/message.py,sha256=SJaIPLvWeQqsIODVUKw3TgYRmBChovmlbcF6OUxqMI8,1425
|
|
68
|
+
StreamingCommunity/Util/os.py,sha256=MUGJKQbNMWeoUrnJ2Ug3hoyYlrPDqU9BY94UmiUbxfA,14858
|
|
69
|
+
StreamingCommunity/Util/table.py,sha256=X1t9VPYl9GemLMk_-x_WfpysQ-3Iv8vh0aTIJKm0fK0,8565
|
|
70
|
+
StreamingCommunity-2.8.0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
71
|
+
StreamingCommunity-2.8.0.dist-info/METADATA,sha256=qyKRC4btZchkSAPdZDkuL0jU-PiGzpykRNpDMBg7Xu4,21498
|
|
72
|
+
StreamingCommunity-2.8.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
73
|
+
StreamingCommunity-2.8.0.dist-info/entry_points.txt,sha256=Qph9XYfDC8n4LfDLOSl6gJGlkb9eFb5f-JOr_Wb_5rk,67
|
|
74
|
+
StreamingCommunity-2.8.0.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
|
|
75
|
+
StreamingCommunity-2.8.0.dist-info/RECORD,,
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# 02.07.24
|
|
2
|
-
|
|
3
|
-
import asyncio
|
|
4
|
-
from urllib.parse import quote_plus
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
# Internal utilities
|
|
8
|
-
from StreamingCommunity.Util.console import console, msg
|
|
9
|
-
from StreamingCommunity.Api.Template import get_select_title
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
# Logic class
|
|
13
|
-
from StreamingCommunity.Api.Template.config_loader import site_constant
|
|
14
|
-
from .site import title_search, media_search_manager, table_show_manager
|
|
15
|
-
from .title import download_title
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# Variable
|
|
19
|
-
indice = 9
|
|
20
|
-
_useFor = "film_serie"
|
|
21
|
-
_deprecate = False
|
|
22
|
-
_priority = 2
|
|
23
|
-
_engineDownload = "tor"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
27
|
-
"""
|
|
28
|
-
Main function of the application for film and series.
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
if string_to_search is None:
|
|
32
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{site_constant.SITE_NAME}").strip()
|
|
33
|
-
|
|
34
|
-
# Search on database
|
|
35
|
-
len_database = asyncio.run(title_search(quote_plus(string_to_search)))
|
|
36
|
-
|
|
37
|
-
# Return list of elements
|
|
38
|
-
if get_onylDatabase:
|
|
39
|
-
return media_search_manager
|
|
40
|
-
|
|
41
|
-
if len_database > 0:
|
|
42
|
-
|
|
43
|
-
# Select title from list
|
|
44
|
-
select_title = get_select_title(table_show_manager, media_search_manager)
|
|
45
|
-
|
|
46
|
-
# Download title
|
|
47
|
-
download_title(select_title)
|
|
48
|
-
|
|
49
|
-
else:
|
|
50
|
-
console.print(f"\n[red]Nothing matching was found for[white]: [purple]{string_to_search}")
|
|
51
|
-
|
|
52
|
-
# Retry
|
|
53
|
-
search()
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# 02.07.24
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# Internal utilities
|
|
5
|
-
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
6
|
-
from StreamingCommunity.Util.table import TVShowManager
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
# Logic class
|
|
10
|
-
from StreamingCommunity.Api.Template.config_loader import site_constant
|
|
11
|
-
from StreamingCommunity.Api.Template.Util import search_domain
|
|
12
|
-
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
|
13
|
-
from .util.ilCorsarScraper import IlCorsaroNeroScraper
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# Variable
|
|
17
|
-
media_search_manager = MediaManager()
|
|
18
|
-
table_show_manager = TVShowManager()
|
|
19
|
-
max_timeout = config_manager.get_int("REQUESTS", "timeout")
|
|
20
|
-
disable_searchDomain = config_manager.get_bool("DEFAULT", "disable_searchDomain")
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
async def title_search(word_to_search: str) -> int:
|
|
24
|
-
"""
|
|
25
|
-
Search for titles based on a search query.
|
|
26
|
-
|
|
27
|
-
Parameters:
|
|
28
|
-
- title_search (str): The title to search for.
|
|
29
|
-
|
|
30
|
-
Returns:
|
|
31
|
-
- int: The number of titles found.
|
|
32
|
-
"""
|
|
33
|
-
media_search_manager.clear()
|
|
34
|
-
table_show_manager.clear()
|
|
35
|
-
|
|
36
|
-
# Find new domain if prev dont work
|
|
37
|
-
domain_to_use = site_constant.DOMAIN_NOW
|
|
38
|
-
|
|
39
|
-
if not disable_searchDomain:
|
|
40
|
-
domain_to_use, base_url = search_domain(site_constant.SITE_NAME, f"https://{site_constant.SITE_NAME}.{site_constant.DOMAIN_NOW}")
|
|
41
|
-
|
|
42
|
-
# Create scraper and collect result
|
|
43
|
-
print("\n")
|
|
44
|
-
scraper = IlCorsaroNeroScraper(f"https://{site_constant.SITE_NAME}.{domain_to_use}/", 1)
|
|
45
|
-
results = await scraper.search(word_to_search)
|
|
46
|
-
|
|
47
|
-
for i, torrent in enumerate(results):
|
|
48
|
-
try:
|
|
49
|
-
|
|
50
|
-
media_search_manager.add_media({
|
|
51
|
-
'name': torrent['name'],
|
|
52
|
-
'type': torrent['type'],
|
|
53
|
-
'seed': torrent['seed'],
|
|
54
|
-
'leech': torrent['leech'],
|
|
55
|
-
'size': torrent['size'],
|
|
56
|
-
'date': torrent['date'],
|
|
57
|
-
'url': torrent['url']
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
except Exception as e:
|
|
61
|
-
print(f"Error parsing a film entry: {e}")
|
|
62
|
-
|
|
63
|
-
# Return the number of titles found
|
|
64
|
-
return media_search_manager.get_length()
|