Adding and adjusting RegExps for more episode formats

This commit is contained in:
Andreas Mieke 2016-02-28 14:49:38 +01:00
parent bd94cf0f55
commit 25cdb9e9d9
5 changed files with 11 additions and 1 deletions

View file

@ -8,6 +8,7 @@ import (
type Config struct { type Config struct {
DatabaseConnection string DatabaseConnection string
EpisodeRegex string EpisodeRegex string
RemoveRegex string
YoutubeKey string YoutubeKey string
GronkhUrl string GronkhUrl string
ImageDirectory string ImageDirectory string

View file

@ -1,5 +1,6 @@
{ {
"EpisodeRegex": "^(?:Folge |Folge |Special |Folge S01E|Folge ß|Folge ESIDENT EVIL REVELATIONS 2 \\[|Folge #)([0-9]+)", "EpisodeRegex": "^(?:Folge |Folge |Special |Folge S01E|Folge ß|Folge ESIDENT EVIL REVELATIONS 2 \\[|Folge #|Folge 1 Galaktischer Krie\\: |Folge 15; Zurück in der neuen Wel\\: |Folge 6½ \\[German\\] Dr\\. Kleiners Vortra\\: |Folge ESIDENT EVIL REVELATIONS 2 \\[)([0-9]+)(?:½\\: |\\: | |; |\\.5\\: |½ \\[German\\] | Verwirrspiele & Hinterhalt\\: 18 |] |\\. KIPPLASTER RACING Schwadro\\: 95\\. |[,.][0-9a-zA-Z]+\\: | Titanenlord Ursego\\: 41 |[a-zA-Z]\\: )",
"RemoveRegex": "^(?:Folge Special\\: |Folge special\\: | Lets Play [1080][PS4\\: SIDENT EVIL REVELATIONS 2 [23] Getrennt..! Lets Play [1080][PS4]|Folge pecial\\: )",
"YoutubeKey": "FOOOBAAAARRRRRRR", "YoutubeKey": "FOOOBAAAARRRRRRR",
"DatabaseConnection": "host=localhost user=gronkhde dbname=gronkhde sslmode=disable", "DatabaseConnection": "host=localhost user=gronkhde dbname=gronkhde sslmode=disable",
"GronkhUrl": "http://5.62.67.8", "GronkhUrl": "http://5.62.67.8",

View file

@ -98,9 +98,12 @@ func ParseEpisode(i int, s *goquery.Selection) {
EP.Episode.Int64 = 0 EP.Episode.Int64 = 0
} }
EP.Episode.Int64 = int64(num) EP.Episode.Int64 = int64(num)
EP.Name.String = episodeRegex.ReplaceAllString(EP.Name.String, "")
EP.Name.String = removeRegex.ReplaceAllString(EP.Name.String, "")
} else { } else {
log.Printf("WAR EP %s: Name does not match RegEx", slug) log.Printf("WAR EP %s: Name does not match RegEx", slug)
EP.Episode.Int64 = 0 EP.Episode.Int64 = 0
EP.Name.String = removeRegex.ReplaceAllString(EP.Name.String, "")
} }
EP.Season.Int64 = 1 EP.Season.Int64 = 1
doc.Find(".article > p").Each(func(i int, s *goquery.Selection) { doc.Find(".article > p").Each(func(i int, s *goquery.Selection) {

View file

@ -108,9 +108,12 @@ func ParseFeedEpisode(u string) {
if match := episodeRegex.FindStringSubmatch(EP.Name.String); len(match) > 0 { if match := episodeRegex.FindStringSubmatch(EP.Name.String); len(match) > 0 {
num, _ := strconv.Atoi(match[1]) num, _ := strconv.Atoi(match[1])
EP.Episode.Int64 = int64(num) EP.Episode.Int64 = int64(num)
EP.Name.String = episodeRegex.ReplaceAllString(EP.Name.String, "")
EP.Name.String = removeRegex.ReplaceAllString(EP.Name.String, "")
} else { } else {
log.Printf("WAR RSS %s: Name does not match RegEx", slug) log.Printf("WAR RSS %s: Name does not match RegEx", slug)
EP.Episode.Int64 = 0 EP.Episode.Int64 = 0
EP.Name.String = removeRegex.ReplaceAllString(EP.Name.String, "")
} }
doc.Find(".article > p").Each(func(i int, s *goquery.Selection) { doc.Find(".article > p").Each(func(i int, s *goquery.Selection) {
EP.Descr.String += s.Text() + "\n" EP.Descr.String += s.Text() + "\n"

View file

@ -12,6 +12,7 @@ import (
var conf config.Config var conf config.Config
var episodeRegex *regexp.Regexp var episodeRegex *regexp.Regexp
var removeRegex *regexp.Regexp
var wg sync.WaitGroup var wg sync.WaitGroup
func main() { func main() {
@ -28,6 +29,7 @@ func main() {
return return
} }
episodeRegex = regexp.MustCompile(config.C.EpisodeRegex) episodeRegex = regexp.MustCompile(config.C.EpisodeRegex)
removeRegex = regexp.MustCompile(config.C.RemoveRegex)
if err = os.MkdirAll(config.C.ImageDirectory, 0775); err != nil { if err = os.MkdirAll(config.C.ImageDirectory, 0775); err != nil {
log.Fatalf("FAT Could not create ImageDirectory, error: %+v", err) log.Fatalf("FAT Could not create ImageDirectory, error: %+v", err)