pentaradio-historic-shownotes/split-pad/main.go

103 lines
3.3 KiB
Go

/*******************************************************************************
* Copyright 2022 Stefan Majewsky <majewsky@gmx.net>
* SPDX-License-Identifier: GPL-3.0-only
* Refer to the file "LICENSE" for details.
*******************************************************************************/
package main
import (
"fmt"
"os"
"strings"
"github.com/sapcc/go-bits/logg"
"github.com/sapcc/go-bits/must"
)
func main() {
input := string(must.Return(os.ReadFile("../pad.md")))
must.Succeed(os.MkdirAll("../out", 0777))
//each shownotes start with a second-level header, e.g. `## Juli 2018`
for idx, section := range strings.Split(input, "\n## ") {
//ignore the part before the first header
if idx == 0 {
continue
}
//derive the filename from the rest of the header line
headerText, _, _ := strings.Cut(section, "\n")
headerText = strings.TrimSpace(headerText)
switch dateForHeaderText[headerText] {
case "":
logg.Fatal("no date known for header text %q", headerText)
case "skip":
continue //this section is not a shownotes, so do not write a file
}
filename := fmt.Sprintf("../out/shownotes-historic-%s.txt", dateForHeaderText[headerText])
//put in the characters that we lost in the split
section = "## " + section + "\n"
must.Succeed(os.WriteFile(filename, []byte(section), 0666))
}
}
var dateForHeaderText = map[string]string{
"April 2015": "2015-04",
"April(, April) 2016": "2016-04",
"April 2017": "2017-04",
"April 2018": "2018-04",
"August 2014": "2014-08",
"August 2016": "2016-08",
"August 2017": "skip", // no show
"August 2018": "2018-08",
"Dezember 2014": "2014-12",
"Schneezember 2015": "2015-12",
"Dezember 2016": "2016-12",
"Dezember 2017": "2017-12",
"Februar 2015": "2015-02",
"Fairbrew 2016": "2016-02",
"Februar 2017": "2017-02",
"Februar 2018": "2018-02",
"Februar 2019": "2019-02",
"Januar 2015": "2015-01",
"Janvier 2016": "2016-01",
"Januar 2017": "2017-01",
"Januar 2018": "2018-01",
"Januar 2019": "2019-01",
"Juli 2014": "2014-07",
"Juli 2015": "2015-07",
"Juli 2016": "2016-07",
"Juli 2017": "2017-07",
"Juli 2018": "2018-07",
"Juni 2015": "2015-06",
"Juni 2016": "2016-06",
"Juni 2018": "2018-06",
"Mai 2015": "2015-05",
"May(hem) 2016": "2016-05",
"Mai 2017": "2017-05",
"Mai 2018": "2018-05",
"März 2015": "2015-03",
"M(ehr H)erz 2016": "2016-03",
"März 2017": "2017-03",
"März 2018": "2018-03",
"November 2014": "2014-11",
"Movember 2015": "2015-11",
"November 2016": "2016-11",
"November 2017": "2017-11",
"November 2018": "2018-11",
"Octobre 2014": "2014-10",
"Oktober 2015": "2015-10",
"Oktober 2016": "2016-10",
"Oktober 2017": "skip", //no show
"Oktober 2018": "2018-10",
"September 2014": "2014-09",
"September 2015": "2015-09",
"September 2016": "2016-09",
"September 2017": "skip", //no show
"September 2018": "2018-09",
"Themenvorschläge": "skip",
"geplant für Januar 2019, aber zurückgestellt wegen Terminkonflikt": "skip",
}