StreamingCommunity 2.0.0__tar.gz → 2.0.5__tar.gz
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-2.0.5/MANIFEST.in +4 -0
- StreamingCommunity-2.0.5/PKG-INFO +440 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/README.md +1 -3
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +1 -3
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/series.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/__init__.py +1 -3
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/series.py +2 -2
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +14 -6
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/mostraguarda/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/mostraguarda/film.py +1 -3
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/__init__.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/film.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/series.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/get_domain.py +12 -11
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/HLS/downloader.py +42 -34
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/HLS/segments.py +10 -11
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/capture.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/util.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/decryptor.py +2 -2
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/estimator.py +53 -25
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Upload/update.py +2 -3
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Upload/version.py +1 -1
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/ffmpeg_installer.py +65 -28
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/os.py +16 -25
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/run.py +0 -1
- StreamingCommunity-2.0.5/StreamingCommunity.egg-info/PKG-INFO +440 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/SOURCES.txt +10 -2
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/entry_points.txt +1 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/requires.txt +0 -1
- StreamingCommunity-2.0.5/Test/Download/HLS.py +25 -0
- StreamingCommunity-2.0.5/Test/Download/MP4.py +23 -0
- StreamingCommunity-2.0.5/Test/Download/TOR.py +27 -0
- StreamingCommunity-2.0.5/Test/Player/helper/vixcloud.py +40 -0
- StreamingCommunity-2.0.5/Test/Player/maxtream.py +22 -0
- StreamingCommunity-2.0.5/Test/Player/supervideo.py +22 -0
- StreamingCommunity-2.0.5/Test/Player/vixcloud.py +26 -0
- StreamingCommunity-2.0.5/Test/big_search.py +116 -0
- StreamingCommunity-2.0.5/Test/call_updateDomain.py +90 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/setup.py +6 -6
- streamingcommunity-2.0.0/LICENSE +0 -674
- streamingcommunity-2.0.0/MANIFEST.in +0 -1
- streamingcommunity-2.0.0/PKG-INFO +0 -456
- streamingcommunity-2.0.0/StreamingCommunity.egg-info/PKG-INFO +0 -456
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/ddl.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/maxstream.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/supervideo.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/vixcloud.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/title.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/film.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/film_serie.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/film.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/title.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/mostraguarda/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/costant.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Class/SearchType.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/manage_ep.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/recall_search.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/site.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/HLS/proxyes.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/MP4/downloader.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/TOR/downloader.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/command.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/parser.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/url_fixer.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/TMBD/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/TMBD/obj_tmbd.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/TMBD/tmdb.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/_jsonConfig.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/call_stack.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/color.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/console.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/headers.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/logger.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/message.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/table.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/__init__.py +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/dependency_links.txt +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/top_level.txt +0 -0
- {streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/setup.cfg +0 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: StreamingCommunity
|
|
3
|
+
Version: 2.0.5
|
|
4
|
+
Summary: UNKNOWN
|
|
5
|
+
Home-page: https://github.com/Lovi-0/StreamingCommunity
|
|
6
|
+
Author: Lovi-0
|
|
7
|
+
License: UNKNOWN
|
|
8
|
+
Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
|
|
9
|
+
Project-URL: Source, https://github.com/Lovi-0/StreamingCommunity
|
|
10
|
+
Description: <p align="center">
|
|
11
|
+
<img src="https://i.ibb.co/PFnjvBc/immagine-2024-12-26-180318047.png" alt="Project Logo" width="700"/>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
<a href="https://pypi.org/project/streamingcommunity">
|
|
16
|
+
<img src="https://img.shields.io/pypi/v/streamingcommunity?logo=pypi&labelColor=555555&style=for-the-badge" alt="PyPI"/>
|
|
17
|
+
</a>
|
|
18
|
+
<a href="https://www.python.org">
|
|
19
|
+
<img src="https://img.shields.io/badge/Python->=3.8-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python"/>
|
|
20
|
+
</a>
|
|
21
|
+
<a href="https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C">
|
|
22
|
+
<img src="https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors&labelColor=555555&style=for-the-badge" alt="Donate"/>
|
|
23
|
+
</a>
|
|
24
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity/blob/main/LICENSE">
|
|
25
|
+
<img src="https://img.shields.io/badge/License-GPL_3.0-blue.svg?style=for-the-badge" alt="License"/>
|
|
26
|
+
</a>
|
|
27
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity/commits">
|
|
28
|
+
<img src="https://img.shields.io/github/commit-activity/m/Lovi-0/StreamingCommunity?label=commits&style=for-the-badge" alt="Commits"/>
|
|
29
|
+
</a>
|
|
30
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity/commits">
|
|
31
|
+
<img src="https://img.shields.io/github/last-commit/Lovi-0/StreamingCommunity/main?label=&style=for-the-badge&display_timestamp=committer" alt="Last Commit"/>
|
|
32
|
+
</a>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
<p align="center">
|
|
36
|
+
<a href="https://pypi.org/project/streamingcommunity">
|
|
37
|
+
<img src="https://img.shields.io/pypi/dm/streamingcommunity?style=for-the-badge" alt="PyPI Downloads"/>
|
|
38
|
+
</a>
|
|
39
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity/network/members">
|
|
40
|
+
<img src="https://img.shields.io/github/forks/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Forks"/>
|
|
41
|
+
</a>
|
|
42
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity">
|
|
43
|
+
<img src="https://img.shields.io/github/languages/code-size/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Code Size"/>
|
|
44
|
+
</a>
|
|
45
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity">
|
|
46
|
+
<img src="https://img.shields.io/github/repo-size/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Repo Size"/>
|
|
47
|
+
</a>
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
# 📋 Table of Contents
|
|
51
|
+
|
|
52
|
+
- 🌐 [Website available](#website-status)
|
|
53
|
+
- 🛠️ [Installation](#installation)
|
|
54
|
+
- 📦 [PyPI Installation](#1-pypi-installation)
|
|
55
|
+
- 🔄 [Automatic Installation](#2-automatic-installation)
|
|
56
|
+
- 📝 [Manual Installation](#3-manual-installation)
|
|
57
|
+
- 💻 [Win 7](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Installation#win-7)
|
|
58
|
+
- 📱 [Termux](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Termux)
|
|
59
|
+
- ⚙️ [Configuration](#configuration)
|
|
60
|
+
- 🔧 [Default](#default-settings)
|
|
61
|
+
- 📩 [Request](#requests-settings)
|
|
62
|
+
- 📥 [Download](#m3u8_download-settings)
|
|
63
|
+
- 🔍 [Parser](#m3u8_parser-settings)
|
|
64
|
+
- 🐳 [Docker](#docker)
|
|
65
|
+
- 🎓 [Tutorial](#tutorials)
|
|
66
|
+
- 📝 [To do](#to-do)
|
|
67
|
+
- 💬 [Support](#support)
|
|
68
|
+
- 🤝 [Contribute](#contributing)
|
|
69
|
+
- ⚠️ [Disclaimer](#disclaimer)
|
|
70
|
+
- ⚡ [Contributors](#contributors)
|
|
71
|
+
|
|
72
|
+
# Installation
|
|
73
|
+
|
|
74
|
+
## 1. PyPI Installation
|
|
75
|
+
|
|
76
|
+
Install directly from PyPI:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pip install StreamingCommunity
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Creating a Run Script
|
|
83
|
+
|
|
84
|
+
Create `run_streaming.py`:
|
|
85
|
+
|
|
86
|
+
```python
|
|
87
|
+
from StreamingCommunity.run import main
|
|
88
|
+
|
|
89
|
+
if __name__ == "__main__":
|
|
90
|
+
main()
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Run the script:
|
|
94
|
+
```bash
|
|
95
|
+
python run_streaming.py
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Updating via PyPI
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
pip install --upgrade StreamingCommunity
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## 2. Automatic Installation
|
|
105
|
+
|
|
106
|
+
### Supported Operating Systems 💿
|
|
107
|
+
|
|
108
|
+
| OS | Automatic Installation Support |
|
|
109
|
+
|:----------------|:------------------------------:|
|
|
110
|
+
| Windows 10/11 | ✔️ |
|
|
111
|
+
| Windows 7 | ❌ |
|
|
112
|
+
| Debian Linux | ✔️ |
|
|
113
|
+
| Arch Linux | ✔️ |
|
|
114
|
+
| CentOS Stream 9 | ✔️ |
|
|
115
|
+
| FreeBSD | ⏳ |
|
|
116
|
+
| MacOS | ✔️ |
|
|
117
|
+
| Termux | ❌ |
|
|
118
|
+
|
|
119
|
+
### Installation Steps
|
|
120
|
+
|
|
121
|
+
#### On Windows:
|
|
122
|
+
|
|
123
|
+
```powershell
|
|
124
|
+
.\Installer\win_install.bat
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
#### On Linux/MacOS/BSD:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
sudo chmod +x Installer/unix_install.sh && ./Installer/unix_install.sh
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Usage
|
|
134
|
+
|
|
135
|
+
#### On Windows:
|
|
136
|
+
|
|
137
|
+
```powershell
|
|
138
|
+
python .\test_run.py
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
or
|
|
142
|
+
|
|
143
|
+
```powershell
|
|
144
|
+
source .venv/bin/activate && python test_run.py && deactivate
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### On Linux/MacOS/BSD:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
./test_run.py
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## 3. Manual Installation
|
|
154
|
+
|
|
155
|
+
### Requirements 📋
|
|
156
|
+
|
|
157
|
+
Prerequisites:
|
|
158
|
+
* [Python](https://www.python.org/downloads/) > 3.8
|
|
159
|
+
* [FFmpeg](https://www.gyan.dev/ffmpeg/builds/)
|
|
160
|
+
|
|
161
|
+
### Install Python Dependencies
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
pip install -r requirements.txt
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Usage
|
|
168
|
+
|
|
169
|
+
#### On Windows:
|
|
170
|
+
|
|
171
|
+
```powershell
|
|
172
|
+
python test_run.py
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
#### On Linux/MacOS:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
python3 test_run.py
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Update
|
|
182
|
+
|
|
183
|
+
Keep your script up to date with the latest features by running:
|
|
184
|
+
|
|
185
|
+
### On Windows:
|
|
186
|
+
|
|
187
|
+
```powershell
|
|
188
|
+
python update.py
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### On Linux/MacOS:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
python3 update.py
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
<br>
|
|
198
|
+
|
|
199
|
+
# Configuration
|
|
200
|
+
|
|
201
|
+
You can change some behaviors by tweaking the configuration file.
|
|
202
|
+
|
|
203
|
+
The configuration file is divided into several main sections:
|
|
204
|
+
|
|
205
|
+
## DEFAULT Settings
|
|
206
|
+
|
|
207
|
+
```json
|
|
208
|
+
{
|
|
209
|
+
"root_path": "Video",
|
|
210
|
+
"movie_folder_name": "Movie",
|
|
211
|
+
"serie_folder_name": "TV",
|
|
212
|
+
"map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
|
|
213
|
+
"not_close": false
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
- `root_path`: Directory where all videos will be saved
|
|
218
|
+
|
|
219
|
+
### Path examples:
|
|
220
|
+
* Windows: `C:\\MyLibrary\\Folder` or `\\\\MyServer\\MyLibrary` (if you want to use a network folder)
|
|
221
|
+
* Linux/MacOS: `Desktop/MyLibrary/Folder`
|
|
222
|
+
`<br/><br/>`
|
|
223
|
+
|
|
224
|
+
- `movie_folder_name`: The name of the subdirectory where movies will be stored.
|
|
225
|
+
- `serie_folder_name`: The name of the subdirectory where TV series will be stored.
|
|
226
|
+
|
|
227
|
+
- `map_episode_name`: Template for TV series episode filenames
|
|
228
|
+
|
|
229
|
+
### Episode name usage:
|
|
230
|
+
|
|
231
|
+
You can choose different vars:
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
* `%(tv_name)` : Is the name of TV Show
|
|
235
|
+
* `%(season)` : Is the number of the season
|
|
236
|
+
* `%(episode)` : Is the number of the episode
|
|
237
|
+
* `%(episode_name)` : Is the name of the episode
|
|
238
|
+
`<br/><br/>`
|
|
239
|
+
|
|
240
|
+
- `not_close`: If true, continues running after downloading
|
|
241
|
+
|
|
242
|
+
### qBittorrent Configuration
|
|
243
|
+
|
|
244
|
+
```json
|
|
245
|
+
{
|
|
246
|
+
"config_qbit_tor": {
|
|
247
|
+
"host": "192.168.1.59",
|
|
248
|
+
"port": "8080",
|
|
249
|
+
"user": "admin",
|
|
250
|
+
"pass": "adminadmin"
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
|
|
256
|
+
|
|
257
|
+
<br>
|
|
258
|
+
|
|
259
|
+
## REQUESTS Settings
|
|
260
|
+
|
|
261
|
+
```json
|
|
262
|
+
{
|
|
263
|
+
"timeout": 20,
|
|
264
|
+
"max_retry": 3
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
- `timeout`: Maximum timeout (in seconds) for each request
|
|
269
|
+
- `max_retry`: Number of retry attempts per segment during M3U8 index download
|
|
270
|
+
|
|
271
|
+
<br>
|
|
272
|
+
|
|
273
|
+
## M3U8_DOWNLOAD Settings
|
|
274
|
+
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"tqdm_delay": 0.01,
|
|
278
|
+
"tqdm_use_large_bar": true,
|
|
279
|
+
"default_video_workser": 12,
|
|
280
|
+
"default_audio_workser": 12,
|
|
281
|
+
"cleanup_tmp_folder": true
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
- `tqdm_delay`: Delay between progress bar updates
|
|
286
|
+
- `tqdm_use_large_bar`: Use detailed progress bar (recommended for desktop) set to false for mobile
|
|
287
|
+
- `default_video_workser`: Number of threads for video download
|
|
288
|
+
- `default_audio_workser`: Number of threads for audio download
|
|
289
|
+
- `cleanup_tmp_folder`: Remove temporary .ts files after download
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
<br>
|
|
293
|
+
|
|
294
|
+
### Language Settings
|
|
295
|
+
|
|
296
|
+
The following codes can be used for `specific_list_audio` and `specific_list_subtitles`:
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
ara - Arabic eng - English ita - Italian por - Portuguese
|
|
300
|
+
baq - Basque fil - Filipino jpn - Japanese rum - Romanian
|
|
301
|
+
cat - Catalan fin - Finnish kan - Kannada rus - Russian
|
|
302
|
+
chi - Chinese fre - French kor - Korean spa - Spanish
|
|
303
|
+
cze - Czech ger - German mal - Malayalam swe - Swedish
|
|
304
|
+
dan - Danish glg - Galician may - Malay tam - Tamil
|
|
305
|
+
dut - Dutch gre - Greek nob - Norw. Bokm tel - Telugu
|
|
306
|
+
heb - Hebrew nor - Norwegian tha - Thai
|
|
307
|
+
forced-ita hin - Hindi pol - Polish tur - Turkish
|
|
308
|
+
hun - Hungarian ukr - Ukrainian
|
|
309
|
+
ind - Indonesian vie - Vietnamese
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
> [!IMPORTANT]
|
|
313
|
+
> Language code availability may vary by site. Some platforms might:
|
|
314
|
+
>
|
|
315
|
+
> - Use different language codes
|
|
316
|
+
> - Support only a subset of these languages
|
|
317
|
+
> - Offer additional languages not listed here
|
|
318
|
+
>
|
|
319
|
+
> Check the specific site's available options if downloads fail.
|
|
320
|
+
|
|
321
|
+
> [!TIP]
|
|
322
|
+
> You can configure multiple languages by adding them to the lists:
|
|
323
|
+
>
|
|
324
|
+
> ```json
|
|
325
|
+
> "specific_list_audio": ["ita", "eng", "spa"],
|
|
326
|
+
> "specific_list_subtitles": ["ita", "eng", "spa"]
|
|
327
|
+
> ```
|
|
328
|
+
|
|
329
|
+
## M3U8_PARSER Settings
|
|
330
|
+
|
|
331
|
+
```json
|
|
332
|
+
{
|
|
333
|
+
"force_resolution": -1,
|
|
334
|
+
"get_only_link": false
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
- `force_resolution`: Force specific resolution (-1 for best available, or specify 1080, 720, 360)
|
|
339
|
+
- `get_only_link`: Return M3U8 playlist/index URL instead of downloading
|
|
340
|
+
|
|
341
|
+
<br>
|
|
342
|
+
|
|
343
|
+
# COMMAND
|
|
344
|
+
|
|
345
|
+
- Download a specific season by entering its number.
|
|
346
|
+
* **Example:** `1` will download *Season 1* only.
|
|
347
|
+
|
|
348
|
+
- Use the wildcard `*` to download every available season.
|
|
349
|
+
* **Example:** `*` will download all seasons in the series.
|
|
350
|
+
|
|
351
|
+
- Specify a range of seasons using a hyphen `-`.
|
|
352
|
+
* **Example:** `1-2` will download *Seasons 1 and 2*.
|
|
353
|
+
|
|
354
|
+
- Enter a season number followed by `-*` to download from that season to the end.
|
|
355
|
+
* **Example:** `3-*` will download from *Season 3* to the final season.
|
|
356
|
+
|
|
357
|
+
<br>
|
|
358
|
+
|
|
359
|
+
# Docker
|
|
360
|
+
|
|
361
|
+
You can run the script in a docker container, to build the image just run
|
|
362
|
+
|
|
363
|
+
```
|
|
364
|
+
docker build -t streaming-community-api .
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
and to run it use
|
|
368
|
+
|
|
369
|
+
```
|
|
370
|
+
docker run -it -p 8000:8000 streaming-community-api
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
By default the videos will be saved in `/app/Video` inside the container, if you want to to save them in your machine instead of the container just run
|
|
374
|
+
|
|
375
|
+
```
|
|
376
|
+
docker run -it -p 8000:8000 -v /path/to/download:/app/Video streaming-community-api
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Docker quick setup with Make
|
|
380
|
+
|
|
381
|
+
Inside the Makefile (install `make`) are already configured two commands to build and run the container:
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
make build-container
|
|
385
|
+
|
|
386
|
+
# set your download directory as ENV variable
|
|
387
|
+
make LOCAL_DIR=/path/to/download run-container
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
The `run-container` command mounts also the `config.json` file, so any change to the configuration file is reflected immediately without having to rebuild the image.
|
|
391
|
+
|
|
392
|
+
# Website Status
|
|
393
|
+
|
|
394
|
+
| Website | Status |
|
|
395
|
+
|:-------------------|:------:|
|
|
396
|
+
| 1337xx | ✅ |
|
|
397
|
+
| Altadefinizione | ✅ |
|
|
398
|
+
| AnimeUnity | ✅ |
|
|
399
|
+
| Ilcorsaronero | ✅ |
|
|
400
|
+
| CB01New | ✅ |
|
|
401
|
+
| DDLStreamItaly | ✅ |
|
|
402
|
+
| GuardaSerie | ✅ |
|
|
403
|
+
| MostraGuarda | ✅ |
|
|
404
|
+
| StreamingCommunity | ✅ |
|
|
405
|
+
|
|
406
|
+
# Tutorials
|
|
407
|
+
|
|
408
|
+
- [Windows Tutorial](https://www.youtube.com/watch?v=mZGqK4wdN-k)
|
|
409
|
+
- [Linux Tutorial](https://www.youtube.com/watch?v=0qUNXPE_mTg)
|
|
410
|
+
- [Pypy Tutorial](https://www.youtube.com/watch?v=C6m9ZKOK0p4)
|
|
411
|
+
- [Compiled .exe Tutorial](https://www.youtube.com/watch?v=pm4lqsxkTVo)
|
|
412
|
+
|
|
413
|
+
# To Do
|
|
414
|
+
|
|
415
|
+
- Finish [website API](https://github.com/Lovi-0/StreamingCommunity/tree/test_gui_1)
|
|
416
|
+
|
|
417
|
+
# Contributing
|
|
418
|
+
|
|
419
|
+
Contributions are welcome! Steps:
|
|
420
|
+
1. Fork the repository
|
|
421
|
+
2. Create feature branch (`git checkout -b feature/AmazingFeature`)
|
|
422
|
+
3. Commit changes (`git commit -m 'Add some AmazingFeature'`)
|
|
423
|
+
4. Push to branch (`git push origin feature/AmazingFeature`)
|
|
424
|
+
5. Open Pull Request
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
# Disclaimer
|
|
428
|
+
|
|
429
|
+
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
|
|
430
|
+
|
|
431
|
+
## Contributors
|
|
432
|
+
|
|
433
|
+
<a href="https://github.com/Lovi-0/StreamingCommunity/graphs/contributors" alt="View Contributors">
|
|
434
|
+
<img src="https://contrib.rocks/image?repo=Lovi-0/StreamingCommunity&max=1000&columns=10" alt="Contributors" />
|
|
435
|
+
</a>
|
|
436
|
+
|
|
437
|
+
Keywords: streaming community
|
|
438
|
+
Platform: UNKNOWN
|
|
439
|
+
Requires-Python: >=3.8
|
|
440
|
+
Description-Content-Type: text/markdown
|
|
@@ -331,10 +331,8 @@ forced-ita hin - Hindi pol - Polish tur - Turkish
|
|
|
331
331
|
|
|
332
332
|
<br>
|
|
333
333
|
|
|
334
|
-
|
|
335
334
|
# COMMAND
|
|
336
335
|
|
|
337
|
-
|
|
338
336
|
- Download a specific season by entering its number.
|
|
339
337
|
* **Example:** `1` will download *Season 1* only.
|
|
340
338
|
|
|
@@ -405,7 +403,7 @@ The `run-container` command mounts also the `config.json` file, so any change to
|
|
|
405
403
|
|
|
406
404
|
# To Do
|
|
407
405
|
|
|
408
|
-
-
|
|
406
|
+
- Finish [website API](https://github.com/Lovi-0/StreamingCommunity/tree/test_gui_1)
|
|
409
407
|
|
|
410
408
|
# Contributing
|
|
411
409
|
|
{streamingcommunity-2.0.0 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/__init__.py
RENAMED
|
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
if string_to_search is None:
|
|
30
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
30
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
31
31
|
|
|
32
32
|
# Search on database
|
|
33
33
|
len_database = title_search(quote_plus(string_to_search))
|
|
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
if string_to_search is None:
|
|
30
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
30
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
31
31
|
|
|
32
32
|
# Search on database
|
|
33
33
|
len_database = title_search(quote_plus(string_to_search))
|
|
@@ -24,7 +24,7 @@ from .costant import SITE_NAME
|
|
|
24
24
|
def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
25
25
|
|
|
26
26
|
if string_to_search is None:
|
|
27
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
27
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
28
28
|
|
|
29
29
|
# Search on database
|
|
30
30
|
len_database = title_search(quote_plus(string_to_search))
|
|
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
if string_to_search is None:
|
|
30
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
30
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
31
31
|
|
|
32
32
|
# Search on database
|
|
33
33
|
len_database = title_search(quote_plus(string_to_search))
|
|
@@ -28,9 +28,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
if string_to_search is None:
|
|
31
|
-
|
|
32
|
-
# Make request to site to get content that corrsisponde to that string
|
|
33
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
|
|
31
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
34
32
|
|
|
35
33
|
# Search on database
|
|
36
34
|
len_database = title_search(quote_plus(string_to_search))
|
|
@@ -25,7 +25,6 @@ from StreamingCommunity.Api.Player.ddl import VideoSource
|
|
|
25
25
|
|
|
26
26
|
# Variable
|
|
27
27
|
from .costant import ROOT_PATH, SERIES_FOLDER
|
|
28
|
-
table_show_manager = TVShowManager()
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
|
|
@@ -120,6 +119,7 @@ def display_episodes_list(obj_episode_manager) -> str:
|
|
|
120
119
|
"""
|
|
121
120
|
|
|
122
121
|
# Set up table for displaying episodes
|
|
122
|
+
table_show_manager = TVShowManager()
|
|
123
123
|
table_show_manager.set_slice_end(10)
|
|
124
124
|
|
|
125
125
|
# Add columns to the table
|
|
@@ -27,9 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
if string_to_search is None:
|
|
30
|
-
|
|
31
|
-
# Make request to site to get content that corrsisponde to that string
|
|
32
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
|
|
30
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
33
31
|
|
|
34
32
|
# Search on database
|
|
35
33
|
len_database = title_search(quote_plus(string_to_search))
|
|
@@ -25,7 +25,6 @@ from StreamingCommunity.Api.Player.supervideo import VideoSource
|
|
|
25
25
|
|
|
26
26
|
# Variable
|
|
27
27
|
from .costant import ROOT_PATH, SERIES_FOLDER
|
|
28
|
-
table_show_manager = TVShowManager()
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
|
|
@@ -171,8 +170,9 @@ def display_episodes_list(obj_episode_manager) -> str:
|
|
|
171
170
|
Returns:
|
|
172
171
|
last_command (str): Last command entered by the user.
|
|
173
172
|
"""
|
|
174
|
-
|
|
173
|
+
|
|
175
174
|
# Set up table for displaying episodes
|
|
175
|
+
table_show_manager = TVShowManager()
|
|
176
176
|
table_show_manager.set_slice_end(10)
|
|
177
177
|
|
|
178
178
|
# Add columns to the table
|
|
@@ -28,7 +28,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
if string_to_search is None:
|
|
31
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
31
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
32
32
|
|
|
33
33
|
# Search on database
|
|
34
34
|
len_database = asyncio.run(title_search(quote_plus(string_to_search)))
|
|
@@ -25,13 +25,21 @@ class IlCorsaroNeroScraper:
|
|
|
25
25
|
self.base_url = base_url
|
|
26
26
|
self.max_page = max_page
|
|
27
27
|
self.headers = {
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
32
|
-
'
|
|
28
|
+
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
|
29
|
+
'accept-language': 'it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7',
|
|
30
|
+
'cache-control': 'max-age=0',
|
|
31
|
+
'priority': 'u=0, i',
|
|
32
|
+
'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
|
|
33
|
+
'sec-ch-ua-mobile': '?0',
|
|
34
|
+
'sec-ch-ua-platform': '"Windows"',
|
|
35
|
+
'sec-fetch-dest': 'document',
|
|
36
|
+
'sec-fetch-mode': 'navigate',
|
|
37
|
+
'sec-fetch-site': 'same-origin',
|
|
38
|
+
'sec-fetch-user': '?1',
|
|
39
|
+
'upgrade-insecure-requests': '1',
|
|
40
|
+
'user-agent': get_headers()
|
|
33
41
|
}
|
|
34
|
-
|
|
42
|
+
|
|
35
43
|
async def fetch_url(self, url: str) -> Optional[str]:
|
|
36
44
|
"""
|
|
37
45
|
Fetch the HTML content of a given URL.
|
|
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
if string_to_search is None:
|
|
30
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
30
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
31
31
|
|
|
32
32
|
# Not available for the moment
|
|
33
33
|
if get_onylDatabase:
|
|
@@ -70,10 +70,8 @@ def download_film(movie_details: Json_film) -> str:
|
|
|
70
70
|
player_links = soup.find("ul", class_ = "_player-mirrors").find_all("li")
|
|
71
71
|
supervideo_url = "https:" + player_links[0].get("data-link")
|
|
72
72
|
|
|
73
|
-
|
|
74
73
|
# Set domain and media ID for the video source
|
|
75
|
-
video_source = VideoSource()
|
|
76
|
-
video_source.setup(supervideo_url)
|
|
74
|
+
video_source = VideoSource(url=supervideo_url)
|
|
77
75
|
|
|
78
76
|
# Define output path
|
|
79
77
|
title_name = os_manager.get_sanitize_file(movie_details.title) + ".mp4"
|
|
@@ -28,7 +28,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
if string_to_search is None:
|
|
31
|
-
string_to_search = msg.ask(f"\n[purple]Insert word to search in [
|
|
31
|
+
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
|
|
32
32
|
|
|
33
33
|
# Get site domain and version and get result of the search
|
|
34
34
|
site_version, domain = get_version_and_domain()
|
|
@@ -39,7 +39,7 @@ def download_film(select_title: MediaItem) -> str:
|
|
|
39
39
|
|
|
40
40
|
# Start message and display film information
|
|
41
41
|
start_message()
|
|
42
|
-
console.print(f"[yellow]Download:
|
|
42
|
+
console.print(f"[yellow]Download: [red]{select_title.name} \n")
|
|
43
43
|
|
|
44
44
|
# Init class
|
|
45
45
|
video_source = VideoSource(SITE_NAME, False)
|
|
@@ -25,7 +25,6 @@ from StreamingCommunity.Api.Player.vixcloud import VideoSource
|
|
|
25
25
|
|
|
26
26
|
# Variable
|
|
27
27
|
from .costant import ROOT_PATH, SITE_NAME, SERIES_FOLDER
|
|
28
|
-
table_show_manager = TVShowManager()
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
|
|
@@ -178,6 +177,7 @@ def display_episodes_list(scrape_serie) -> str:
|
|
|
178
177
|
"""
|
|
179
178
|
|
|
180
179
|
# Set up table for displaying episodes
|
|
180
|
+
table_show_manager = TVShowManager()
|
|
181
181
|
table_show_manager.set_slice_end(10)
|
|
182
182
|
|
|
183
183
|
# Add columns to the table
|