weeb-cli 1.0.0__py3-none-any.whl → 2.0.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.
@@ -1,76 +1,42 @@
1
- import json
2
- from pathlib import Path
3
1
  from datetime import datetime
4
2
 
5
3
  class ProgressTracker:
6
4
  def __init__(self):
7
- self.config_dir = Path.home() / ".weeb-cli"
8
- self.progress_file = self.config_dir / "progress.json"
9
- self.history_file = self.config_dir / "search_history.json"
10
- self._ensure_file()
11
-
12
- def _ensure_file(self):
13
- self.config_dir.mkdir(parents=True, exist_ok=True)
14
- if not self.progress_file.exists():
15
- with open(self.progress_file, 'w') as f:
16
- json.dump({}, f)
17
- if not self.history_file.exists():
18
- with open(self.history_file, 'w') as f:
19
- json.dump([], f)
20
-
21
- def load_progress(self):
22
- try:
23
- with open(self.progress_file, 'r', encoding='utf-8') as f:
24
- return json.load(f)
25
- except (json.JSONDecodeError, FileNotFoundError):
26
- return {}
27
-
28
- def save_progress(self, data):
29
- with open(self.progress_file, 'w', encoding='utf-8') as f:
30
- json.dump(data, f, indent=2, ensure_ascii=False)
5
+ self._db = None
6
+
7
+ @property
8
+ def db(self):
9
+ if self._db is None:
10
+ from weeb_cli.services.database import db
11
+ self._db = db
12
+ return self._db
31
13
 
32
14
  def get_anime_progress(self, slug):
33
- data = self.load_progress()
34
- return data.get(slug, {
35
- "last_watched": 0,
36
- "completed": [],
37
- "title": "",
38
- "total_episodes": 0,
39
- "last_watched_at": None
40
- })
15
+ return self.db.get_progress(slug)
41
16
 
42
17
  def mark_watched(self, slug, ep_number, title=None, total_episodes=None):
43
- data = self.load_progress()
44
- if slug not in data:
45
- data[slug] = {
46
- "last_watched": 0,
47
- "completed": [],
48
- "title": title or slug,
49
- "total_episodes": total_episodes or 0,
50
- "last_watched_at": None
51
- }
18
+ current = self.db.get_progress(slug)
52
19
 
53
- completed_set = set(data[slug].get("completed", []))
20
+ completed_set = set(current.get("completed", []))
54
21
  completed_set.add(ep_number)
55
- data[slug]["completed"] = sorted(list(completed_set))
22
+ completed = sorted(list(completed_set))
56
23
 
57
- if ep_number > data[slug].get("last_watched", 0):
58
- data[slug]["last_watched"] = ep_number
24
+ last_watched = max(current.get("last_watched", 0), ep_number)
59
25
 
60
- data[slug]["last_watched_at"] = datetime.now().isoformat()
61
-
62
- if title:
63
- data[slug]["title"] = title
64
- if total_episodes:
65
- data[slug]["total_episodes"] = total_episodes
66
-
67
- self.save_progress(data)
26
+ self.db.save_progress(
27
+ slug,
28
+ title or current.get("title", slug),
29
+ last_watched,
30
+ total_episodes or current.get("total_episodes", 0),
31
+ completed,
32
+ datetime.now().isoformat()
33
+ )
68
34
 
69
35
  def get_all_anime(self):
70
- return self.load_progress()
36
+ return self.db.get_all_progress()
71
37
 
72
38
  def get_stats(self):
73
- data = self.load_progress()
39
+ data = self.db.get_all_progress()
74
40
  total_anime = len(data)
75
41
  total_episodes = sum(len(a.get("completed", [])) for a in data.values())
76
42
  total_hours = round(total_episodes * 24 / 60, 1)
@@ -92,7 +58,7 @@ class ProgressTracker:
92
58
  }
93
59
 
94
60
  def get_completed_anime(self):
95
- data = self.load_progress()
61
+ data = self.db.get_all_progress()
96
62
  completed = []
97
63
  for slug, info in data.items():
98
64
  total = info.get("total_episodes", 0)
@@ -102,7 +68,7 @@ class ProgressTracker:
102
68
  return completed
103
69
 
104
70
  def get_in_progress_anime(self):
105
- data = self.load_progress()
71
+ data = self.db.get_all_progress()
106
72
  in_progress = []
107
73
  for slug, info in data.items():
108
74
  total = info.get("total_episodes", 0)
@@ -112,25 +78,9 @@ class ProgressTracker:
112
78
  return sorted(in_progress, key=lambda x: x.get("last_watched_at") or "", reverse=True)
