kabigon 0.8.6__py3-none-any.whl → 0.8.8__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.
kabigon/cli.py CHANGED
@@ -8,7 +8,6 @@ from .ptt import PttLoader
8
8
  from .reel import ReelLoader
9
9
  from .twitter import TwitterLoader
10
10
  from .youtube import YoutubeLoader
11
- from .ytdlp import YtdlpLoader
12
11
 
13
12
 
14
13
  def run(url: str) -> None:
@@ -18,7 +17,6 @@ def run(url: str) -> None:
18
17
  TwitterLoader(),
19
18
  YoutubeLoader(),
20
19
  ReelLoader(),
21
- YtdlpLoader(),
22
20
  PDFLoader(),
23
21
  PlaywrightLoader(),
24
22
  ]
kabigon/loader.py CHANGED
@@ -3,9 +3,6 @@ import concurrent.futures
3
3
 
4
4
 
5
5
  class Loader:
6
- def __call__(self, url: str) -> str:
7
- return self.load(url)
8
-
9
6
  def load(self, url: str) -> str:
10
7
  raise NotImplementedError
11
8
 
kabigon/playwright.py CHANGED
@@ -26,7 +26,8 @@ class PlaywrightLoader(Loader):
26
26
 
27
27
  with sync_playwright() as p:
28
28
  browser = p.chromium.launch(headless=self.browser_headless)
29
- page = browser.new_page()
29
+ context = browser.new_context()
30
+ page = context.new_page()
30
31
 
31
32
  page.goto(url, timeout=self.timeout, wait_until=self.wait_until)
32
33
 
@@ -46,7 +47,8 @@ class PlaywrightLoader(Loader):
46
47
 
47
48
  async with async_playwright() as p:
48
49
  browser = await p.chromium.launch(headless=self.browser_headless)
49
- page = await browser.new_page()
50
+ context = await browser.new_context()
51
+ page = await context.new_page()
50
52
 
51
53
  await page.goto(url, timeout=self.timeout, wait_until=self.wait_until)
52
54
 
kabigon/youtube_ytdlp.py CHANGED
@@ -1,12 +1,20 @@
1
1
  from urllib.parse import urlparse
2
2
 
3
+ from aioytt.video_id import ALLOWED_NETLOCS
4
+ from aioytt.video_id import ALLOWED_SCHEMES
5
+
3
6
  from .loader import Loader
4
7
  from .ytdlp import YtdlpLoader
5
8
 
6
9
 
7
10
  def check_youtube_url(url: str) -> None:
8
- if urlparse(url).netloc not in ["youtube.com", "youtu.be"]:
9
- raise ValueError(f"URL must be from youtube.com or youtu.be, got {url}")
11
+ schema = urlparse(url).scheme
12
+ if schema not in ALLOWED_SCHEMES:
13
+ raise ValueError(f"URL scheme is not allowed: {schema}")
14
+
15
+ domain = urlparse(url).netloc
16
+ if domain not in ALLOWED_NETLOCS:
17
+ raise ValueError(f"URL domain is not allowed: {domain}")
10
18
 
11
19
 
12
20
  class YoutubeYtdlpLoader(Loader):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kabigon
3
- Version: 0.8.6
3
+ Version: 0.8.8
4
4
  Author-email: narumi <toucans-cutouts0f@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.10
@@ -1,21 +1,21 @@
1
1
  kabigon/__init__.py,sha256=SUgCaELSHz-omY22-3aJnqyz2usODR2G8pN-lRi-6zs,606
2
- kabigon/cli.py,sha256=PJ0wnwp_AgHA54YxGr1jNJ_q3ls7fEymgTJaJxCVU7M,650
2
+ kabigon/cli.py,sha256=nzztow9R1k4w5J9CADmtVhmGf-LdWWwEZdTpU7H6J4g,592
3
3
  kabigon/compose.py,sha256=rSiP0ed0vb9dJ08erZGyiunOcd0ALHAfBRGlxYg1Tvs,1457
