chore: update .gitignore with comprehensive patterns
This commit is contained in:
parent
ff2660e083
commit
29e7aef471
41
.gitignore
vendored
41
.gitignore
vendored
@ -1,2 +1,43 @@
|
|||||||
|
# Virtual environments
|
||||||
venv/
|
venv/
|
||||||
|
.venv/
|
||||||
|
|
||||||
|
# Python bytecode and compiled files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Package metadata
|
||||||
|
*.egg-info/
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
|
||||||
|
# Test coverage and reporting
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
htmlcov/
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
# Type checking caches
|
||||||
|
.mypy_cache/
|
||||||
|
.ruff_cache/
|
||||||
|
|
||||||
|
# IDE and system files
|
||||||
|
.DS_Store
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Opencode directory
|
||||||
|
.opencode/
|
||||||
|
|
||||||
|
# Node modules (if applicable)
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
data/
|
||||||
|
*.db
|
||||||
|
*.sqlite
|
||||||
|
|
||||||
|
# Logs and temporary files
|
||||||
|
logs/
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
@ -1,142 +0,0 @@
|
|||||||
Metadata-Version: 2.4
|
|
||||||
Name: youtube-cli
|
|
||||||
Version: 0.1.0
|
|
||||||
Summary: A command-line interface for browsing and downloading YouTube videos
|
|
||||||
Home-page: https://github.com/yourusername/youtube-cli
|
|
||||||
Author: Your Name
|
|
||||||
Author-email: your.email@example.com
|
|
||||||
Classifier: Programming Language :: Python :: 3
|
|
||||||
Classifier: License :: OSI Approved :: MIT License
|
|
||||||
Classifier: Operating System :: OS Independent
|
|
||||||
Requires-Python: >=3.6
|
|
||||||
Description-Content-Type: text/markdown
|
|
||||||
Requires-Dist: yt-dlp
|
|
||||||
Requires-Dist: rich
|
|
||||||
Requires-Dist: requests
|
|
||||||
Dynamic: author
|
|
||||||
Dynamic: author-email
|
|
||||||
Dynamic: classifier
|
|
||||||
Dynamic: description
|
|
||||||
Dynamic: description-content-type
|
|
||||||
Dynamic: home-page
|
|
||||||
Dynamic: requires-dist
|
|
||||||
Dynamic: requires-python
|
|
||||||
Dynamic: summary
|
|
||||||
|
|
||||||
# YouTube CLI
|
|
||||||
|
|
||||||
A command-line interface for browsing and downloading YouTube videos.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- Search YouTube videos with keyword queries
|
|
||||||
- Display up to 15 videos at a time with title, author, duration, and type (short/video)
|
|
||||||
- Download videos using yt-dlp with progress indication
|
|
||||||
- Configure download locations
|
|
||||||
- Handle short videos (videos with /shorts/ in URL) with special "(short)" prefix
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
- Python 3.6+
|
|
||||||
- yt-dlp
|
|
||||||
- rich
|
|
||||||
- requests
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### From Source
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/yourusername/youtube-cli.git
|
|
||||||
cd youtube-cli
|
|
||||||
pip install -e .
|
|
||||||
```
|
|
||||||
|
|
||||||
### Using pip
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pip install youtube-cli
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Basic Search
|
|
||||||
|
|
||||||
```bash
|
|
||||||
youtube-cli "python tutorial"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Download a Video
|
|
||||||
|
|
||||||
```bash
|
|
||||||
youtube-cli --download "https://www.youtube.com/watch?v=xyz123"
|
|
||||||
```
|
|
||||||
|
|
||||||
### View Help
|
|
||||||
|
|
||||||
```bash
|
|
||||||
youtube-cli --help
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The application will create a default configuration file at `~/.config/youtube_cli/config.json` if one doesn't exist. You can customize:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"download_dir": "~/Downloads/youtube",
|
|
||||||
"default_locations": [
|
|
||||||
"~/Downloads/youtube",
|
|
||||||
"~/Movies/youtube",
|
|
||||||
"/tmp/youtube"
|
|
||||||
],
|
|
||||||
"max_videos_per_page": 15,
|
|
||||||
"yt_dlp_args": {
|
|
||||||
"format": "bestvideo[height=1080]+bestaudio/bestvideo[height<=1080]+bestaudio",
|
|
||||||
"write_thumbnail": true,
|
|
||||||
"extractor_args": "youtube:player-client=default,-tv_simply"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## How to Use
|
|
||||||
|
|
||||||
1. Run a search query to find videos
|
|
||||||
2. Videos will be displayed with:
|
|
||||||
- Title (short videos marked with "(short)")
|
|
||||||
- Author
|
|
||||||
- Duration
|
|
||||||
- Type indicator
|
|
||||||
3. Choose an option:
|
|
||||||
- `n` for next page of results
|
|
||||||
- `q` to quit
|
|
||||||
- Enter a number to select and download a video
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- **Search**: Search YouTube videos using keyword queries
|
|
||||||
- **Pagination**: View 15 videos at a time with option for more
|
|
||||||
- **Download**: Download videos directly with progress indication
|
|
||||||
- **Short Detection**: Automatically detects and marks short videos
|
|
||||||
- **Configuration**: Customizable download locations
|
|
||||||
- **Cross-platform**: Works on macOS and Linux
|
|
||||||
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
This tool depends on `yt-dlp` which must be installed separately:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pip install yt-dlp
|
|
||||||
```
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
1. Fork it
|
|
||||||
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
|
|
||||||
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
|
|
||||||
4. Push to the branch (`git push origin feature/AmazingFeature`)
|
|
||||||
5. Create a Pull Request
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
MIT License
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
README.md
|
|
||||||
setup.py
|
|
||||||
youtube_cli/__init__.py
|
|
||||||
youtube_cli/__main__.py
|
|
||||||
youtube_cli/main.py
|
|
||||||
youtube_cli.egg-info/PKG-INFO
|
|
||||||
youtube_cli.egg-info/SOURCES.txt
|
|
||||||
youtube_cli.egg-info/dependency_links.txt
|
|
||||||
youtube_cli.egg-info/entry_points.txt
|
|
||||||
youtube_cli.egg-info/requires.txt
|
|
||||||
youtube_cli.egg-info/top_level.txt
|
|
||||||
@ -1 +0,0 @@
|
|||||||
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
[console_scripts]
|
|
||||||
youtube-cli = youtube_cli.main:main
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
yt-dlp
|
|
||||||
rich
|
|
||||||
requests
|
|
||||||
@ -1 +0,0 @@
|
|||||||
youtube_cli
|
|
||||||
Loading…
x
Reference in New Issue
Block a user