57 lines
2.2 KiB
Bash
Executable File
57 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# Добавление фильма в catalog.json плагина Lampa "Мои фильмы"
|
||
# Использование:
|
||
# ./add_movie.sh --id inception --title "Начало" --orig "Inception" --year 2010 \
|
||
# --genre "фанстика,боевик" --rating 8.8 --desc "..." \
|
||
# --poster covers/inception.jpg --torrent torrents/inception.torrent
|
||
#
|
||
# После правки делает git commit + push. Деплой в Coolify — отдельно (руками или вебхук).
|
||
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")"
|
||
|
||
ID="" TITLE="" ORIG="" YEAR="" GENRE="" RATING="" DESC="" POSTER="" TORRENT=""
|
||
while [[ $# -gt 0 ]]; do
|
||
case "$1" in
|
||
--id) ID="$2"; shift 2;;
|
||
--title) TITLE="$2"; shift 2;;
|
||
--orig) ORIG="$2"; shift 2;;
|
||
--year) YEAR="$2"; shift 2;;
|
||
--genre) GENRE="$2"; shift 2;;
|
||
--rating) RATING="$2"; shift 2;;
|
||
--desc) DESC="$2"; shift 2;;
|
||
--poster) POSTER="$2"; shift 2;;
|
||
--torrent) TORRENT="$2"; shift 2;;
|
||
*) echo "Unknown arg: $1"; exit 1;;
|
||
esac
|
||
done
|
||
|
||
[[ -z "$ID" || -z "$TITLE" ]] && { echo "Нужны хотя бы --id и --title"; exit 1; }
|
||
|
||
python3 - "$ID" "$TITLE" "$ORIG" "$YEAR" "$GENRE" "$RATING" "$DESC" "$POSTER" "$TORRENT" <<'PY'
|
||
import sys, json
|
||
id_, title, orig, year, genre, rating, desc, poster, torrent = sys.argv[1:]
|
||
with open('catalog.json','r',encoding='utf-8') as f:
|
||
cat = json.load(f)
|
||
if any(m.get('id')==id_ for m in cat['movies']):
|
||
print('Фильм с id=%s уже есть' % id_); sys.exit(1)
|
||
m = {"id": id_, "title": title}
|
||
if orig: m["original_title"] = orig
|
||
if year: m["year"] = int(year)
|
||
if genre: m["genre"] = [g.strip() for g in genre.split(',') if g.strip()]
|
||
if rating: m["rating"] = float(rating)
|
||
if desc: m["description"] = desc
|
||
if poster: m["poster"] = poster
|
||
if torrent:m["torrent"] = torrent
|
||
cat['movies'].append(m)
|
||
cat['updated'] = __import__('datetime').date.today().isoformat()
|
||
with open('catalog.json','w',encoding='utf-8') as f:
|
||
json.dump(cat, f, ensure_ascii=False, indent=2)
|
||
print('Добавлен:', title)
|
||
PY
|
||
|
||
git add catalog.json
|
||
git commit -q -m "movie: add $TITLE"
|
||
git push origin master
|
||
echo "Запушено. Деплой в Coolify — отдельно."
|