4
4
  kabigon/firecrawl.py,sha256=-5AI9tla_684dtpubY_BRudqLgw28158WdwA1RjJvAA,778
5
5
  kabigon/httpx.py,sha256=Zup9DURyWLqoWzaxBbCYAaV-5LSlHUuAcNyyUsZTVag,696
6
- kabigon/loader.py,sha256=KhOJvlzLDM0o05o4VqMRgiyRVjofkzuGEcihQagj-8M,452
6
+ kabigon/loader.py,sha256=W2ZdSINQKjG-5XNYweM8lIl19JA4wwd7AE2pueHeO70,380
7
7
  kabigon/pdf.py,sha256=PNOx-Dz_VpN-EVnVar_wJJZdxWrDZrAFE-gSuUR9q7o,1870
8
- kabigon/playwright.py,sha256=RpP8qxSZe0p4j8hdRWbK7jJO9DNhIlYn77mXBDMAC3c,1865
8
+ kabigon/playwright.py,sha256=etzxzAmwpATnB_ckxGU3IE4jgKBdlFDwtP1fN0u4Pr8,1959
9
9
  kabigon/ptt.py,sha256=Gyp2nJrjptkjbwZJ9VEQHX0DEgKBe5QRQOmGVHUUgNA,896
10
10
  kabigon/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
11
11
  kabigon/reel.py,sha256=qOwWCvcp7xNKg0JDunq_Bsl8yqqMzrnAOI9k5mSqrOU,874
12
12
  kabigon/twitter.py,sha256=aRqAiFxIwln6lteWdoF6SmvbzO62yBTQRzcB7UcVJwk,1046
13
13
  kabigon/utils.py,sha256=eNTLtHLSB2erDac2HH3jWemgfr8Ou_ozwVb8h9BD-4g,922
14
14
  kabigon/youtube.py,sha256=F9GpLa0iUy03wYU94RrrnrXa6ExqbG6CZpqx5bPENWE,1106
15
- kabigon/youtube_ytdlp.py,sha256=-kElnrP4cLhZz2kNtgp2-ijA8I-IpnRctZ1JNCDN7pw,503
15
+ kabigon/youtube_ytdlp.py,sha256=Y6h55wYF-5PdxLRxsznFtJDypCedD8g-hY9fgCnfvbg,722
16
16
  kabigon/ytdlp.py,sha256=OGVrKRGXY_eHePgDmN52Kkui12NN44LsIPonD_61QBM,1501
17
- kabigon-0.8.6.dist-info/METADATA,sha256=pNniopUiEQG6hp3ateTmckZqjZ2pW4EGqI45tRAUX68,1264
18
- kabigon-0.8.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
19
- kabigon-0.8.6.dist-info/entry_points.txt,sha256=O3FYAO9w-NQvlGMJrBvtrnGHSK2QkUnQBTa30YXRbVE,45
20
- kabigon-0.8.6.dist-info/licenses/LICENSE,sha256=H2T3_RTgmcngMeC7p_SXT3GwBLkd2DaNgAZuxulcfiA,1066
21
- kabigon-0.8.6.dist-info/RECORD,,
17
+ kabigon-0.8.8.dist-info/METADATA,sha256=HtqjSawC0X_3f0dBHzoTvx_aJ_JGuz_mdlZDhjigOBY,1264
18
+ kabigon-0.8.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
19
+ kabigon-0.8.8.dist-info/entry_points.txt,sha256=O3FYAO9w-NQvlGMJrBvtrnGHSK2QkUnQBTa30YXRbVE,45
20
+ kabigon-0.8.8.dist-info/licenses/LICENSE,sha256=H2T3_RTgmcngMeC7p_SXT3GwBLkd2DaNgAZuxulcfiA,1066
21
+ kabigon-0.8.8.dist-info/RECORD,,