blob: 9fd8d7ae7239610a1715caeaa9a6b0aabf6ac6df (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package main
import (
"bufio"
"encoding/xml"
"flag"
"fmt"
"log"
"os"
)
var (
docType = `<!DOCTYPE tv SYSTEM "xmltv.dtd">`
output = flag.String(
"output",
"-",
"Write output to `file` (stdout by default)",
)
)
func usage() {
fmt.Fprintf(os.Stderr, "usage: epgpruner [-output file] URL\n")
flag.PrintDefaults()
os.Exit(2)
}
func main() {
log.SetPrefix("epgtrim: ")
log.SetFlags(0)
flag.Usage = usage
flag.Parse()
if flag.NArg() != 1 {
usage()
os.Exit(1)
}
URL := flag.Args()[0]
playlist, err := NewPlaylist(URL)
if err != nil {
log.Fatal(err)
}
outfile := os.Stdout
if *output != "-" {
f, err := os.Create(*output)
if err != nil {
log.Fatal(err)
}
outfile = f
defer f.Close()
}
wr := bufio.NewWriter(outfile)
defer wr.Flush()
wr.Write([]byte(xml.Header + docType + "\n"))
e := xml.NewEncoder(wr)
e.Indent("", " ")
err = e.Encode(playlist.Schedule.EPG)
if err != nil {
log.Fatal(err)
}
}
|