113
79
 
114
80
  def add_search_history(self, query):
115
- try:
116
- with open(self.history_file, 'r', encoding='utf-8') as f:
117
- history = json.load(f)
118
- except:
119
- history = []
120
-
121
- if query in history:
122
- history.remove(query)
123
- history.insert(0, query)
124
- history = history[:10]
125
-
126
- with open(self.history_file, 'w', encoding='utf-8') as f:
127
- json.dump(history, f, ensure_ascii=False)
81
+ self.db.add_search_history(query)
128
82
 
129
83
  def get_search_history(self):
130
- try:
131
- with open(self.history_file, 'r', encoding='utf-8') as f:
132
- return json.load(f)
133
- except:
134
- return []
84
+ return self.db.get_search_history()
135
85
 
136
86
  progress_tracker = ProgressTracker()
weeb_cli/ui/header.py CHANGED
@@ -16,7 +16,7 @@ def show_header(title="Weeb API", show_version=False, show_source=False):
16
16
 
17
17
  if show_source:
18
18
  cfg_source = config.get("scraping_source", "local")
19
- disp_source = "weeb" if cfg_source == "local" else cfg_source
19
+ disp_source = "Weeb" if cfg_source == "local" else cfg_source.capitalize()
20
20
  parts.append(disp_source)
21
21
 
22
22
  if show_version:
weeb_cli/ui/menu.py CHANGED
@@ -15,8 +15,8 @@ def show_main_menu():
15
15
  show_header("Weeb API", show_version=True, show_source=True)
16
16
 
17
17
  opt_search = i18n.get("menu.options.search")
18
- opt_watchlist = i18n.get("menu.options.watchlist")
19
18
  opt_downloads = i18n.get("menu.options.downloads")
19
+ opt_watchlist = i18n.get("menu.options.watchlist")
20
20
  opt_settings = i18n.get("menu.options.settings")
21
21
  opt_exit = i18n.get("menu.options.exit")
22
22
 
@@ -25,8 +25,8 @@ def show_main_menu():
25
25
  i18n.get("menu.prompt"),
26
26
  choices=[
27
27
  opt_search,
28
- opt_watchlist,
29
28
  opt_downloads,
29
+ opt_watchlist,
30
30
  opt_settings,
31
31
  opt_exit
32
32
  ],
