StreamingCommunity 2.9.3__py3-none-any.whl → 2.9.4__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/Helper/Vixcloud/util.py +40 -38
- StreamingCommunity/Api/Player/maxstream.py +3 -11
- StreamingCommunity/Api/Site/1337xx/site.py +1 -9
- StreamingCommunity/Api/Site/altadefinizione/__init__.py +61 -0
- StreamingCommunity/Api/Site/altadefinizione/film.py +98 -0
- StreamingCommunity/Api/Site/altadefinizione/series.py +164 -0
- StreamingCommunity/Api/Site/altadefinizione/site.py +75 -0
- StreamingCommunity/Api/Site/altadefinizione/util/ScrapeSerie.py +72 -0
- StreamingCommunity/Api/Site/animeunity/film_serie.py +1 -1
- StreamingCommunity/Api/Site/animeunity/site.py +1 -9
- StreamingCommunity/Api/Site/cb01new/site.py +5 -16
- StreamingCommunity/Api/Site/ddlstreamitaly/site.py +1 -9
- StreamingCommunity/Api/Site/guardaserie/site.py +1 -9
- StreamingCommunity/Api/Site/streamingcommunity/series.py +29 -11
- StreamingCommunity/Api/Site/streamingcommunity/site.py +10 -10
- StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +38 -17
- StreamingCommunity/Api/Template/Class/SearchType.py +1 -1
- StreamingCommunity/Api/Template/Util/__init__.py +0 -1
- StreamingCommunity/Api/Template/Util/manage_ep.py +1 -0
- StreamingCommunity/Api/Template/config_loader.py +0 -4
- StreamingCommunity/Lib/Downloader/HLS/downloader.py +2 -2
- StreamingCommunity/Lib/Downloader/MP4/downloader.py +3 -2
- StreamingCommunity/Lib/M3U8/estimator.py +3 -3
- StreamingCommunity/Upload/version.py +1 -1
- StreamingCommunity/Util/config_json.py +0 -3
- StreamingCommunity/__init__.py +6 -0
- {StreamingCommunity-2.9.3.dist-info → streamingcommunity-2.9.4.dist-info}/METADATA +90 -7
- {StreamingCommunity-2.9.3.dist-info → streamingcommunity-2.9.4.dist-info}/RECORD +32 -28
- {StreamingCommunity-2.9.3.dist-info → streamingcommunity-2.9.4.dist-info}/WHEEL +1 -1
- StreamingCommunity/Api/Template/Util/get_domain.py +0 -100
- {StreamingCommunity-2.9.3.dist-info → streamingcommunity-2.9.4.dist-info}/LICENSE +0 -0
- {StreamingCommunity-2.9.3.dist-info → streamingcommunity-2.9.4.dist-info}/entry_points.txt +0 -0
- {StreamingCommunity-2.9.3.dist-info → streamingcommunity-2.9.4.dist-info}/top_level.txt +0 -0
|
@@ -1,47 +1,51 @@
|
|
|
1
|
-
StreamingCommunity/__init__.py,sha256=
|
|
1
|
+
StreamingCommunity/__init__.py,sha256=Cw-N0VCg7sef1WqdtvVwrhs1zc4LoUhs5C8k7vpM1lQ,207
|
|
2
2
|
StreamingCommunity/run.py,sha256=AbEL0cyAaRgaG5qE1c7Z6SVZ4Wu7WIH9pZmwC4FDWW8,12076
|
|
3
3
|
StreamingCommunity/Api/Player/ddl.py,sha256=M_ePETCMBpIHr5K5Yb7EML5VXwqkR7vJHQcGIv4AEQw,2261
|
|
4
|
-
StreamingCommunity/Api/Player/maxstream.py,sha256=
|
|
4
|
+
StreamingCommunity/Api/Player/maxstream.py,sha256=WXg8xncFXFiaUmTVXxB3NyknQtbvd0sF1eRaoDO24bU,4822
|
|
5
5
|
StreamingCommunity/Api/Player/supervideo.py,sha256=hr9QViI-XD0Dqhcx90oaH8_j0d6cxpVaf-EuCjMs6hI,5199
|
|
6
6
|
StreamingCommunity/Api/Player/vixcloud.py,sha256=NOZhW59hyBnG5FfmppcnIudAztr7seWzQBzAN3KC_3M,6317
|
|
7
7
|
StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py,sha256=U-8QlD5kGzIk3-4t4D6QyYmiDe8UBrSuVi1YHRQb7AU,4295
|
|
8
|
-
StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=
|
|
8
|
+
StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=QLUgbwQrpuPIVNzdBlAiEJXnd-eCj_JQFckZZEEL55w,5214
|
|
9
9
|
StreamingCommunity/Api/Site/1337xx/__init__.py,sha256=pyaQ3QlLdiqLcyNyfE6jKhOR5BXUiKLfPcIBHbk8U8U,1378
|
|
10
|
-
StreamingCommunity/Api/Site/1337xx/site.py,sha256=
|
|
10
|
+
StreamingCommunity/Api/Site/1337xx/site.py,sha256=MJzxNLhx6PDsnTTyJebDjzFPpqep54u2Q4VFf9sa23M,2212
|
|
11
11
|
StreamingCommunity/Api/Site/1337xx/title.py,sha256=lGb-IbWEIfg9Eu3XIu6IfxTOjvXkFL_NO9UEZcxOAfE,1831
|
|
12
|
+
StreamingCommunity/Api/Site/altadefinizione/__init__.py,sha256=cQGI_p64kOwyDHiV-Jj5dSTnRCnEl-HyBHDUa0o1PTM,1484
|
|
13
|
+
StreamingCommunity/Api/Site/altadefinizione/film.py,sha256=LiHaKjB4lt3hcLx9kbJvndyZmkOc0yuRWYopD9PkxGI,2930
|
|
14
|
+
StreamingCommunity/Api/Site/altadefinizione/series.py,sha256=fYBIiCP9P422-bfJJ2ualFz3MwKiNsDBoMFXvovadiQ,5581
|
|
15
|
+
StreamingCommunity/Api/Site/altadefinizione/site.py,sha256=8wiC6NOSgPSWWpmGFyg2eZ4gZNXYe_UqTonp2fIdLzc,2089
|
|
16
|
+
StreamingCommunity/Api/Site/altadefinizione/util/ScrapeSerie.py,sha256=NcH8bH7WsBqfLUZCMm5163rBuSPBCb8DgRysI558yFM,2525
|
|
12
17
|
StreamingCommunity/Api/Site/animeunity/__init__.py,sha256=Lz9trBzQZL11wGyIT2Y4CWe3JxOkDUPzTQXXO76s0oQ,2278
|
|
13
|
-
StreamingCommunity/Api/Site/animeunity/film_serie.py,sha256=
|
|
14
|
-
StreamingCommunity/Api/Site/animeunity/site.py,sha256=
|
|
18
|
+
StreamingCommunity/Api/Site/animeunity/film_serie.py,sha256=Nt6j-4wT00SFufjIK9-nkauTVnyfISbUyMfvZk8Z0Lc,5768
|
|
19
|
+
StreamingCommunity/Api/Site/animeunity/site.py,sha256=2M91AZMaOrbUoZUjyB0L6y0g_-67ywfxbPUq37g65J8,4964
|
|
15
20
|
StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py,sha256=6Vbw5KVwUbgooGjUIRAuXr9cWSkHDkAFP7EiXF2T4OM,2709
|
|
16
21
|
StreamingCommunity/Api/Site/cb01new/__init__.py,sha256=jw-eyJunemd3uNwpow75_8s7TX8bYyiRA-zkF5NZ75w,1393
|
|
17
22
|
StreamingCommunity/Api/Site/cb01new/film.py,sha256=trrEGcklB6FhqpJvGaEwHI0EThK__e9O6DuknKAFNHw,1628
|
|
18
|
-
StreamingCommunity/Api/Site/cb01new/site.py,sha256=
|
|
23
|
+
StreamingCommunity/Api/Site/cb01new/site.py,sha256=pZy-skUUzTql3sP7j6kaw1m7JjLe-xFjUiP48EHABMY,2009
|
|
19
24
|
StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py,sha256=XkpTFeb-yFI_bJCIph72cVE8GVoJP7Tby-NqkZNNDM4,1533
|
|
20
25
|
StreamingCommunity/Api/Site/ddlstreamitaly/series.py,sha256=z3te51do5C_O77rDTR1N01aQ76BIGe5pm5i_PWJepQ4,3369
|
|
21
|
-
StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=
|
|
26
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=ZbzGqu24jqKPARKPfyXt5wB6QPRiygXitbgVRb9B2zk,2476
|
|
22
27
|
StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py,sha256=HY8YEvzWp3sy1q07rFLXLZhGYvapA1amMZByYvs0iJM,2553
|
|
23
28
|
StreamingCommunity/Api/Site/guardaserie/__init__.py,sha256=NjMn1EFWdFi9P89qpKNg3Dc84DDOSyuSBX0V5K24OjQ,1385
|
|
24
29
|
StreamingCommunity/Api/Site/guardaserie/series.py,sha256=xXuMR9NiAtXkHrErsmXRY9IkE2FVGuhqjATYEfapb0Y,5670
|
|
25
|
-
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=
|
|
30
|
+
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=0amgeVNguQP_5tD0ajhQX17GbSptE_r5_9JPNCd-caw,2101
|
|
26
31
|
StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py,sha256=4sZRWm8r5X80q285hemRf7MAWeaN5yfOU6i1SjKU4Tg,3268
|
|
27
32
|
StreamingCommunity/Api/Site/mostraguarda/__init__.py,sha256=6oGv_Q6pXFERkbpKjYjFJFblvDYSfe1zZph6_Ch8gNY,1234
|
|
28
33
|
StreamingCommunity/Api/Site/mostraguarda/film.py,sha256=dA7Vo9bU7g8eY8Vaj06_n2MHlKBMHh4B_MIw2sO872A,2719
|
|
29
34
|
StreamingCommunity/Api/Site/streamingcommunity/__init__.py,sha256=FV3ch-farw3tN_-Ay3JV_-TIoHzgQzxEJWPlFibE62Y,2351
|
|
30
35
|
StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=LaZzEQms9t7r30_PjHPgIOUkVDyotX0qFDBMKMVNSWo,2530
|
|
31
|
-
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=
|
|
32
|
-
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=
|
|
33
|
-
StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=
|
|
36
|
+
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=AxRxb7MmWS9AfmibK2iZca7ClzzU91e3p3E9ap3LcQI,8211
|
|
37
|
+
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=Z0tOcF3a6JzXwwsfCh1_qUDLW5PdeTFQsVZrCxyMeGg,2722
|
|
38
|
+
StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=4WU0YFPXcsBpEANMGpAsbtffu3HxCqLsiC0K6_4OlHM,4525
|
|
34
39
|
StreamingCommunity/Api/Template/__init__.py,sha256=oyfd_4_g5p5q6mxb_rKwSsudZnTM3W3kg1tLwxg-v-Q,46
|
|
35
|
-
StreamingCommunity/Api/Template/config_loader.py,sha256=
|
|
40
|
+
StreamingCommunity/Api/Template/config_loader.py,sha256=2RT_0mqQmWzXM4rYaqss-yhXztYAcfNkTalFPjzv270,2056
|
|
36
41
|
StreamingCommunity/Api/Template/site.py,sha256=lD7FCp-xHCTwTam51MYtI-JKRuw1VLsY9KQDtsk3MYE,2842
|
|
37
|
-
StreamingCommunity/Api/Template/Class/SearchType.py,sha256=
|
|
38
|
-
StreamingCommunity/Api/Template/Util/__init__.py,sha256=
|
|
39
|
-
StreamingCommunity/Api/Template/Util/
|
|
40
|
-
StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=aPRgSB6OiUNfYQKMTEDrjxeTFfOUfx3JypvA6nehwP4,9251
|
|
42
|
+
StreamingCommunity/Api/Template/Class/SearchType.py,sha256=LOlE8UgraEM0UAVeNCThDGi8bleei31p7KpryuZm3VE,2530
|
|
43
|
+
StreamingCommunity/Api/Template/Util/__init__.py,sha256=ZWQQd6iymNFDol9HaKPhVBoRX1W-xHJZgU_mZvLVdsM,196
|
|
44
|
+
StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=FYe2DC9SXIXzlRYI7fW4ieBpfrxYzsUgt2C47tYRk7U,9252
|
|
41
45
|
StreamingCommunity/Lib/Downloader/__init__.py,sha256=JhbBh5hOnSM7VmtkxJ7zZ_FtWEC1JdnKThsSBjLV5FY,140
|
|
42
|
-
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=
|
|
46
|
+
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=s3ZXyKsuBN3wE4Y0Y9xXuDauBPbaI9Qhgoy83IeMnbs,21590
|
|
43
47
|
StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=eVQzB06EochPM1E0VNWgfvEyc5wGDq_yG6Fqo7WPNic,18468
|
|
44
|
-
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=
|
|
48
|
+
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=MiKBICNnMPJEz0ICiEfKYFs0LhKKfTSMfm9gGWolR74,7537
|
|
45
49
|
StreamingCommunity/Lib/Downloader/TOR/downloader.py,sha256=KVZxCl1VB1-OuTjUhVS5Ycog_P0vCGTfRzhZPv8O7Ps,11267
|
|
46
50
|
StreamingCommunity/Lib/FFmpeg/__init__.py,sha256=6PBsZdE1jrD2EKOVyx3JEHnyDZzVeKlPkH5T0zyfOgU,130
|
|
47
51
|
StreamingCommunity/Lib/FFmpeg/capture.py,sha256=73BEpTijksErZOu46iRxwl3idKzZ-sVXXRr4nocIGY0,5168
|
|
@@ -49,7 +53,7 @@ StreamingCommunity/Lib/FFmpeg/command.py,sha256=ubpffE02nsZM7xch5gbwGlEiUzecpxcF
|
|
|
49
53
|
StreamingCommunity/Lib/FFmpeg/util.py,sha256=6QzTbk5BNxKYsTl-cJgOO2XGQTWUdMloWMyrGGBs6eU,7168
|
|
50
54
|
StreamingCommunity/Lib/M3U8/__init__.py,sha256=H_KS2eDd3kVXMziFJnD0FCPvPHEizaqfoA36ElTv_r8,170
|
|
51
55
|
StreamingCommunity/Lib/M3U8/decryptor.py,sha256=kuxxsd3eN0VGRrMJWXzHo8gCpT0u3fSZs_lwxlE5Fqs,2948
|
|
52
|
-
StreamingCommunity/Lib/M3U8/estimator.py,sha256=
|
|
56
|
+
StreamingCommunity/Lib/M3U8/estimator.py,sha256=ueb2at6Ueow3TUsAyd43aIy0UzKG2-PEgnYysHRMkZ0,5680
|
|
53
57
|
StreamingCommunity/Lib/M3U8/parser.py,sha256=xN16pQZSCN9mQl_s7OcuH07-mNgVMpAS_hERq6zp7XM,21558
|
|
54
58
|
StreamingCommunity/Lib/M3U8/url_fixer.py,sha256=zldE4yOuNBV6AAvL1KI6p7XdRI_R5YZRscbDgT1564M,1735
|
|
55
59
|
StreamingCommunity/Lib/TMBD/__init__.py,sha256=XzE42tw3Ws59DD1PF8WmGtZ0D4D7Hk3Af8QthNE-22U,66
|
|
@@ -58,18 +62,18 @@ StreamingCommunity/Lib/TMBD/tmdb.py,sha256=byg0EFnlmd9JeLvn1N9K3QkB1KEfeMuFa7OVf
|
|
|
58
62
|
StreamingCommunity/TelegramHelp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
63
|
StreamingCommunity/TelegramHelp/telegram_bot.py,sha256=Qe1__aoK4PpDuing8JtWgdHzLee8LuYYyfeLNA7yADU,26307
|
|
60
64
|
StreamingCommunity/Upload/update.py,sha256=TXWAOfvZr1So_oME11YvX_L5zRy2tM-ijF-_g1jf87o,2548
|
|
61
|
-
StreamingCommunity/Upload/version.py,sha256=
|
|
65
|
+
StreamingCommunity/Upload/version.py,sha256=hDKhBLXzbE1tM986tfsuk7r0PhDnn-z8ib3Txve_wmc,171
|
|
62
66
|
StreamingCommunity/Util/color.py,sha256=NvD0Eni-25oOOkY-szCEoc0lGvzQxyL7xhM0RE4EvUM,458
|
|
63
|
-
StreamingCommunity/Util/config_json.py,sha256=
|
|
67
|
+
StreamingCommunity/Util/config_json.py,sha256=pbXfxBx_SP6eWo-5MYNwLRKRFRF-RT9MMRMLXKP5mM4,19366
|
|
64
68
|
StreamingCommunity/Util/ffmpeg_installer.py,sha256=q5yb_ZXKe9PhcG7JbKLfo1AZa8DNukgHqymPbudDuAY,13585
|
|
65
69
|
StreamingCommunity/Util/headers.py,sha256=TItkaFMx1GqsVNEIS3Tr0BGU5EHyF-HkZVliHORT3P8,308
|
|
66
70
|
StreamingCommunity/Util/logger.py,sha256=9kGD6GmWj2pM8ADpJc85o7jm8DD0c5Aguqnq-9kmxos,3314
|
|
67
71
|
StreamingCommunity/Util/message.py,sha256=SJaIPLvWeQqsIODVUKw3TgYRmBChovmlbcF6OUxqMI8,1425
|
|
68
72
|
StreamingCommunity/Util/os.py,sha256=MUGJKQbNMWeoUrnJ2Ug3hoyYlrPDqU9BY94UmiUbxfA,14858
|
|
69
73
|
StreamingCommunity/Util/table.py,sha256=X1t9VPYl9GemLMk_-x_WfpysQ-3Iv8vh0aTIJKm0fK0,8565
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
streamingcommunity-2.9.4.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
75
|
+
streamingcommunity-2.9.4.dist-info/METADATA,sha256=Jc62h_lSuJU_KKWjfGXMUJ_kXnyUrddv2CFe6UzoqzE,23425
|
|
76
|
+
streamingcommunity-2.9.4.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
|
77
|
+
streamingcommunity-2.9.4.dist-info/entry_points.txt,sha256=Qph9XYfDC8n4LfDLOSl6gJGlkb9eFb5f-JOr_Wb_5rk,67
|
|
78
|
+
streamingcommunity-2.9.4.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
|
|
79
|
+
streamingcommunity-2.9.4.dist-info/RECORD,,
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# 18.06.24
|
|
2
|
-
|
|
3
|
-
import certifi
|
|
4
|
-
from urllib.parse import urlparse, unquote
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
# External libraries
|
|
8
|
-
import httpx
|
|
9
|
-
from rich.console import Console
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
# Internal utilities
|
|
13
|
-
from StreamingCommunity.Util.headers import get_headers
|
|
14
|
-
from StreamingCommunity.Util.config_json import config_manager
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# Variable
|
|
18
|
-
console = Console()
|
|
19
|
-
VERIFY = config_manager.get("REQUESTS", "verify")
|
|
20
|
-
MAX_TIMEOUT = config_manager.get_int("REQUESTS", "timeout")
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def get_tld(url_str):
|
|
24
|
-
"""Extract the TLD (Top-Level Domain) from the URL."""
|
|
25
|
-
try:
|
|
26
|
-
url_str = unquote(url_str)
|
|
27
|
-
parsed = urlparse(url_str)
|
|
28
|
-
domain = parsed.netloc.lower()
|
|
29
|
-
|
|
30
|
-
if domain.startswith('www.'):
|
|
31
|
-
domain = domain[4:]
|
|
32
|
-
parts = domain.split('.')
|
|
33
|
-
|
|
34
|
-
return parts[-1] if len(parts) >= 2 else None
|
|
35
|
-
|
|
36
|
-
except Exception:
|
|
37
|
-
return None
|
|
38
|
-
|
|
39
|
-
def get_base_domain(url_str):
|
|
40
|
-
"""Extract base domain without protocol, www and path."""
|
|
41
|
-
try:
|
|
42
|
-
parsed = urlparse(url_str)
|
|
43
|
-
domain = parsed.netloc.lower()
|
|
44
|
-
if domain.startswith('www.'):
|
|
45
|
-
domain = domain[4:]
|
|
46
|
-
|
|
47
|
-
# Check if domain has multiple parts separated by dots
|
|
48
|
-
parts = domain.split('.')
|
|
49
|
-
if len(parts) > 2:
|
|
50
|
-
return '.'.join(parts[:-1])
|
|
51
|
-
|
|
52
|
-
return parts[0]
|
|
53
|
-
|
|
54
|
-
except Exception:
|
|
55
|
-
return None
|
|
56
|
-
|
|
57
|
-
def validate_url(url, base_url):
|
|
58
|
-
"""Validate if URL is accessible and matches expected base domain."""
|
|
59
|
-
console.print(f"\n[cyan]Starting validation for URL[white]: [yellow]{url}")
|
|
60
|
-
|
|
61
|
-
# Verify URL structure matches base_url structure
|
|
62
|
-
base_domain = get_base_domain(base_url)
|
|
63
|
-
url_domain = get_base_domain(url)
|
|
64
|
-
|
|
65
|
-
if base_domain != url_domain:
|
|
66
|
-
console.print(f"[red]Domain structure mismatch: {url_domain} != {base_domain}")
|
|
67
|
-
return False, None
|
|
68
|
-
|
|
69
|
-
client = httpx.Client(
|
|
70
|
-
http1=True,
|
|
71
|
-
verify=certifi.where(),
|
|
72
|
-
headers=get_headers(),
|
|
73
|
-
timeout=MAX_TIMEOUT
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
# Make request to web site
|
|
77
|
-
response = client.get(url, follow_redirects=False)
|
|
78
|
-
|
|
79
|
-
if response.status_code >= 400:
|
|
80
|
-
console.print(f"[red]Check failed: HTTP {response.status_code}")
|
|
81
|
-
console.print(f"[red]Response content: {response.text}")
|
|
82
|
-
return False, None
|
|
83
|
-
|
|
84
|
-
return True, base_domain
|
|
85
|
-
|
|
86
|
-
def search_domain(base_url: str):
|
|
87
|
-
"""Search for valid domain matching site name and base URL."""
|
|
88
|
-
try:
|
|
89
|
-
is_correct, redirect_tld = validate_url(base_url, base_url)
|
|
90
|
-
|
|
91
|
-
if is_correct:
|
|
92
|
-
tld = redirect_tld or get_tld(base_url)
|
|
93
|
-
return tld, base_url
|
|
94
|
-
|
|
95
|
-
else:
|
|
96
|
-
return None, None
|
|
97
|
-
|
|
98
|
-
except Exception as e:
|
|
99
|
-
console.print(f"[red]Error testing initial URL: {str(e)}")
|
|
100
|
-
return None, None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|