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.
- weeb_cli/__init__.py +1 -1
- weeb_cli/commands/downloads.py +339 -8
- weeb_cli/commands/settings.py +127 -1
- weeb_cli/config.py +17 -27
- weeb_cli/locales/en.json +31 -3
- weeb_cli/locales/tr.json +31 -3
- weeb_cli/providers/__init__.py +2 -0
- weeb_cli/providers/allanime.py +252 -0
- weeb_cli/providers/extractors/__init__.py +0 -0
- weeb_cli/providers/extractors/megacloud.py +238 -0
- weeb_cli/providers/hianime.py +294 -0
- weeb_cli/services/database.py +313 -0
- weeb_cli/services/downloader.py +60 -49
- weeb_cli/services/local_library.py +263 -0
- weeb_cli/services/logger.py +55 -0
- weeb_cli/services/notifier.py +41 -0
- weeb_cli/services/progress.py +27 -77
- weeb_cli/ui/header.py +1 -1
- weeb_cli/ui/menu.py +2 -2
- weeb_cli-2.0.0.dist-info/METADATA +199 -0
- weeb_cli-2.0.0.dist-info/RECORD +46 -0
- weeb_cli-1.0.0.dist-info/METADATA +0 -148
- weeb_cli-1.0.0.dist-info/RECORD +0 -38
- {weeb_cli-1.0.0.dist-info → weeb_cli-2.0.0.dist-info}/WHEEL +0 -0
- {weeb_cli-1.0.0.dist-info → weeb_cli-2.0.0.dist-info}/entry_points.txt +0 -0
- {weeb_cli-1.0.0.dist-info → weeb_cli-2.0.0.dist-info}/licenses/LICENSE +0 -0
- {weeb_cli-1.0.0.dist-info → weeb_cli-2.0.0.dist-info}/top_level.txt +0 -0
weeb_cli/services/progress.py
CHANGED
|
@@ -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.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
20
|
+
completed_set = set(current.get("completed", []))
|
|
54
21
|
completed_set.add(ep_number)
|
|
55
|
-
|
|
22
|
+
completed = sorted(list(completed_set))
|
|
56
23
|
|
|
57
|
-
|
|
58
|
-
data[slug]["last_watched"] = ep_number
|
|
24
|
+
last_watched = max(current.get("last_watched", 0), ep_number)
|
|
59
25
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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.
|
|
36
|
+
return self.db.get_all_progress()
|
|
71
37
|
|
|
72
38
|
def get_stats(self):
|
|
73
|
-
data = self.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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 = "
|
|
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
|
-
---
|
weeb_cli-1.0.0.dist-info/RECORD
DELETED
|
@@ -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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|