Skip to content

Commit 395731c

Browse files
committed
bugfix: compatibility with vdr <= 2.3.3 (SVDRP PING)
1 parent ebb593b commit 395731c

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

svdrp/src/main/java/vdr/jonglisto/svdrp/client/Parser.xtend

+8-7
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import static extension org.apache.commons.lang3.StringUtils.*
3030

3131
@Log("jonglisto.svdrp.client")
3232
class Parser {
33-
static val namePattern = Pattern.compile("(\\d+) (.*?) (.*?)(;(.*?))*:(\\d+):(.*?)$")
33+
static val namePattern = Pattern.compile("(\\d+) (.*?)(;(.*?))*:(\\d+):(.*?)$")
3434
static val recordingPattern = Pattern.compile("(\\d+) (\\d{2}.\\d{2}.\\d{2} \\d{2}:\\d{2}) (\\d+:\\d+)(\\*?) (.*)$")
3535
static val recordingDateFormatter = DateTimeFormatter.ofPattern("dd.MM.yy HH:mm");
3636
static val pluginPattern = Pattern.compile("^(.*?) (.*?) - (.*?)$")
@@ -66,18 +66,19 @@ class Parser {
6666
ch.encrypted = "0" != sp.get(8)
6767
ch.source = sp.get(3)
6868
ch.number = Integer.valueOf(matcher.group(1))
69-
ch.id = matcher.group(2)
70-
ch.bouquet = matcher.group(5)
71-
ch.frequence = Long.valueOf(matcher.group(6))
69+
ch.id = sp.get(3) + "-" + sp.get(10) + "-" + sp.get(11) + "-" + sp.get(9)
70+
71+
ch.bouquet = matcher.group(4)
72+
ch.frequence = Long.valueOf(matcher.group(5))
7273
if (ch.frequence == 0) {
7374
ch.frequence = null
7475
}
7576

76-
val idx2 = matcher.group(3).indexOf(",")
77+
val idx2 = matcher.group(2).indexOf(",")
7778
if (idx2 == -1) {
78-
ch.name = matcher.group(3).trim
79+
ch.name = matcher.group(2).trim
7980
} else {
80-
ch.name = matcher.group(3).substring(0, idx2).trim
81+
ch.name = matcher.group(2).substring(0, idx2).trim
8182
}
8283

8384
ch.normalizedName = Utils.normalizeChannelName(ch.name)

svdrp/src/main/java/vdr/jonglisto/svdrp/client/SvdrpClient.xtend

+3-3
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class SvdrpClient {
121121

122122
def pingHost(VDR vdr) {
123123
try {
124-
vdr.command("PING", 250)
124+
vdr.command("DUMMY", 500)
125125
return true
126126
} catch (Exception e) {
127127
return false
@@ -164,7 +164,7 @@ class SvdrpClient {
164164
return null
165165
}
166166
}
167-
167+
168168
@SuppressWarnings("unchecked")
169169
def getChannels() {
170170
try {
@@ -637,7 +637,7 @@ class SvdrpClient {
637637
}
638638

639639
private def List<Channel> readChannels(VDR vdr) {
640-
return Parser.parseChannel(vdr.command("LSTC :ids :groups", 250).lines)
640+
return Parser.parseChannel(vdr.command("LSTC :groups", 250).lines)
641641
}
642642

643643
private def List<Epg> readEpg(VDR vdr) {

0 commit comments

Comments
 (0)