crec 0.1.0__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.
- crec-0.1.0/LICENSE +21 -0
- crec-0.1.0/PKG-INFO +151 -0
- crec-0.1.0/README.md +116 -0
- crec-0.1.0/crec/__init__.py +8 -0
- crec-0.1.0/crec/cli.py +132 -0
- crec-0.1.0/crec.egg-info/PKG-INFO +151 -0
- crec-0.1.0/crec.egg-info/SOURCES.txt +11 -0
- crec-0.1.0/crec.egg-info/dependency_links.txt +1 -0
- crec-0.1.0/crec.egg-info/entry_points.txt +2 -0
- crec-0.1.0/crec.egg-info/requires.txt +5 -0
- crec-0.1.0/crec.egg-info/top_level.txt +1 -0
- crec-0.1.0/setup.cfg +4 -0
- crec-0.1.0/setup.py +40 -0
crec-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 [Your Name]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
crec-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: crec
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The Ultimate Media Downloader - Download videos, audio, and images from various platforms
|
|
5
|
+
Home-page: https://github.com/yourusername/crec
|
|
6
|
+
Author: Your Name
|
|
7
|
+
Author-email: your.email@example.com
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
10
|
+
Classifier: Topic :: Multimedia :: Video
|
|
11
|
+
Classifier: Topic :: Multimedia :: Sound/Audio
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Requires-Python: >=3.7
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: yt-dlp>=2023.12.30
|
|
23
|
+
Requires-Dist: ffmpeg-python>=0.2.0
|
|
24
|
+
Requires-Dist: win10toast>=0.9; platform_system == "Windows"
|
|
25
|
+
Dynamic: author
|
|
26
|
+
Dynamic: author-email
|
|
27
|
+
Dynamic: classifier
|
|
28
|
+
Dynamic: description
|
|
29
|
+
Dynamic: description-content-type
|
|
30
|
+
Dynamic: home-page
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
Dynamic: requires-dist
|
|
33
|
+
Dynamic: requires-python
|
|
34
|
+
Dynamic: summary
|
|
35
|
+
|
|
36
|
+
# ๐ฅ crec - The Ultimate Media Downloader
|
|
37
|
+
|
|
38
|
+
> Your one-stop solution for downloading videos, audio, and images from the web. No BS, just pure downloading power! ๐
|
|
39
|
+
|
|
40
|
+
## โจ Features
|
|
41
|
+
|
|
42
|
+
### ๐ฏ Core Features
|
|
43
|
+
|
|
44
|
+
- **One Command Magic**: Just paste the URL and watch the magic happen! โจ
|
|
45
|
+
- **Smart Organization**: Files automatically sorted into videos, audio, photos, and more! ๐
|
|
46
|
+
- **Cross-Platform**: Works on Windows, macOS, and Linux like a charm! ๐ซ
|
|
47
|
+
- **Clipboard Magic**: Downloaded file path automatically copied to clipboard! ๐
|
|
48
|
+
|
|
49
|
+
### ๐ฎ Basic Usage
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Download best quality
|
|
53
|
+
crec "https://youtube.com/..."
|
|
54
|
+
|
|
55
|
+
# Download audio only
|
|
56
|
+
crec -a "https://youtube.com/..."
|
|
57
|
+
|
|
58
|
+
# Download in 720p
|
|
59
|
+
crec -q 720 "https://youtube.com/..."
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### ๐ ๏ธ Advanced Features
|
|
63
|
+
|
|
64
|
+
#### ๐ฅ Video Options
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# List available qualities
|
|
68
|
+
crec -ql "https://youtube.com/..."
|
|
69
|
+
|
|
70
|
+
# Compress video (light)
|
|
71
|
+
crec -f1 "https://youtube.com/..."
|
|
72
|
+
|
|
73
|
+
# Compress video (heavy)
|
|
74
|
+
crec -f2 "https://youtube.com/..."
|
|
75
|
+
|
|
76
|
+
# Custom FFmpeg settings
|
|
77
|
+
crec --ffmpeg-args "-c:v libx264 -crf 23" "https://youtube.com/..."
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### ๐ฆ Playlist & Batch
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Download entire playlist
|
|
84
|
+
crec -p "https://youtube.com/playlist?list=..."
|
|
85
|
+
|
|
86
|
+
# Custom output directory
|
|
87
|
+
crec -o "C:/Videos" "https://youtube.com/..."
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### ๐จ Customization
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Download thumbnail
|
|
94
|
+
crec -t "https://youtube.com/..."
|
|
95
|
+
|
|
96
|
+
# Custom filename pattern
|
|
97
|
+
crec -n "{title}_{quality}" "https://youtube.com/..."
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### ๐งน Maintenance
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Open crec directory
|
|
104
|
+
crec -op
|
|
105
|
+
|
|
106
|
+
# Clean up downloads
|
|
107
|
+
crec -d
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### ๐ Filename Patterns
|
|
111
|
+
|
|
112
|
+
Use these placeholders in your custom filenames:
|
|
113
|
+
|
|
114
|
+
- `{title}` - Video title
|
|
115
|
+
- `{id}` - Video ID
|
|
116
|
+
- `{quality}` - Video quality
|
|
117
|
+
- `{date}` - Upload date
|
|
118
|
+
|
|
119
|
+
Example: `crec -n "{title}_{quality}" "https://youtube.com/..."`
|
|
120
|
+
|
|
121
|
+
### ๐ฏ Supported Platforms
|
|
122
|
+
|
|
123
|
+
- YouTube ๐ฅ
|
|
124
|
+
- Twitter ๐ฆ
|
|
125
|
+
- TikTok ๐ฑ
|
|
126
|
+
- Instagram ๐ธ
|
|
127
|
+
|
|
128
|
+
## ๐ Installation
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
pip install crec
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## ๐ก Pro Tips
|
|
135
|
+
|
|
136
|
+
1. Use `-ql` to check available qualities before downloading
|
|
137
|
+
2. Combine `-t` with `-n` for organized thumbnails
|
|
138
|
+
3. Use `-op` to quickly access your downloads
|
|
139
|
+
4. Custom FFmpeg args for pro-level compression
|
|
140
|
+
|
|
141
|
+
## ๐ค Contributing
|
|
142
|
+
|
|
143
|
+
Found a bug? Want a new feature? PRs are welcome!
|
|
144
|
+
|
|
145
|
+
## ๐ License
|
|
146
|
+
|
|
147
|
+
MIT License - Feel free to use, modify, and distribute!
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
Made with โค๏ธ for the internet community
|
crec-0.1.0/README.md
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# ๐ฅ crec - The Ultimate Media Downloader
|
|
2
|
+
|
|
3
|
+
> Your one-stop solution for downloading videos, audio, and images from the web. No BS, just pure downloading power! ๐
|
|
4
|
+
|
|
5
|
+
## โจ Features
|
|
6
|
+
|
|
7
|
+
### ๐ฏ Core Features
|
|
8
|
+
|
|
9
|
+
- **One Command Magic**: Just paste the URL and watch the magic happen! โจ
|
|
10
|
+
- **Smart Organization**: Files automatically sorted into videos, audio, photos, and more! ๐
|
|
11
|
+
- **Cross-Platform**: Works on Windows, macOS, and Linux like a charm! ๐ซ
|
|
12
|
+
- **Clipboard Magic**: Downloaded file path automatically copied to clipboard! ๐
|
|
13
|
+
|
|
14
|
+
### ๐ฎ Basic Usage
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Download best quality
|
|
18
|
+
crec "https://youtube.com/..."
|
|
19
|
+
|
|
20
|
+
# Download audio only
|
|
21
|
+
crec -a "https://youtube.com/..."
|
|
22
|
+
|
|
23
|
+
# Download in 720p
|
|
24
|
+
crec -q 720 "https://youtube.com/..."
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### ๐ ๏ธ Advanced Features
|
|
28
|
+
|
|
29
|
+
#### ๐ฅ Video Options
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# List available qualities
|
|
33
|
+
crec -ql "https://youtube.com/..."
|
|
34
|
+
|
|
35
|
+
# Compress video (light)
|
|
36
|
+
crec -f1 "https://youtube.com/..."
|
|
37
|
+
|
|
38
|
+
# Compress video (heavy)
|
|
39
|
+
crec -f2 "https://youtube.com/..."
|
|
40
|
+
|
|
41
|
+
# Custom FFmpeg settings
|
|
42
|
+
crec --ffmpeg-args "-c:v libx264 -crf 23" "https://youtube.com/..."
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### ๐ฆ Playlist & Batch
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Download entire playlist
|
|
49
|
+
crec -p "https://youtube.com/playlist?list=..."
|
|
50
|
+
|
|
51
|
+
# Custom output directory
|
|
52
|
+
crec -o "C:/Videos" "https://youtube.com/..."
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### ๐จ Customization
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Download thumbnail
|
|
59
|
+
crec -t "https://youtube.com/..."
|
|
60
|
+
|
|
61
|
+
# Custom filename pattern
|
|
62
|
+
crec -n "{title}_{quality}" "https://youtube.com/..."
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
#### ๐งน Maintenance
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Open crec directory
|
|
69
|
+
crec -op
|
|
70
|
+
|
|
71
|
+
# Clean up downloads
|
|
72
|
+
crec -d
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### ๐ Filename Patterns
|
|
76
|
+
|
|
77
|
+
Use these placeholders in your custom filenames:
|
|
78
|
+
|
|
79
|
+
- `{title}` - Video title
|
|
80
|
+
- `{id}` - Video ID
|
|
81
|
+
- `{quality}` - Video quality
|
|
82
|
+
- `{date}` - Upload date
|
|
83
|
+
|
|
84
|
+
Example: `crec -n "{title}_{quality}" "https://youtube.com/..."`
|
|
85
|
+
|
|
86
|
+
### ๐ฏ Supported Platforms
|
|
87
|
+
|
|
88
|
+
- YouTube ๐ฅ
|
|
89
|
+
- Twitter ๐ฆ
|
|
90
|
+
- TikTok ๐ฑ
|
|
91
|
+
- Instagram ๐ธ
|
|
92
|
+
|
|
93
|
+
## ๐ Installation
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install crec
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## ๐ก Pro Tips
|
|
100
|
+
|
|
101
|
+
1. Use `-ql` to check available qualities before downloading
|
|
102
|
+
2. Combine `-t` with `-n` for organized thumbnails
|
|
103
|
+
3. Use `-op` to quickly access your downloads
|
|
104
|
+
4. Custom FFmpeg args for pro-level compression
|
|
105
|
+
|
|
106
|
+
## ๐ค Contributing
|
|
107
|
+
|
|
108
|
+
Found a bug? Want a new feature? PRs are welcome!
|
|
109
|
+
|
|
110
|
+
## ๐ License
|
|
111
|
+
|
|
112
|
+
MIT License - Feel free to use, modify, and distribute!
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
Made with โค๏ธ for the internet community
|
crec-0.1.0/crec/cli.py
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
3
|
+
import sys
|
|
4
|
+
import argparse
|
|
5
|
+
from .sources.youtube import YouTubeHandler
|
|
6
|
+
from .sources.twitter import TwitterHandler
|
|
7
|
+
from .sources.tiktok import TikTokHandler
|
|
8
|
+
from .sources.instagram import InstagramHandler
|
|
9
|
+
from .utils.quality import QualityHandler
|
|
10
|
+
from .utils.notify import Notifier
|
|
11
|
+
from .utils.file_handler import FileHandler
|
|
12
|
+
|
|
13
|
+
def cleanup_ezds():
|
|
14
|
+
"""Delete all contents in the crec directory."""
|
|
15
|
+
crec_dir = os.path.expanduser('~/crec')
|
|
16
|
+
if os.path.exists(crec_dir):
|
|
17
|
+
try:
|
|
18
|
+
shutil.rmtree(crec_dir)
|
|
19
|
+
os.makedirs(crec_dir) # Recreate empty directory
|
|
20
|
+
print(f"Successfully cleaned up {crec_dir}")
|
|
21
|
+
except Exception as e:
|
|
22
|
+
print(f"Error cleaning up directory: {str(e)}")
|
|
23
|
+
sys.exit(1)
|
|
24
|
+
else:
|
|
25
|
+
print(f"Directory {crec_dir} does not exist")
|
|
26
|
+
|
|
27
|
+
def main():
|
|
28
|
+
"""Main entry point for the CLI."""
|
|
29
|
+
parser = argparse.ArgumentParser(
|
|
30
|
+
description='Quick video downloader for YouTube, Twitter, TikTok, and Instagram',
|
|
31
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
32
|
+
epilog='''
|
|
33
|
+
Examples:
|
|
34
|
+
crec <url> Download best quality
|
|
35
|
+
crec -a <url> Download audio only
|
|
36
|
+
crec -q 360 <url> Download 360p
|
|
37
|
+
crec -ql <url> Show available qualities
|
|
38
|
+
crec -f1 <url> Download with compression
|
|
39
|
+
crec -f2 <url> Download with heavy compression
|
|
40
|
+
crec -d Clean up downloads folder
|
|
41
|
+
crec -p <url> Download playlist
|
|
42
|
+
crec -o "path/to/dir" <url> Specify download directory
|
|
43
|
+
crec -t <url> Download thumbnail
|
|
44
|
+
crec -n "{title}_{quality}" <url> Custom filename
|
|
45
|
+
crec -op Open crec directory
|
|
46
|
+
crec --ffmpeg-args "-c:v libx264 -crf 23" <url> Custom FFmpeg options
|
|
47
|
+
|
|
48
|
+
Note: TikTok and Instagram support is experimental
|
|
49
|
+
'''
|
|
50
|
+
)
|
|
51
|
+
parser.add_argument('url', nargs='?', help='Video URL')
|
|
52
|
+
parser.add_argument('-d', '--cleanup', action='store_true', help='Clean downloads folder')
|
|
53
|
+
parser.add_argument('-a', '--audio', action='store_true', help='Audio only')
|
|
54
|
+
parser.add_argument('-q', '--quality', help='Video quality (e.g., 360, 720)')
|
|
55
|
+
parser.add_argument('-ql', '--list-qualities', action='store_true', help='Show available qualities')
|
|
56
|
+
parser.add_argument('-f1', '--compress', action='store_true', help='Compress video')
|
|
57
|
+
parser.add_argument('-f2', '--compress-heavy', action='store_true', help='Heavy compression')
|
|
58
|
+
parser.add_argument('-p', '--playlist', action='store_true', help='Download playlist')
|
|
59
|
+
parser.add_argument('-o', '--output', help='Output directory')
|
|
60
|
+
parser.add_argument('-t', '--thumbnail', action='store_true', help='Download thumbnail')
|
|
61
|
+
parser.add_argument('-n', '--name', help='Custom filename pattern (e.g., "{title}_{quality}")')
|
|
62
|
+
parser.add_argument('-op', '--open-dir', action='store_true', help='Open crec directory')
|
|
63
|
+
parser.add_argument('--ffmpeg-args', help='Custom FFmpeg arguments')
|
|
64
|
+
|
|
65
|
+
args = parser.parse_args()
|
|
66
|
+
|
|
67
|
+
if args.open_dir:
|
|
68
|
+
FileHandler.open_crec_directory()
|
|
69
|
+
if not args.url:
|
|
70
|
+
return # Exit after opening directory if no URL provided
|
|
71
|
+
|
|
72
|
+
if args.cleanup:
|
|
73
|
+
cleanup_ezds()
|
|
74
|
+
if not args.url:
|
|
75
|
+
return # Exit after cleanup if no URL provided
|
|
76
|
+
|
|
77
|
+
if not args.url:
|
|
78
|
+
parser.print_help()
|
|
79
|
+
sys.exit(1)
|
|
80
|
+
|
|
81
|
+
# Handle quality listing
|
|
82
|
+
if args.list_qualities:
|
|
83
|
+
formats = QualityHandler.get_available_qualities(args.url)
|
|
84
|
+
QualityHandler.list_qualities(formats)
|
|
85
|
+
return
|
|
86
|
+
|
|
87
|
+
# Determine compression level
|
|
88
|
+
compress_level = 0
|
|
89
|
+
if args.compress_heavy:
|
|
90
|
+
compress_level = 2
|
|
91
|
+
elif args.compress:
|
|
92
|
+
compress_level = 1
|
|
93
|
+
|
|
94
|
+
# Set up output directory
|
|
95
|
+
output_dir = args.output if args.output else os.path.expanduser('~/crec/videos')
|
|
96
|
+
os.makedirs(output_dir, exist_ok=True)
|
|
97
|
+
|
|
98
|
+
# Try each handler in sequence
|
|
99
|
+
handlers = [
|
|
100
|
+
YouTubeHandler(),
|
|
101
|
+
TwitterHandler(),
|
|
102
|
+
TikTokHandler(),
|
|
103
|
+
InstagramHandler()
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
for handler in handlers:
|
|
107
|
+
if handler.can_handle(args.url):
|
|
108
|
+
result = handler.download(
|
|
109
|
+
args.url,
|
|
110
|
+
audio_only=args.audio,
|
|
111
|
+
quality=args.quality,
|
|
112
|
+
compress_level=compress_level,
|
|
113
|
+
output_dir=output_dir,
|
|
114
|
+
download_thumbnail=args.thumbnail,
|
|
115
|
+
filename_pattern=args.name,
|
|
116
|
+
is_playlist=args.playlist,
|
|
117
|
+
ffmpeg_args=args.ffmpeg_args
|
|
118
|
+
)
|
|
119
|
+
if result:
|
|
120
|
+
print(f"Downloaded: {result}")
|
|
121
|
+
# Send notification
|
|
122
|
+
Notifier.notify("Download Complete", f"Successfully downloaded: {os.path.basename(result)}")
|
|
123
|
+
else:
|
|
124
|
+
print("Download failed")
|
|
125
|
+
Notifier.notify("Download Failed", "Failed to download video")
|
|
126
|
+
return
|
|
127
|
+
|
|
128
|
+
print("Error: Unsupported URL")
|
|
129
|
+
sys.exit(1)
|
|
130
|
+
|
|
131
|
+
if __name__ == '__main__':
|
|
132
|
+
main()
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: crec
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The Ultimate Media Downloader - Download videos, audio, and images from various platforms
|
|
5
|
+
Home-page: https://github.com/yourusername/crec
|
|
6
|
+
Author: Your Name
|
|
7
|
+
Author-email: your.email@example.com
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
10
|
+
Classifier: Topic :: Multimedia :: Video
|
|
11
|
+
Classifier: Topic :: Multimedia :: Sound/Audio
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Requires-Python: >=3.7
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: yt-dlp>=2023.12.30
|
|
23
|
+
Requires-Dist: ffmpeg-python>=0.2.0
|
|
24
|
+
Requires-Dist: win10toast>=0.9; platform_system == "Windows"
|
|
25
|
+
Dynamic: author
|
|
26
|
+
Dynamic: author-email
|
|
27
|
+
Dynamic: classifier
|
|
28
|
+
Dynamic: description
|
|
29
|
+
Dynamic: description-content-type
|
|
30
|
+
Dynamic: home-page
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
Dynamic: requires-dist
|
|
33
|
+
Dynamic: requires-python
|
|
34
|
+
Dynamic: summary
|
|
35
|
+
|
|
36
|
+
# ๐ฅ crec - The Ultimate Media Downloader
|
|
37
|
+
|
|
38
|
+
> Your one-stop solution for downloading videos, audio, and images from the web. No BS, just pure downloading power! ๐
|
|
39
|
+
|
|
40
|
+
## โจ Features
|
|
41
|
+
|
|
42
|
+
### ๐ฏ Core Features
|
|
43
|
+
|
|
44
|
+
- **One Command Magic**: Just paste the URL and watch the magic happen! โจ
|
|
45
|
+
- **Smart Organization**: Files automatically sorted into videos, audio, photos, and more! ๐
|
|
46
|
+
- **Cross-Platform**: Works on Windows, macOS, and Linux like a charm! ๐ซ
|
|
47
|
+
- **Clipboard Magic**: Downloaded file path automatically copied to clipboard! ๐
|
|
48
|
+
|
|
49
|
+
### ๐ฎ Basic Usage
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Download best quality
|
|
53
|
+
crec "https://youtube.com/..."
|
|
54
|
+
|
|
55
|
+
# Download audio only
|
|
56
|
+
crec -a "https://youtube.com/..."
|
|
57
|
+
|
|
58
|
+
# Download in 720p
|
|
59
|
+
crec -q 720 "https://youtube.com/..."
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### ๐ ๏ธ Advanced Features
|
|
63
|
+
|
|
64
|
+
#### ๐ฅ Video Options
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# List available qualities
|
|
68
|
+
crec -ql "https://youtube.com/..."
|
|
69
|
+
|
|
70
|
+
# Compress video (light)
|
|
71
|
+
crec -f1 "https://youtube.com/..."
|
|
72
|
+
|
|
73
|
+
# Compress video (heavy)
|
|
74
|
+
crec -f2 "https://youtube.com/..."
|
|
75
|
+
|
|
76
|
+
# Custom FFmpeg settings
|
|
77
|
+
crec --ffmpeg-args "-c:v libx264 -crf 23" "https://youtube.com/..."
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### ๐ฆ Playlist & Batch
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Download entire playlist
|
|
84
|
+
crec -p "https://youtube.com/playlist?list=..."
|
|
85
|
+
|
|
86
|
+
# Custom output directory
|
|
87
|
+
crec -o "C:/Videos" "https://youtube.com/..."
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### ๐จ Customization
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Download thumbnail
|
|
94
|
+
crec -t "https://youtube.com/..."
|
|
95
|
+
|
|
96
|
+
# Custom filename pattern
|
|
97
|
+
crec -n "{title}_{quality}" "https://youtube.com/..."
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### ๐งน Maintenance
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Open crec directory
|
|
104
|
+
crec -op
|
|
105
|
+
|
|
106
|
+
# Clean up downloads
|
|
107
|
+
crec -d
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### ๐ Filename Patterns
|
|
111
|
+
|
|
112
|
+
Use these placeholders in your custom filenames:
|
|
113
|
+
|
|
114
|
+
- `{title}` - Video title
|
|
115
|
+
- `{id}` - Video ID
|
|
116
|
+
- `{quality}` - Video quality
|
|
117
|
+
- `{date}` - Upload date
|
|
118
|
+
|
|
119
|
+
Example: `crec -n "{title}_{quality}" "https://youtube.com/..."`
|
|
120
|
+
|
|
121
|
+
### ๐ฏ Supported Platforms
|
|
122
|
+
|
|
123
|
+
- YouTube ๐ฅ
|
|
124
|
+
- Twitter ๐ฆ
|
|
125
|
+
- TikTok ๐ฑ
|
|
126
|
+
- Instagram ๐ธ
|
|
127
|
+
|
|
128
|
+
## ๐ Installation
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
pip install crec
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## ๐ก Pro Tips
|
|
135
|
+
|
|
136
|
+
1. Use `-ql` to check available qualities before downloading
|
|
137
|
+
2. Combine `-t` with `-n` for organized thumbnails
|
|
138
|
+
3. Use `-op` to quickly access your downloads
|
|
139
|
+
4. Custom FFmpeg args for pro-level compression
|
|
140
|
+
|
|
141
|
+
## ๐ค Contributing
|
|
142
|
+
|
|
143
|
+
Found a bug? Want a new feature? PRs are welcome!
|
|
144
|
+
|
|
145
|
+
## ๐ License
|
|
146
|
+
|
|
147
|
+
MIT License - Feel free to use, modify, and distribute!
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
Made with โค๏ธ for the internet community
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
crec
|
crec-0.1.0/setup.cfg
ADDED
crec-0.1.0/setup.py
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
|
|
3
|
+
with open("README.md", "r", encoding="utf-8") as fh:
|
|
4
|
+
long_description = fh.read()
|
|
5
|
+
|
|
6
|
+
setup(
|
|
7
|
+
name="crec",
|
|
8
|
+
version="0.1.0",
|
|
9
|
+
author="Your Name",
|
|
10
|
+
author_email="your.email@example.com",
|
|
11
|
+
description="The Ultimate Media Downloader - Download videos, audio, and images from various platforms",
|
|
12
|
+
long_description=long_description,
|
|
13
|
+
long_description_content_type="text/markdown",
|
|
14
|
+
url="https://github.com/yourusername/crec",
|
|
15
|
+
packages=find_packages(),
|
|
16
|
+
classifiers=[
|
|
17
|
+
"Development Status :: 4 - Beta",
|
|
18
|
+
"Intended Audience :: End Users/Desktop",
|
|
19
|
+
"Topic :: Multimedia :: Video",
|
|
20
|
+
"Topic :: Multimedia :: Sound/Audio",
|
|
21
|
+
"License :: OSI Approved :: MIT License",
|
|
22
|
+
"Programming Language :: Python :: 3",
|
|
23
|
+
"Programming Language :: Python :: 3.7",
|
|
24
|
+
"Programming Language :: Python :: 3.8",
|
|
25
|
+
"Programming Language :: Python :: 3.9",
|
|
26
|
+
"Programming Language :: Python :: 3.10",
|
|
27
|
+
"Programming Language :: Python :: 3.11",
|
|
28
|
+
],
|
|
29
|
+
python_requires=">=3.7",
|
|
30
|
+
install_requires=[
|
|
31
|
+
"yt-dlp>=2023.12.30",
|
|
32
|
+
"ffmpeg-python>=0.2.0",
|
|
33
|
+
"win10toast>=0.9; platform_system == 'Windows'",
|
|
34
|
+
],
|
|
35
|
+
entry_points={
|
|
36
|
+
"console_scripts": [
|
|
37
|
+
"crec=crec.cli:main",
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
)
|