@@ -0,0 +1,199 @@
1
+ Metadata-Version: 2.4
2
+ Name: weeb-cli
3
+ Version: 2.0.0
4
+ Summary: Tarayıcı yok, reklam yok, dikkat dağıtıcı unsur yok. Sadece siz ve eşsiz bir anime izleme deneyimi.
5
+ Author-email: ewgsta <ewgst@proton.me>
6
+ License-Expression: CC-BY-NC-ND-4.0
7
+ Project-URL: Homepage, https://weeb-cli.ewgsta.me
8
+ Project-URL: Repository, https://github.com/ewgsta/weeb-cli
9
+ Project-URL: Issues, https://github.com/ewgsta/weeb-cli/issues
10
+ Keywords: anime,weeb,anime-download,anizm,anime-watch,anime-watching,anime-downloading,anime-cli,allanime,animecix,anime-indir,anime-izle,weeb-cli,anime-izleme,anime-indirme,weebanime,tranime
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Environment :: Console
14
+ Requires-Python: >=3.8
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: typer[all]
18
+ Requires-Dist: rich
19
+ Requires-Dist: questionary
20
+ Requires-Dist: requests
21
+ Requires-Dist: packaging
22
+ Requires-Dist: pycryptodome
23
+ Requires-Dist: curl_cffi
24
+ Requires-Dist: appdirs
25
+ Dynamic: license-file
26
+
27
+ <p align="center">
28
+ <img src="weeb_landing/logo/weeb-logo.png" alt="Weeb CLI Logo" width="120">
29
+ </p>
30
+
31
+ <h1 align="center">Weeb CLI</h1>
32
+
33
+ <p align="center">
34
+ <strong>Anime severler için güçlü, platformlar arası komut satırı aracı</strong>
35
+ </p>
36
+
37
+ <p align="center">
38
+ <a href="https://github.com/ewgsta/weeb-cli/releases"><img src="https://img.shields.io/github/v/release/ewgsta/weeb-cli?style=flat-square" alt="Release"></a>
39
+ <a href="https://github.com/ewgsta/weeb-cli/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-CC%20BY--NC--ND%204.0-blue?style=flat-square" alt="License"></a>
40
+ <a href="https://github.com/ewgsta/weeb-cli/stargazers"><img src="https://img.shields.io/github/stars/ewgsta/weeb-cli?style=flat-square" alt="Stars"></a>
41
+ </p>
42
+
43
+ <p align="center">
44
+ <a href="#kurulum">Kurulum</a> •
45
+ <a href="#özellikler">Özellikler</a> •
46
+ <a href="#kullanım">Kullanım</a> •
47
+ <a href="#kaynaklar">Kaynaklar</a> •
48
+ <a href="README-EN.md">English</a>
49
+ </p>
50
+
51
+ ---
52
+
53
+ ## Özellikler
54
+
55
+ ### Çoklu Kaynak Desteği
56
+ - **Türkçe**: Animecix, Turkanime, Anizle
57
+ - **İngilizce**: HiAnime, AllAnime
58
+
59
+ ### Akıllı İzleme
60
+ - MPV entegrasyonu ile yüksek kaliteli HLS/MP4 yayınları
61
+ - Kaldığınız yerden devam etme (dakika bazında)
62
+ - İzleme geçmişi ve istatistikler
63
+ - Tamamlanan (✓) ve devam eden (●) bölüm işaretleri
64
+
65
+ ### Güçlü İndirme Sistemi
66
+ - **Aria2** ile çoklu bağlantılı hızlı indirme
67
+ - **yt-dlp** ile karmaşık yayın desteği
68
+ - Kuyruk sistemi ve eşzamanlı indirme
69
+ - Yarım kalan indirmeleri devam ettirme
70
+ - Akıllı dosya isimlendirme (`Anime Adı - S1B1.mp4`)
71
+
72
+ ### Yerel Kütüphane
73
+ - İndirilen animeleri otomatik tarama
74
+ - Harici disk desteği (USB, HDD)
75
+ - Çevrimdışı anime indexleme
76
+ - Tüm kaynaklarda arama
77
+
78
+ ### Ek Özellikler
79
+ - SQLite veritabanı (hızlı ve güvenilir)
80
+ - İndirme tamamlandığında sistem bildirimi
81
+ - Arama geçmişi
82
+ - Debug modu ve loglama
83
+ - Otomatik güncelleme kontrolü
84
+
85
+ ---
86
+
87
+ ## Kurulum
88
+
89
+ ### PyPI (Evrensel)
90
+ ```bash
91
+ pip install weeb-cli
92
+ ```
93
+
94
+ ### Arch Linux (AUR)
95
+ ```bash
96
+ yay -S weeb-cli
97
+ ```
98
+
99
+ ### Homebrew (macOS/Linux)
100
+ ```bash
101
+ brew install ewgsta/tap/weeb-cli
102
+ ```
103
+
104
+ ### ~~Chocolatey (Windows)~~ *(onay bekliyor)*
105
+
106
+ ### Scoop (Windows)
107
+ ```powershell
108
+ scoop bucket add weeb https://github.com/ewgsta/scoop-bucket.git
109
+ scoop install weeb-cli
110
+ ```
111
+
112
+ ### Portable
113
+ [Releases](https://github.com/ewgsta/weeb-cli/releases) sayfasından platformunuza uygun dosyayı indirin.
114
+
115
+ ### Geliştirici Kurulumu
116
+ ```bash
117
+ git clone https://github.com/ewgsta/weeb-cli.git
118
+ cd weeb-cli
119
+ pip install -e .
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Kullanım
125
+
126
+ ```bash
127
+ weeb
128
+ ```
129
+
130
+ ### Klavye Kontrolleri
131
+ | Tuş | İşlev |
132
+ |-----|-------|
133
+ | `↑` `↓` | Menüde gezinme |
134
+ | `Enter` | Seçim yapma |
135
+ | `Ctrl+C` | Geri dön / Çıkış |
136
+
137
+ ---
138
+
139
+ ## Kaynaklar
140
+
141
+ | Kaynak | Dil | Durum |
142
+ |--------|-----|-------|
143
+ | Animecix | Türkçe | ✅ Aktif |
144
+ | Turkanime | Türkçe | ✅ Aktif |
145
+ | Anizle | Türkçe | ✅ Aktif |
146
+ | HiAnime | İngilizce | ✅ Aktif |
147
+ | AllAnime | İngilizce | ✅ Aktif |
148
+
149
+ ---
150
+
151
+ ## Ayarlar
152
+
153
+ Yapılandırma: `~/.weeb-cli/weeb.db` (SQLite)
154
+
155
+ | Ayar | Açıklama | Varsayılan |
156
+ |------|----------|------------|
157
+ | `aria2_enabled` | Aria2 kullanımı | `true` |
158
+ | `max_concurrent_downloads` | Eşzamanlı indirme | `3` |
159
+ | `download_dir` | İndirme klasörü | `./weeb-downloads` |
160
+ | `debug_mode` | Debug loglama | `false` |
161
+
162
+ ---
163
+
164
+ ## Yol Haritası
165
+
166
+ ### Tamamlanan
167
+ - [x] Çoklu kaynak desteği (TR/EN)
168
+ - [x] MPV ile izleme
169
+ - [x] İzleme geçmişi ve ilerleme takibi
170
+ - [x] Aria2/yt-dlp indirme entegrasyonu
171
+ - [x] Harici disk ve yerel kütüphane
172
+ - [x] SQLite veritabanı
173
+ - [x] Bildirim sistemi
174
+ - [x] Debug modu
175
+
176
+ ### Planlanan
177
+ - [ ] MAL/AniList entegrasyonu
178
+ - [ ] Anime önerileri
179
+ - [ ] Toplu işlemler
180
+ - [ ] İzleme istatistikleri (grafik)
181
+ - [ ] Veritabanı yedekleme/geri yükleme
182
+ - [ ] Tema desteği
183
+ - [ ] Klavye kısayolları
184
+ - [ ] Altyazı indirme
185
+ - [ ] Torrent desteği (nyaa.si)
186
+ - [ ] Watch party
187
+
188
+ ---
189
+
190
+ ## Lisans
191
+
192
+ Bu proje [CC BY-NC-ND 4.0](LICENSE) lisansı ile lisanslanmıştır.
193
+
194
+ ---
195
+
196
+ <p align="center">
197
+ <a href="https://weeb-cli.ewgsta.me">Website</a> •
198
+ <a href="https://github.com/ewgsta/weeb-cli/issues">Sorun Bildir</a>
199
+ </p>
@@ -0,0 +1,46 @@
1
+ weeb_cli/__init__.py,sha256=jfMYUkKiruYd9cM9tY-_mLygW0fRj75GOhW2tEhKhOI,21
2
+ weeb_cli/__main__.py,sha256=RCZmmoCNOWC7rAfIDm_LaymsybXIzE6McYbUEEkf9P8,60
3
+ weeb_cli/config.py,sha256=kxzEFxkhlToC8w-sOLi0xAKWKSQW98shR_vFj-s7ueU,973
4
+ weeb_cli/i18n.py,sha256=dGFEle12XkhuHJEAndJfzswRRr-77ne_HyDpQ_kQqLg,1730
5
+ weeb_cli/main.py,sha256=ifj3AOsq0Dx_n037J3rc8IibDdZJu8fdN-Gr7iuYK2U,2426
6
+ weeb_cli/commands/downloads.py,sha256=2jLjUqNMUWxOMg5VTA-JtjEDY6jGM_uGkGXQqKjm3X0,16228
7
+ weeb_cli/commands/search.py,sha256=4RquyvBGsPTV3Z6cyoMTpH3a0aLlAz5OrkpUKV1UJSM,15047
8
+ weeb_cli/commands/settings.py,sha256=5TJRbbgpblKFZXEE1q1pwukAsPiyNilCZNPaWxBwCos,13007
9
+ weeb_cli/commands/setup.py,sha256=Lx6Iv4FEutk07TiYGKRdEqkFQ7pZpzqKkqAk4WraiG8,1016
10
+ weeb_cli/commands/watchlist.py,sha256=Me0469MFUe_xX4lVHbQjJ4cXaPnC4Ag1SjCNvPnQT4I,4358
11
+ weeb_cli/locales/en.json,sha256=4uoMdBOVtFZLGBnUQ7jNh7EDkDuB9F-cgO5k4Kfokc8,7909
12
+ weeb_cli/locales/tr.json,sha256=_HcG0mQAJT7-QZEYf8kb47peVn1HXIY03GK903VV8NA,8398
13
+ weeb_cli/providers/__init__.py,sha256=0rOz-168j4VEmim7fg8y7mWMJtB6Td4qhKg09bVOeZI,566
14
+ weeb_cli/providers/allanime.py,sha256=IgnK_vvoifAlE9V0QqWxPIzT73B7LA5Ollnj8CTm5cw,8283
15
+ weeb_cli/providers/animecix.py,sha256=N5Je2mqmilTFkxp4nAjBJLHBoMof_SEDcejGXotPyk4,8536
16
+ weeb_cli/providers/anizle.py,sha256=mE0lpFkO98xs30xMcE0dTUBJHbjctiWdjjBe2iOFqOo,14664
17
+ weeb_cli/providers/base.py,sha256=3SxHJS_CDo_sABANAXixszXTcAnGJ5sceDQ5PCbHLLQ,2471
18
+ weeb_cli/providers/hianime.py,sha256=Xjb-brfwxT6NEOJ2DYzugMKtDLZA9LcW3Za5UESePcM,10464
19
+ weeb_cli/providers/registry.py,sha256=xRfYWOgOE6vtdWVA8uSqAFyy6T-Zw8dJIkJbUB1yO9k,1142
20
+ weeb_cli/providers/turkanime.py,sha256=9Kr4fzF8jZ-KurVKE72NOfPs4T-ZvLFOpzbAJDAnoaM,15177
21
+ weeb_cli/providers/extractors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ weeb_cli/providers/extractors/megacloud.py,sha256=_PJKP2pzi6D1zieINLssjkv22OQSgbT7vo31-NaL36w,7329
23
+ weeb_cli/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ weeb_cli/services/database.py,sha256=ud3nbhaooy-qAmp_L5b7RVfYorloaisg-TqAZ2tlTLM,12532
25
+ weeb_cli/services/dependency_manager.py,sha256=oIKpIpStmcw5N_AUDgGBUHEedRyOHSo3xTnC61nThuE,13021
26
+ weeb_cli/services/details.py,sha256=o3baTCZRp_cRr6kIDEcHFBL0dvE8VkVSa1tKcyYDPw4,928
27
+ weeb_cli/services/downloader.py,sha256=7cnL0r1LgMsnYlpsvE8xBeaAOJymiN4vnMZVsMYNX_s,11976
28
+ weeb_cli/services/local_library.py,sha256=cHyd3bOVulrE0Tv2ITkOvyX6Eu2qvbnjNGOUQ5zAOmg,8879
29
+ weeb_cli/services/logger.py,sha256=jrzAfrAhMtjx5I-H0nHscD10QDgFtA60U6MG6rA7gzA,1357
30
+ weeb_cli/services/notifier.py,sha256=O7O0jm3sGThgVLrus-Q4PoiHF-x5X_mVr0HtNX28sEw,1220
31
+ weeb_cli/services/player.py,sha256=jtMpY2zlMcQNnTH8A33uPbtt1HNqq5l1cFjtbtN3JMk,1481
32
+ weeb_cli/services/progress.py,sha256=ufGO2Oe1nAu8e0pgnXpm7YXPx0pwdZR-0xKqId17JRM,2879
33
+ weeb_cli/services/scraper.py,sha256=AuKqraCgTZ7Tibj2BXws2co34lGR4ML1nCHLpTf5km8,2909
34
+ weeb_cli/services/search.py,sha256=UritwFArdjZJYvv6yzThmCa1A1Eo8OwvgWl7TyDqLE8,360
35
+ weeb_cli/services/updater.py,sha256=-HWQHsG23rlBM6fi2WruDy_AJtdcBtZp9QLAJw0QCNs,6612
36
+ weeb_cli/services/watch.py,sha256=opZWQ2D3PmkMG8TZtXb17tLVc13Y7lY3t-riIYJHIrc,455
37
+ weeb_cli/ui/__init__.py,sha256=yVsYLjOcffe8b6I1YVDriuQJB6AhDTo2vK_WX0qOPcM,18
38
+ weeb_cli/ui/header.py,sha256=23VkRSvK10M3JzrE1sfm3H_MIaPFprW31H9ANi7H06o,810
39
+ weeb_cli/ui/menu.py,sha256=SkbRlC6z9QRnHUQ8qlD02598Jtyjyl-sNzLhWPGFcAg,1829
40
+ weeb_cli/ui/prompt.py,sha256=VsY3kl9aByQDDKWOY9pMee_n1cZqLNij6XwBctzwUQs,4824
41
+ weeb_cli-2.0.0.dist-info/licenses/LICENSE,sha256=Tpuv7ovBvaJKV8jfL9GDRKQhxeFJJXtwMAOgQwfep6E,18902
42
+ weeb_cli-2.0.0.dist-info/METADATA,sha256=klpOHRIpRVTE0mPOh5NbcXzBqsGgpze4faavk6TCrIE,5224
43
+ weeb_cli-2.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
+ weeb_cli-2.0.0.dist-info/entry_points.txt,sha256=qg3Wrgahb3k9709tTWTiqVSDHAU1IGKm9OEIpWMh7Ys,47
45
+ weeb_cli-2.0.0.dist-info/top_level.txt,sha256=4z8FZTru4fNZ_GM3NSb3yux6kMGYDuG0TwhfnbGYC1A,9
46
+ weeb_cli-2.0.0.dist-info/RECORD,,
@@ -1,148 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: weeb-cli
3
- Version: 1.0.0
4
- Summary: Tarayıcı yok, reklam yok, dikkat dağıtıcı unsur yok. Sadece siz ve eşsiz bir anime izleme deneyimi.
5
- Author-email: ewgsta <ewgst@proton.me>
6
- License-Expression: CC-BY-NC-ND-4.0
7
- Project-URL: Homepage, https://weeb-cli.ewgsta.me
8
- Project-URL: Repository, https://github.com/ewgsta/weeb-cli
9
- Project-URL: Issues, https://github.com/ewgsta/weeb-cli/issues
10
- Keywords: anime,weeb,anime-download,anizm,anime-watch,anime-watching,anime-downloading,anime-cli,allanime,animecix,anime-indir,anime-izle,weeb-cli,anime-izleme,anime-indirme,weebanime,tranime
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Operating System :: OS Independent
13
- Classifier: Environment :: Console
14
- Requires-Python: >=3.8
15
- Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: typer[all]
18
- Requires-Dist: rich
19
- Requires-Dist: questionary
20
- Requires-Dist: requests
21
- Requires-Dist: packaging
22
- Requires-Dist: pycryptodome
23
- Requires-Dist: curl_cffi
24
- Requires-Dist: appdirs
25
- Dynamic: license-file
26
-
27
- <div align="center">
28
- <img src="https://raw.githubusercontent.com/ewgsta/weeb-cli/refs/heads/main/weeb_landing/logo/256x256.webp" alt="Weeb CLI Logo" width="200" height="200" />
29
- <h1>Weeb CLI</h1>
30
- <p>
31
- <b>Tarayıcı yok, reklam yok, dikkat dağıtıcı unsur yok. Sadece siz ve eşsiz bir anime izleme deneyimi.</b>
32
- </p>
33
-
34
- <p>
35
- <a href="./README-EN.md">Read in English</a>
36
- </p>
37
-
38
- <p>
39
- <a href="https://pypi.org/project/weeb-cli/">
40
- <img src="https://img.shields.io/pypi/v/weeb-cli?style=flat-square&color=blue" alt="PyPI Sürümü" />
41
- </a>
42
- <a href="https://aur.archlinux.org/packages/weeb-cli">
43
- <img src="https://img.shields.io/aur/version/weeb-cli?style=flat-square&color=magenta" alt="AUR Sürümü" />
44
- </a>
45
- <img src="https://img.shields.io/github/license/ewgsta/weeb-cli?style=flat-square" alt="Lisans" />
46
- <img src="https://img.shields.io/badge/platform-win%20%7C%20linux%20%7C%20macos-lightgrey?style=flat-square" alt="Platform" />
47
- </p>
48
- </div>
49
-
50
- Weeb CLI, anime severler için tasarlanmış güçlü, platformlar arası bir komut satırı aracıdır. Favori anime serilerinizi doğrudan terminalinizden arayın, izleyin ve indirin.
51
-
52
- ---
53
-
54
- ## Özellikler
55
-
56
- - **Gelişmiş Arama**: Hızlı ve detaylı meta verilerle anime arama.
57
- - **Kesintisiz İzleme**: **MPV** entegrasyonu ile HLS/MP4 yayınlarını yüksek kalitede anında izleyin.
58
- - **Akıllı İndirici**:
59
- - **Aria2** entegrasyonu ile çoklu bağlantılı yüksek hızlı indirmeler.
60
- - Karmaşık yayınlar için **yt-dlp** desteği.
61
- - Eşzamanlı indirme yönetimi ve kuyruk sistemi.
62
- - Akıllı dosya isimlendirme (Örn: `Anime Adı - S1B1.mp4`).
63
- - **İzleme Geçmişi**: İlerlemenizi otomatik takip eder. Kaldığınız yeri (`●`) ve tamamlanan bölümleri (`✓`) işaretler.
64
- - **Çoklu Dil**: Tam Türkçe ve İngilizce arayüz desteği.
65
- - **Çoklu Kaynak**: HiAnime, AllAnime (İngilizce), Animecix, Anizle, Turkanime, Weeb (Yerel Kaynak) (Türkçe)
66
- - **Otomatik Kurulum**: Gerekli araçları (MPV, FFmpeg, Aria2, yt-dlp) eksikse otomatik tespit eder ve kurar.
67
-
68
- ## Kurulum
69
-
70
- ### PyPI (Evrensel)
71
- ```bash
72
- pip install weeb-cli
73
- ```
74
-
75
- ### AUR (Arch Linux)
76
- ```bash
77
- yay -S weeb-cli
78
- ```
79
-
80
- ### Homebrew (macOS/Linux)
81
- ```bash
82
- brew tap ewgsta/tap
83
- brew install weeb-cli
84
- ```
85
-
86
- ### Scoop (Windows)
87
- ```bash
88
- scoop bucket add weeb-cli https://github.com/ewgsta/scoop-bucket
89
- scoop install weeb-cli
90
- ```
91
-
92
- ### Chocolatey (Windows)
93
- ```bash
94
- choco install weeb-cli
95
- ```
96
-
97
-
98
- ---
99
-
100
- ## Kullanım
101
-
102
- Aracı terminalden başlatmak için:
103
-
104
- ```bash
105
- weeb-cli
106
- ```
107
-
108
- ### Kontroller
109
- - **Ok Tuşları**: Menülerde gezinme.
110
- - **Enter**: Seçim yapma.
111
- - **Ctrl+C**: Geri gel / Çıkış.
112
-
113
- ---
114
-
115
- ## Yol Haritası (To-Do)
116
-
117
- - [x] Temel Arama ve Detaylar
118
- - [x] MPV ile İzleme
119
- - [x] Yerel İzleme Geçmişi ve İlerleme Takibi
120
- - [x] İndirme Yöneticisi (Aria2/yt-dlp Entegrasyonu)
121
- - [x] İnteraktif Ayarlar Menüsü
122
- - [ ] **Anilist / MAL Entegrasyonu** (Listeleri senkronize etme)
123
- - [ ] **Torrent Desteği** (Webtorrent ile izleme ve indirme)
124
- - [ ] **Özel Temalar** (Renk düzenini değiştirme)
125
- - [ ] **Bildirim Sistemi** (Yeni bölüm uyarıları)
126
- - [ ] **Toplu İndirme** (Tek tıkla tüm sezonu indirme)
127
- - [ ] **Discord RPC** (Ne izlediğini gösterme)
128
-
129
- ---
130
-
131
- ## Ayarlar
132
-
133
- Yapılandırma dosyası `~/.weeb-cli/config.json` konumunda saklanır. Uygulama içindeki **Ayarlar** menüsünden de yönetilebilir.
134
-
135
- | Ayar | Açıklama | Varsayılan |
136
- |------|----------|------------|
137
- | `aria2_enabled` | Hızlı indirme için Aria2 kullanımı | `true` |
138
- | `max_concurrent_downloads` | Eşzamanlı indirme sayısı | `3` |
139
- | `download_dir` | İndirme klasörü | `./weeb-downloads` |
140
-
141
- ---
142
-
143
- ## Lisans
144
-
145
- Bu proje Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Lisansı (CC BY-NC-ND 4.0) ile lisanslanmıştır.
146
- Detaylar için [LICENSE](LICENSE) dosyasına bakınız.
147
-
148
- ---
@@ -1,38 +0,0 @@
1
- weeb_cli/__init__.py,sha256=Aj77VL1d5Mdku7sgCgKQmPuYavPpAHuZuJcy6bygQZE,21
2
- weeb_cli/__main__.py,sha256=RCZmmoCNOWC7rAfIDm_LaymsybXIzE6McYbUEEkf9P8,60
3
- weeb_cli/config.py,sha256=1qm2UfGaF2-3QQUKsRf-xq_6frtO-V76vTSqYUwsQwk,1392
4
- weeb_cli/i18n.py,sha256=dGFEle12XkhuHJEAndJfzswRRr-77ne_HyDpQ_kQqLg,1730
5
- weeb_cli/main.py,sha256=ifj3AOsq0Dx_n037J3rc8IibDdZJu8fdN-Gr7iuYK2U,2426
6
- weeb_cli/commands/downloads.py,sha256=qIpOCcYN3FVrYxSBfpwUa9qld4yFPLzNEAiKHyKaUTs,4638
7
- weeb_cli/commands/search.py,sha256=4RquyvBGsPTV3Z6cyoMTpH3a0aLlAz5OrkpUKV1UJSM,15047
8
- weeb_cli/commands/settings.py,sha256=FZ4MNbK9eurtAPuQIMXyAdhTdNObVrFMGY0e0g3ilz4,9020
9
- weeb_cli/commands/setup.py,sha256=Lx6Iv4FEutk07TiYGKRdEqkFQ7pZpzqKkqAk4WraiG8,1016
10
- weeb_cli/commands/watchlist.py,sha256=Me0469MFUe_xX4lVHbQjJ4cXaPnC4Ag1SjCNvPnQT4I,4358
11
- weeb_cli/locales/en.json,sha256=ETPxo3T_hxbPfOjK7qhq5sCTEbPCfDPxmFujnE4lHbI,6617
12
- weeb_cli/locales/tr.json,sha256=0YR4d0WrN7CFZoju6S9xVlNwQFVZLw-MQGM6X9W6CQI,7038
13
- weeb_cli/providers/__init__.py,sha256=Ou6GGkQy6CkdzHtOlBeidxLWUnpwItMFgEbXYJ-y8Bk,487
14
- weeb_cli/providers/animecix.py,sha256=N5Je2mqmilTFkxp4nAjBJLHBoMof_SEDcejGXotPyk4,8536
15
- weeb_cli/providers/anizle.py,sha256=mE0lpFkO98xs30xMcE0dTUBJHbjctiWdjjBe2iOFqOo,14664
16
- weeb_cli/providers/base.py,sha256=3SxHJS_CDo_sABANAXixszXTcAnGJ5sceDQ5PCbHLLQ,2471
17
- weeb_cli/providers/registry.py,sha256=xRfYWOgOE6vtdWVA8uSqAFyy6T-Zw8dJIkJbUB1yO9k,1142
18
- weeb_cli/providers/turkanime.py,sha256=9Kr4fzF8jZ-KurVKE72NOfPs4T-ZvLFOpzbAJDAnoaM,15177
19
- weeb_cli/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- weeb_cli/services/dependency_manager.py,sha256=oIKpIpStmcw5N_AUDgGBUHEedRyOHSo3xTnC61nThuE,13021
21
- weeb_cli/services/details.py,sha256=o3baTCZRp_cRr6kIDEcHFBL0dvE8VkVSa1tKcyYDPw4,928
22
- weeb_cli/services/downloader.py,sha256=9Zn_kSuJ5lnC45sMGU65LnLPOLS5SbqgkNPOtXbpEKM,11265
23
- weeb_cli/services/player.py,sha256=jtMpY2zlMcQNnTH8A33uPbtt1HNqq5l1cFjtbtN3JMk,1481
24
- weeb_cli/services/progress.py,sha256=--CMERTzlDcS5cB5upEC7n6K4d3jsHa226cadPsilsc,4665
25
- weeb_cli/services/scraper.py,sha256=AuKqraCgTZ7Tibj2BXws2co34lGR4ML1nCHLpTf5km8,2909
26
- weeb_cli/services/search.py,sha256=UritwFArdjZJYvv6yzThmCa1A1Eo8OwvgWl7TyDqLE8,360
27
- weeb_cli/services/updater.py,sha256=-HWQHsG23rlBM6fi2WruDy_AJtdcBtZp9QLAJw0QCNs,6612
28
- weeb_cli/services/watch.py,sha256=opZWQ2D3PmkMG8TZtXb17tLVc13Y7lY3t-riIYJHIrc,455
29
- weeb_cli/ui/__init__.py,sha256=yVsYLjOcffe8b6I1YVDriuQJB6AhDTo2vK_WX0qOPcM,18
30
- weeb_cli/ui/header.py,sha256=dMjo5E8Ama4fLxgJPmWPD_wi7YhuMu7vv4nlosFLDaU,797
31
- weeb_cli/ui/menu.py,sha256=OOmL7aMUh0B2pQ1bnED-z6svVYz3sZzvUsBRw5FgNkA,1829
32
- weeb_cli/ui/prompt.py,sha256=VsY3kl9aByQDDKWOY9pMee_n1cZqLNij6XwBctzwUQs,4824
33
- weeb_cli-1.0.0.dist-info/licenses/LICENSE,sha256=Tpuv7ovBvaJKV8jfL9GDRKQhxeFJJXtwMAOgQwfep6E,18902
34
- weeb_cli-1.0.0.dist-info/METADATA,sha256=4UrMAh1YpZ9lmqZRipfFRbeDcuTvi2wIE95OFJnAqu8,4912
35
- weeb_cli-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
36
- weeb_cli-1.0.0.dist-info/entry_points.txt,sha256=qg3Wrgahb3k9709tTWTiqVSDHAU1IGKm9OEIpWMh7Ys,47
37
- weeb_cli-1.0.0.dist-info/top_level.txt,sha256=4z8FZTru4fNZ_GM3NSb3yux6kMGYDuG0TwhfnbGYC1A,9
38
- weeb_cli-1.0.0.dist-info/RECORD,,