本文整理汇总了Golang中purl/mro/name/recorder/radio/scrape.Station函数的典型用法代码示例。如果您正苦于以下问题:Golang Station函数的具体用法?Golang Station怎么用?Golang Station使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Station函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestParseBroadcastWithImage1
func TestParseBroadcastWithImage1(t *testing.T) {
f, err := os.Open("testdata/2015-11-16T1605-b2-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("b2")
t0 := broadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2015, time.November, 16, 16, 5, 0, 0, localLoc),
Source: *r.MustParseURL("http://www.br.de/radio/bayern2/programmkalender/ausstrahlung-498522.html"),
Station: r.Station(*s),
},
Title: "Nachrichten, Wetter",
}
// http://rec.mro.name/stations/b2/2015/11/16/1605%20Eins%20zu%20Eins.%20Der%20Talk
bcs, err := t0.parseBroadcastReader(f, nil)
assert.Nil(t, err, "ouch")
assert.Equal(t, 1, len(bcs), "ouch")
bc := bcs[0]
assert.Equal(t, "b2", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Stefan Parrisius im Gespräch mit Yvonne Hofstetter, Big Data Managing Director\nWiederholung um 22.05 Uhr\nAls Podcast verfügbar\n\nErfahrungen und Einsichten, einschneidende Erlebnisse und große Erfolge: Biografische Gespräche mit Menschen, die eine spannende Lebensgeschichte oder einen außergewöhnlichen Beruf haben.", *bc.Description, "ouch: Description")
//
assert.NotNil(t, bc.Image, "ouch: Image")
assert.Equal(t, "http://www.br.de/radio/bayern2/gesellschaft/eins-zu-eins-der-talk/yvonne-hofstetter-110~_v-img__16__9__m_-4423061158a17f4152aef84861ed0243214ae6e7.jpg?version=72771", bc.Image.String(), "ouch: Image")
}
示例2: TestUnmarshalBroadcasts0
func TestUnmarshalBroadcasts0(t *testing.T) {
f, err := os.Open("testdata/2016-07-25T0945-program.json")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("b3")
u := calItemRangeURL(r.TimeURL{
Time: time.Now(),
Source: *s.ProgramURL,
Station: r.Station(*s),
})
res, err := u.parseBroadcastsReader(f, nil)
assert.Equal(t, 3, len(res), "53")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "b3", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Die Frühaufdreher", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.br.de/mediathek/audio/bayern3-audio-livestream-100~radioplayer.json", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Nil(t, bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-07-25T05:00:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-07-25T09:00:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Nil(t, bc.Subject, "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Equal(t, "Bayerischer Rundfunk", *bc.Author, "ouch: Author")
assert.Equal(t, "", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}
示例3: TestUnmarshalBroadcastsFromJSON
func TestUnmarshalBroadcastsFromJSON(t *testing.T) {
f, err := os.Open("testdata/2016-07-25T1207-program.json")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("wdr5")
u := timeURL(r.TimeURL{
Time: time.Date(2015, time.October, 25, 0, 0, 0, 0, s.TimeZone),
Source: *r.MustParseURL("http://www.wdr.de/programmvorschau/ajax/wdr5/uebersicht/2016-07-25/"),
Station: r.Station(*s),
})
res, err := u.parseBroadcastsFromJsonReader(f, nil)
assert.Equal(t, 86, len(res), "53")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "wdr5", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "WDR Aktuell", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-25/40944229/wdr-aktuell.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Nil(t, bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-07-25T00:00:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-07-25T00:05:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Nil(t, bc.Subject, "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Nil(t, bc.Author, "ouch: Author")
assert.Equal(t, "", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}
示例4: Scrape
// queue one scrape job: now!
func (s *station) Scrape() (jobs []r.Scraper, results []r.Broadcaster, err error) {
i := calItemRangeURL(r.TimeURL{
Time: time.Now(),
Source: *s.ProgramURL,
Station: r.Station(*s),
})
jobs = append(jobs, &i)
return
}
示例5: dayURLForDate
func (s *station) dayURLForDate(day time.Time) (ret *timeURL, err error) {
r := timeURL(r.TimeURL{
Time: time.Date(day.Year(), day.Month(), day.Day(), 0, 0, 0, 0, s.TimeZone),
Source: *r.MustParseURL(s.ProgramURL.String() + day.Format("?daterequest=2006-01-02")),
Station: r.Station(*s),
})
ret = &r
// err = errors.New("Not ümplemented yet.")
return
}
示例6: calendarItemRangeURLForTime
///////////////////////////////////////////////////////////////////////
// https://www.br-klassik.de/programm/radio/radiosendungen-100~calendar-detail-inner.jsp?date=2016-01-11
// https://www.br-klassik.de/programm/radio/radiosendungen-100~calendarItems.jsp?from=2016-01-10T23:59:59&to=2016-01-11T00:10:00&rows=800
func (s *station) calendarItemRangeURLForTime(t time.Time) (ret *calItemRangeURL, err error) {
if nil == s {
panic("aua")
}
t0 := t.Add(time.Minute)
t1 := t0.Add(time.Hour)
r := calItemRangeURL(r.TimeURL{
Time: t0,
Source: *r.MustParseURL("https://www.br-klassik.de/programm/radio/radiosendungen-100~calendarItems.jsp?rows=800" + t0.Format("&from=2006-01-02T15:04:05") + t1.Format("&to=2006-01-02T15:04:05")),
Station: r.Station(*s),
})
ret = &r
// err = errors.New("Not ümplemented yet.")
return
}
示例7: TestParseScheduleForBroadcasts
func TestParseScheduleForBroadcasts(t *testing.T) {
f, err := os.Open("testdata/2015-10-21-b2-program.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("b2")
u := timeURL{
Time: time.Date(2015, time.October, 21, 5, 0, 0, 0, localLoc),
Source: *r.MustParseURL("http://www.br.de/radio/bayern2/programmkalender/programmfahne102~_date-2015-10-21_-5ddeec3fc12bdd255a6c45c650f068b54f7b010b.html"),
Station: r.Station(*s),
}
a, err := u.parseBroadcastURLsReader(f, nil)
assert.Equal(t, 129, len(a), "ouch: len")
assert.Equal(t, "b2", a[0].TimeURL.Station.Identifier, "ouch: ")
assert.Equal(t, "2015-10-20T05:00:00+02:00", a[0].Time.Format(time.RFC3339), "ouch: ")
assert.Equal(t, "2015-10-23T04:58:00+02:00", a[128].Time.Format(time.RFC3339), "ouch: ")
}
示例8: TestParseBroadcast_866264
func TestParseBroadcast_866264(t *testing.T) {
{
t0, _ := time.Parse(time.RFC3339, "2016-11-27T23:05:00+01:00")
assert.Equal(t, "2016-11-27T23:05:00+01:00", t0.Format(time.RFC3339), "oha")
}
f, err := os.Open("testdata/2016-11-27T2305-b4-ausstrahlung-866264.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("b4")
t0 := broadcastURL{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.November, 27, 23, 5, 0, 0, localLoc),
Source: *r.MustParseURL("https://www.br-klassik.de/programm/radio/ausstrahlung-866264.html"),
Station: r.Station(*s),
},
Title: "Musik der Welt",
},
Image: r.MustParseURL("https://www.br-klassik.de/pierre-dominique-ponnelle-102~_h-558_v-img__16__9__xl_w-994_-e1d284d92729d9396a907e303225e0f2d9fa53b4.jpg?version=1c52e"),
}
bc, err := t0.parseBroadcastReader(f, nil)
assert.Nil(t, err, "ouch")
assert.Equal(t, "b4", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Musik der Welt", bc.Title, "ouch: Title")
assert.Equal(t, "https://www.br-klassik.de/programm/radio/ausstrahlung-866264.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Equal(t, t0.Title, bc.Title, "ouch: Title")
assert.Equal(t, "Aus dem Studio Franken:", *bc.TitleSeries, "ouch: TitleSeries")
assert.Equal(t, "Minsk, Ufa, Taschkent", *bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-11-27T23:05:00+01:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-11-28T00:00:00+01:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Equal(t, "https://www.br-klassik.de/themen/jazz-und-weltmusik/musik-der-welt-102.html", bc.Subject.String(), "ouch: Subject")
assert.Equal(t, "2016-11-24T09:15:20+01:00", bc.Modified.Format(time.RFC3339), "ouch: Modified")
assert.Equal(t, "Bayerischer Rundfunk", *bc.Author, "ouch: Author")
assert.NotNil(t, bc.Description, "ouch: Description")
assert.Equal(t, "Fremde Länder, fremde Klänge in Features, Reportagen und Interviews. Ein internationales Autoren-Team präsentiert Musik rund um den Globus, vom Porträt bis zum Konzertmitschnitt.\n\nDie Stationen seiner Karriere haben einen exotischen Klang. Er war Chefdirigent in Minsk. Er kennt die Opernhäuser von Bischkek, Almaty oder Baku wie seine Westentasche. Er hat die Staatsorchester von Armenien, Aserbaidschan und Georgien geleitet. Dabei hat es Pierre-Dominique Ponnelle, Sohn des berühmten Opernregisseurs Jean-Pierre Ponnelle, nach Lehrjahren bei Herbert von Karajan und Otmar Suitner eher durch Zufall gen Osten verschlagen. Grau in Grau hatte er sich diese Welt dort vorgestellt - und war dann fasziniert, gepackt von der Buntheit, der Vielfalt, der musikalischen Qualität, die er in den Ländern der ehemaligen Sowjetunion vorfand. Seine Reisen zu fremden Ländern und Menschen haben inzwischen auch in einer Reihe von Kompositionen ihren Niederschlag gefunden: Da gibt es eine liebevolle Hommage an den armenischen Maler Minas Avetisyan oder ein Streichquartett, das zentralasiatische Melodien verarbeitet. Thorsten Preuß sprach mit dem weitgereisten Komponisten und Dirigenten.\n\nDie musikalischen Reisen des Komponisten und Dirigenten Pierre-Dominique Ponnelle\nVon Thorsten Preuß", *bc.Description, "ouch: Description")
assert.NotNil(t, bc.Image, "ouch: Image")
assert.Equal(t, "https://www.br-klassik.de/pierre-dominique-ponnelle-102~_h-558_v-img__16__9__xl_w-994_-e1d284d92729d9396a907e303225e0f2d9fa53b4.jpg?version=1c52e", bc.Image.String(), "ouch: Image")
}
示例9: TestParseBroadcast_914548
func TestParseBroadcast_914548(t *testing.T) {
{
t0, _ := time.Parse(time.RFC3339, "2016-11-27T20:30:00+01:00")
assert.Equal(t, "2016-11-27T20:30:00+01:00", t0.Format(time.RFC3339), "oha")
}
f, err := os.Open("testdata/2016-11-27T2030-b4-ausstrahlung-914548.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("b4")
t0 := broadcastURL{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.November, 27, 20, 30, 0, 0, localLoc),
Source: *r.MustParseURL("https://www.br-klassik.de/programm/radio/ausstrahlung-914548.html"),
Station: r.Station(*s),
},
Title: "Intermezzo",
},
Image: r.MustParseURL("https://www.br-klassik.de/programm/radio/logo106~_h-558_v-img__16__9__xl_w-994_-e1d284d92729d9396a907e303225e0f2d9fa53b4.jpg?version=78f3c"),
}
bc, err := t0.parseBroadcastReader(f, nil)
assert.Nil(t, err, "ouch")
assert.Equal(t, "b4", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Intermezzo", bc.Title, "ouch: Title")
assert.Equal(t, "https://www.br-klassik.de/programm/radio/ausstrahlung-914548.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Equal(t, t0.Title, bc.Title, "ouch: Title")
assert.Equal(t, "", *bc.TitleSeries, "ouch: TitleSeries")
assert.Nil(t, bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-11-27T20:30:00+01:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-11-27T21:00:00+01:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Nil(t, bc.Subject, "ouch: Subject")
assert.Equal(t, "2016-11-25T13:15:07+01:00", bc.Modified.Format(time.RFC3339), "ouch: Modified")
assert.Equal(t, "Bayerischer Rundfunk", *bc.Author, "ouch: Author")
assert.NotNil(t, bc.Description, "ouch: Description")
assert.Equal(t, "Ernst von Gemmingen: Violinkonzert Nr. 1 A-Dur (Kolja Lessing, Violine; Münchner Rundfunkorchester: Ulf Schirmer)", *bc.Description, "ouch: Description")
assert.NotNil(t, bc.Image, "ouch: Image")
assert.Equal(t, "https://www.br-klassik.de/programm/radio/logo106~_h-558_v-img__16__9__xl_w-994_-e1d284d92729d9396a907e303225e0f2d9fa53b4.jpg?version=78f3c", bc.Image.String(), "ouch: Image")
}
示例10: TestUnmarshalBroadcastFromHTML_2
func TestUnmarshalBroadcastFromHTML_2(t *testing.T) {
f, err := os.Open("testdata/2016-08-21T1800-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("wdr5")
lang := "de"
dtEnd, _ := time.Parse(time.RFC3339, "2016-08-21T18:05:00+02:00")
bc0 := broadcast(r.Broadcast{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.August, 21, 18, 0, 0, 0, s.TimeZone),
Source: *r.MustParseURL("http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html"),
Station: r.Station(*s),
},
Title: "Krimi am Samstag",
},
Language: &lang,
DtEnd: &dtEnd,
})
res, err := bc0.parseBroadcastFromHtmlReader(f, nil)
assert.Equal(t, 1, len(res), "96")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "wdr5", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Krimi am Samstag", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Nil(t, bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-08-21T18:00:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-08-21T18:05:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Nil(t, bc.Subject, "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Equal(t, "WDR", *bc.Author, "ouch: Author")
assert.Equal(t, "", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}
示例11: TestUnmarshalBroadcastFromHTML_0
func TestUnmarshalBroadcastFromHTML_0(t *testing.T) {
f, err := os.Open("testdata/2016-07-23T1705-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("wdr5")
lang := "de"
dtEnd, _ := time.Parse(time.RFC3339, "2016-07-23T18:00:00+02:00")
bc0 := broadcast(r.Broadcast{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.July, 23, 17, 5, 0, 0, s.TimeZone),
Source: *r.MustParseURL("http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html"),
Station: r.Station(*s),
},
Title: "Krimi am Samstag",
},
Language: &lang,
DtEnd: &dtEnd,
})
res, err := bc0.parseBroadcastFromHtmlReader(f, nil)
assert.Equal(t, 1, len(res), "96")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "wdr5", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Krimi am Samstag", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Equal(t, "Der Knochenmann", *bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-07-23T17:05:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-07-23T18:00:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Equal(t, "http://www1.wdr.de/radio/wdr5/sendungen/krimi-am-samstag/uebersicht-krimi-am-samstag100.html", bc.Subject.String(), "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Equal(t, "WDR", *bc.Author, "ouch: Author")
assert.Equal(t, "Von Wolf Haas\nKomposition: Otto Lechner\nBearbeitung und Regie: Götz Fritsch\nHaas: Wolfram Berger\nBrenner: Erwin Steinhauer\nLöschenkohl: Peter Simonischek\nFerdl: Peter Strauß\nKellnerin: Anna Mertin\nMilovic: Stefan Terdy\nPaul Löschenkohl: Ernst Prassel\nPeter Nidetzky: Peter Nidetzky\nJacky: Harald Pichlhöfer\nRothaarige: Brigitte Soucek\nPalfinger: Erhard Koren\nSchwester: Brigitte Karner\nKrennek: Peter Uray\nHelene: Michou Friesz\nFrau Trummer: Gerti Pall\nKellnerin: Anne Mertin\nFerner wirken mit: Alex Schoeler-Haring, Stefan Puntigam, Ursula\nMihelic-Korp, Johannes Monschein, Netta Goldfarb, Heinrich\nHerki-Hoefler, Horst Klaus, Hertha Block, Friedrich Weidisch, Edith\nUnger, Josef Safranek und Margaret Reschreiter\nMusiker: Georg Graf, Saxofon, Klarinette und Oboe; Herbert Reisinger und\nJoão de Bruçó, Schlagzeug; Anton Burger, Geige; Max Nagl, Saxofon\nAufnahme ORF/MDR\n\nJetzt ist schon wieder was passiert. Privatdetektiv Brenner ist erneut im Einsatz. Krimiautor Wolf Haas schickt ihn diesmal zum wenig idyllischen Grillkönig in die Steiermark - und lässt dabei nicht nur Brathähnchen um Kopf und Kragen fürchten.", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}
示例12: TestUnmarshalBroadcastFromHTML_4
func TestUnmarshalBroadcastFromHTML_4(t *testing.T) {
f, err := os.Open("testdata/2016-08-21T2305-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("wdr5")
lang := "de"
dtEnd, _ := time.Parse(time.RFC3339, "2016-08-22T00:00:00+02:00")
bc0 := broadcast(r.Broadcast{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.August, 21, 23, 5, 0, 0, s.TimeZone),
Source: *r.MustParseURL("http://www.wdr.de/programmvorschau/wdr5/sendung/2016-08-21/41025663/der-wdr-5-literatursommer.html"),
Station: r.Station(*s),
},
Title: "Der WDR 5 Literatursommer",
},
Language: &lang,
DtEnd: &dtEnd,
})
res, err := bc0.parseBroadcastFromHtmlReader(f, nil)
assert.Equal(t, 1, len(res), "262")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "wdr5", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Der WDR 5 Literatursommer", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.wdr.de/programmvorschau/wdr5/sendung/2016-08-21/41025663/der-wdr-5-literatursommer.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Equal(t, "Michael Kumpfmüller gibt Erziehungsratschläge", *bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-08-21T23:05:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-08-22T00:00:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Equal(t, "http://www1.wdr.de/radio/wdr5/sendungen/literatursommer/uebersicht-literatursommer102.html", bc.Subject.String(), "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Equal(t, "WDR", *bc.Author, "ouch: Author")
assert.Equal(t, "bis 24:00 Uhr\nWiederholung: 23.08. 03.05 Uhr\n\n„Die Erziehung des Mannes“ hat sich Michael Kumpfmüller in seinem jüngsten Roman zur Aufgabe gemacht. Am Beispiel von Georg, dem Protagonisten der Geschichte,\n\nerzählt er von den Fallstricken, mit denen Männer in Liebesdingen und im Ehealltag rechnen müssen.\n\nGeorgs Beziehungen gehen immer wieder in die Brüche, dann heiratet er Jule und bekommt mit ihr drei Kinder. Glücklich sind die beide trotzdem nicht. Aber wer trägt die\n\nSchuld an dem Problem? Die feministisch sozialisierte Frau, die ein neues männliches Rollenbild erwartet, und manchmal doch den alten Macho haben will? Der Vater, der seinen Kindern Zärtlichkeit und Nähe vorenthalten hat? Oder Georg selbst, der sich von den Ansprüchen von Frau und Kindern überfordert fühlt?\n\nMinutiös und durchaus komisch protokolliert Michael Kumpfmüller das Leben eines Durchschnittsmannes im 21. Jahrhundert. Immer auf der Suche nach einem Weg aus dem Dilemma von unerfüllbaren Erwartungen und festgefahrenen Verhaltensmustern.\n\nWDR 5 Literatursommer sendet Ausschnitte einer Veranstaltung der lit.COLOGNE 2016.", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}
示例13: TestUnmarshalBroadcastFromHTML_3
func TestUnmarshalBroadcastFromHTML_3(t *testing.T) {
f, err := os.Open("testdata/2016-08-21T1805-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("wdr5")
lang := "de"
dtEnd, _ := time.Parse(time.RFC3339, "2016-08-21T19:00:00+02:00")
bc0 := broadcast(r.Broadcast{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.August, 21, 18, 5, 0, 0, s.TimeZone),
Source: *r.MustParseURL("http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html"),
Station: r.Station(*s),
},
Title: "Krimi am Samstag",
},
Language: &lang,
DtEnd: &dtEnd,
})
res, err := bc0.parseBroadcastFromHtmlReader(f, nil)
assert.Equal(t, 1, len(res), "96")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "wdr5", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Krimi am Samstag", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Equal(t, "Ich war für viele die Millowitsch-Tochter", *bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-08-21T18:05:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-08-21T19:00:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Equal(t, "http://www1.wdr.de/radio/wdr5/sendungen/erlebtegeschichten/uebersicht-erlebte-geschichten100.html", bc.Subject.String(), "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Equal(t, "WDR", *bc.Author, "ouch: Author")
assert.Equal(t, "Lotti Krekel, Schauspielerin und Sängerin\nVon Christian Geuenich\nWiederholung: 22.05 Uhr\n\nLotti Krekel, am 23. August 1941 in Roetgen in der Eifel geboren, war ein Kinderstar des Radios. Dort lernte sie Willy Millowitsch kennen und wurde später als seine Filmund\n\nBühnentochter einem Millionenpublikum bekannt.\n\nElf Jahre lang spielte sie meist die Tochter des großen Kölschen Volksschauspielers, so dass viele Zuschauer sie bis heute für die leibliche Tochter von Willy Millowitsch halten. Ende der 1960er Jahre begann Lotti Krekel eine erfolgreiche zweite Karriere ohne Millowitsch und wurde eher zufällig mit ihrem kölschen Hit „Mir schenke der Ahl e paar Blömcher“ zu einer erfolgreichen Sängerin. Daneben spielte sie in Fernsehfilmen und stand auf der Theater- oder Karnevalsbühne. Mit ihrem Mann Ernst Hilbich und ihrer jüngeren Halbschwester Hildegard Krekel, war\n\nsie in der Fernsehserie „Die Anrheiner“ zu sehen.", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}
示例14: TestParseBroadcast23h55min
func TestParseBroadcast23h55min(t *testing.T) {
f, err := os.Open("testdata/2015-11-15T0005-b+-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("b+")
t0 := broadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2015, time.November, 11, 15, 5, 0, 0, localLoc),
Source: *r.MustParseURL("http://www.br.de/radio/bayern-plus/programmkalender/ausstrahlung-497666.html"),
Station: r.Station(*s),
},
Title: "Bayern plus - Meine Schlager hören",
}
// http://rec.mro.name/stations/b%2b/2015/11/15/0005%20Bayern%20plus%20-%20Meine%20Schlager%20h%C3%B6ren
bcs, err := t0.parseBroadcastReader(f, nil)
assert.Nil(t, err, "ouch")
assert.Equal(t, 1, len(bcs), "ouch")
bc := bcs[0]
assert.Equal(t, "b+", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Bayern plus - Meine Schlager hören", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.br.de/radio/bayern-plus/programmkalender/ausstrahlung-497666.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Equal(t, t0.Title, bc.Title, "ouch: Title")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Nil(t, bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2015-11-15T00:05:00+01:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2015-11-16T00:00:00+01:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Equal(t, 1435*time.Minute, bc.DtEnd.Sub(bc.Time), "ouch: Duration")
assert.Nil(t, bc.Subject, "ouch: Subject")
assert.Equal(t, "2015-10-29T01:25:04+01:00", bc.Modified.Format(time.RFC3339), "ouch: Modified")
assert.Equal(t, "Bayerischer Rundfunk", *bc.Author, "ouch: Author")
assert.NotNil(t, bc.Description, "ouch: Description")
assert.Equal(t, "Jeweils zur vollen Stunde\nNachrichten, Wetter, Verkehr", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
assert.Nil(t, bc.Publisher, "Publisher")
assert.Nil(t, bc.Creator, "Creator")
assert.Nil(t, bc.Copyright, "Copyright")
}
示例15: TestUnmarshalBroadcastFromHTML_1
func TestUnmarshalBroadcastFromHTML_1(t *testing.T) {
f, err := os.Open("testdata/2016-08-21T1705-sendung.html")
assert.NotNil(t, f, "ouch")
assert.Nil(t, err, "ouch")
s := Station("wdr5")
lang := "de"
dtEnd, _ := time.Parse(time.RFC3339, "2016-08-21T18:00:00+02:00")
bc0 := broadcast(r.Broadcast{
BroadcastURL: r.BroadcastURL{
TimeURL: r.TimeURL{
Time: time.Date(2016, time.August, 21, 17, 5, 0, 0, s.TimeZone),
Source: *r.MustParseURL("http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html"),
Station: r.Station(*s),
},
Title: "Krimi am Samstag",
},
Language: &lang,
DtEnd: &dtEnd,
})
res, err := bc0.parseBroadcastFromHtmlReader(f, nil)
assert.Equal(t, 1, len(res), "96")
bc := res[0]
assert.Nil(t, err, "ouch")
assert.Equal(t, "wdr5", bc.Station.Identifier, "ouch: Station.Identifier")
assert.Equal(t, "Krimi am Samstag", bc.Title, "ouch: Title")
assert.Equal(t, "http://www.wdr.de/programmvorschau/wdr5/sendung/2016-07-23/40920025/krimi-am-samstag.html", bc.Source.String(), "ouch: Source")
assert.NotNil(t, bc.Language, "ouch: Language")
assert.Equal(t, "de", *bc.Language, "ouch: Language")
assert.Nil(t, bc.TitleSeries, "ouch: TitleSeries")
assert.Equal(t, "Mördergrube", *bc.TitleEpisode, "ouch: TitleEpisode")
assert.Equal(t, "2016-08-21T17:05:00+02:00", bc.Time.Format(time.RFC3339), "ouch: Time")
assert.Equal(t, "2016-08-21T18:00:00+02:00", bc.DtEnd.Format(time.RFC3339), "ouch: DtEnd")
assert.Equal(t, "http://www1.wdr.de/radio/wdr5/sendungen/hoerspiel-am-sonntag/uebersicht-hoerspiel-am-sonntag100.html", bc.Subject.String(), "ouch: Subject")
assert.Nil(t, bc.Modified, "ouch: Modified")
assert.Equal(t, "WDR", *bc.Author, "ouch: Author")
assert.Equal(t, "Von Lorenz Schröter\nAndré: Christoph Bach\nBeatrice: Mira Partecke\nDaniela: Victoria Trauttmansdorff\nEinar: Christof Wackernagel\nAndré, jung: Jakob Göss\nBruno: Volker Lippmann\nWaldemar: Gunnar Kolb\nMelanie: Julia Riedler\nJunger Mann: Julius Schleheck\nImke: Claudia Mischke\nRegie: Thomas Wolfertz\n\nDas Leben ist eine Sickergrube voller Erinnerungen. Aber was macht man, wenn der Gestank nicht mehr auszuhalten ist? André beschließt, den Sumpf auszuheben.", *bc.Description, "ouch: Description")
assert.Nil(t, bc.Image, "ouch: Image")
}