56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# Datenspeicherung
|
|
|
|
## Verzeichnisstruktur
|
|
|
|
```txt
|
|
_ data
|
|
|_ LinusTechTips
|
|
|_ _ucast
|
|
|_ avatar.jpg # Profilbild des Kanals
|
|
|_ avatar_sm.webp
|
|
|_ covers # Cover-Bilder
|
|
|_ 220409_Building_a_1_000_000_Computer.png
|
|
|_ 220410_Apple_makes_GREAT_Gaming_Computers.png
|
|
|_ thumbnails
|
|
|_ 220409_Building_a_1_000_000_Computer.webp
|
|
|_ 220409_Building_a_1_000_000_Computer_sm.webp
|
|
|_ 220410_Apple_makes_GREAT_Gaming_Computers.webp
|
|
|_ 220410_Apple_makes_GREAT_Gaming_Computers_sm.webp
|
|
|_ 220409_Building_a_1_000_000_Computer.mp3
|
|
|_ 220410_Apple_makes_GREAT_Gaming_Computers.mp3
|
|
|
|
|_ Andreas Spiess
|
|
|_ ...
|
|
```
|
|
|
|
## Datenmodelle
|
|
|
|
### LastScan
|
|
|
|
- LastScan: datetime
|
|
|
|
### ChannelOptions
|
|
|
|
- ID: `str, max_length=30`
|
|
- Active: `bool = True`
|
|
- LastScan: `datetime`
|
|
- SkipLivestreams: `bool = True`
|
|
- SkipShorts: `bool = True`
|
|
- KeepVideos: `int, nullable`
|
|
- Videos: `-> Video (1->n)`
|
|
|
|
|
|
### Video
|
|
|
|
- ID: `str, max_length=30`
|
|
- Title: `str, max_length=200`
|
|
- Slug: `str, max_length=209` (YYYYMMDD_Title, used as filename)
|
|
- Published: `datetime`
|
|
- Downloaded: `datetime, nullable`
|
|
- Description: `text`
|
|
|
|
### Config
|
|
|
|
- RedisURL: str
|
|
- ScanInterval: 1h
|
|
- AppriseUrl: str (für Benachrichtigungen, https://github.com/caronc/apprise/wiki)
|