This commit is contained in:
Stefan Majewsky 2022-04-17 00:27:08 +02:00
commit b71c699a07
5 changed files with 90 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build/

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
default: build/pentaradio-tools
GO_BUILDFLAGS = -mod vendor
GO_LDFLAGS =
build/pentaradio-tools: FORCE
go build $(GO_BUILDFLAGS) -ldflags '-s -w $(GO_LDFLAGS)' -o $@ .
DESTDIR =
PREFIX = /usr
install: FORCE build/pentaradio-tools
install -D -m 0755 build/pentaradio-tools "$(DESTDIR)$(PREFIX)/bin/pentaradio-tools"
vendor: FORCE
go mod tidy -compat=$(shell awk '$$1 == "go" { print $$2 }' < go.mod)
go mod vendor
go mod verify
.PHONY: FORCE

56
README.md Normal file
View File

@ -0,0 +1,56 @@
# pentaradio-tools
Ein Tool zur Unterstützung des Veröffentlichungsprozesses für Pentaradio-Folgen.
## Installation
Zum Kompilieren und Installieren mittels `make` und `make install` wird ein Go-Compiler benötigt.
Für `pentaradio-tools upload` muss `ftp.c3d2.de` in der ssh-Config eingetragen sein, zum Beispiel:
```
$ cat $HOME/.ssh/config
...
Host ftp.c3d2.de
User ftpupload
Port 2022
IdentityFile /home/username/.ssh/id_ed25519
IdentitiesOnly yes
...
```
## Benutzung
Es gibt zwei Unterbefehle, jeweils ohne Argumente:
* `pentaradio-tools upload` lädt alle relevanten Dateien (Audios, Shownotes, Kapitelmarken) nach `ftp.c3d2.de` hoch.
* `pentaradio-tools generate` generiert die XML-Datei für den Eintrag in [c3d2-web](/c3d2/c3d2-web).
Beide Befehle erwarten die folgenden Dateien im Arbeitsverzeichnis:
```
pentaradio-YYYY-MM-DD.m4a
pentaradio-YYYY-MM-DD.mp3
pentaradio-YYYY-MM-DD.ogg
pentaradio-YYYY-MM-DD.opus
chapter-pentaradio-YYYY-MM-DD.dat
shownotes-pentaradio-YYYY-MM-DD.txt
```
Das Datum muss in allen relevanten Dateien identisch sein.
Die Kapitelmarken-Datei muss dieselben Marken enthalten, die auch in Auphonic eingetragen wurden. Idealerweise hat man die Kapitelmarken-Datei direkt beim Schneiden gefüllt und kann sie dann direkt in Auphonic importieren.
Die Shownotes-Datei enthält die Inhalte des Shownotes-Pads (ist also eigentlich eine Markdown-Datei, nicht eine Textdatei, aber aus historischen Gründen haben wir `.txt` als Endung). Die Shownotes werden in folgendem Format erwartet:
```
# Pentaradio vom DD. Mmm YYYY
# Titel: "<titel>"
<kurzbeschreibung>
## News
...
```
Titel und Kurzbeschreibung gehen in `pentaradio-tools generate` in den Eintrag für c3d2-web ein.

3
go.mod Normal file
View File

@ -0,0 +1,3 @@
module gitea.c3d2.de/xyrill/pentaradio-tools
go 1.18

10
main.go Normal file
View File

@ -0,0 +1,10 @@
/*******************************************************************************
* Copyright 2022 Stefan Majewsky <majewsky@gmx.net>
* SPDX-License-Identifier: GPL-3.0-only
* Refer to the file "LICENSE" for details.
*******************************************************************************/
package main
func main() {
}