Skip to content

Commit 7372aba

Browse files
authored
Merge pull request #112 from mediathekview/feature/querycache
Query Cache for slow systems (Closes #111)
2 parents 70a524c + 5e3e40d commit 7372aba

10 files changed

Lines changed: 214 additions & 16 deletions

File tree

addon.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<addon id="plugin.video.mediathekview"
33
name="MediathekView"
4-
version="0.5.3.2"
4+
version="0.5.9"
55
provider-name="MediathekView.de, Leo Moll">
66
<requires>
77
<import addon="xbmc.python" version="2.25.0"/>
@@ -27,9 +27,10 @@
2727
<description lang="en_GB">Gives access to most video-platforms from German public service broadcasters using the database of MediathekView.de</description>
2828
<description lang="it_IT">Fornisce l'accesso a gran parte delle piattaforme video operate dalle emittenti pubbliche tedesche usando la banca dati di MediathekView.de</description>
2929
<news>v0.6.0 (2019-03-XX):
30+
- Feature: Cache der Anfragen für lokale Datenbanken
31+
- Feature: Natives ultraschnelles Update für SQLite
3032
- Bugfix: Live Streams konnten heruntergeladen werden
3133
- Bugfix: Auf Kodi 18 hat der automatische Aktualisierungsmodus nicht mehr funktioniert
32-
- Feature: Natives ultraschnelles Update für SQLite
3334
v0.5.2 (2019-02-17):
3435
- Feature: Neue option --full um ein vollstndiges Update zu erzwingen
3536
v0.5.1 (2018-08-22):

resources/language/resource.language.de_de/strings.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ msgctxt "#30233"
115115
msgid "Fast Native Updates"
116116
msgstr "Schnelle Datenbankaktualisierung"
117117

118+
msgctxt "#30234"
119+
msgid "Query Caching"
120+
msgstr "Abfragen zwischenspeichern"
121+
118122
msgctxt "#30241"
119123
msgid "Disabled"
120124
msgstr "Abgeschaltet"

resources/language/resource.language.en_gb/strings.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ msgctxt "#30233"
115115
msgid "Fast Native Updates"
116116
msgstr "Fast native Updates"
117117

118+
msgctxt "#30234"
119+
msgid "Query Caching"
120+
msgstr "Query Caching"
121+
118122
msgctxt "#30241"
119123
msgid "Disabled"
120124
msgstr "Disabled"

resources/language/resource.language.it_it/strings.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ msgctxt "#30233"
115115
msgid "Fast Native Updates"
116116
msgstr "Attualizzazione veloce"
117117

118+
msgctxt "#30234"
119+
msgid "Query Caching"
120+
msgstr "Memoria ultime liste"
121+
118122
msgctxt "#30241"
119123
msgid "Disabled"
120124
msgstr "Disattivato"

resources/lib/channel.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"""
33
The channel model module
44
5-
Copyright 2017-2018, Leo Moll and Dominik Schlösser
5+
Copyright 2017-2019, Leo Moll and Dominik Schlösser
66
Licensed under MIT License
77
"""
88

@@ -13,3 +13,17 @@ class Channel(object):
1313
def __init__(self):
1414
self.channelid = 0
1515
self.channel = ''
16+
17+
def get_as_dict(self):
18+
""" Returns the values as a map """
19+
return {
20+
"channelid": self.channelid,
21+
"channel": self.channel
22+
}
23+
24+
def set_from_dict(self, data):
25+
""" Assigns internal values from a map """
26+
if not isinstance(data, dict):
27+
return
28+
self.channelid = data.get('channelid', 0)
29+
self.channel = data.get('channel', '')

resources/lib/film.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"""
33
The film model module
44
5-
Copyright 2017-2018, Leo Moll and Dominik Schlösser
5+
Copyright 2017-2019, Leo Moll and Dominik Schlösser
66
Licensed under MIT License
77
"""
88

@@ -23,3 +23,37 @@ def __init__(self):
2323
self.url_video = ''
2424
self.url_video_sd = ''
2525
self.url_video_hd = ''
26+
27+
def get_as_dict(self):
28+
""" Returns the values as a map """
29+
return {
30+
"filmid": self.filmid,
31+
"title": self.title,
32+
"show": self.show,
33+
"channel": self.channel,
34+
"description": self.description,
35+
"seconds": self.seconds,
36+
"size": self.size,
37+
"aired": self.aired,
38+
"url_sub": self.url_sub,
39+
"url_video": self.url_video,
40+
"url_video_sd": self.url_video_sd,
41+
"url_video_hd": self.url_video_hd
42+
}
43+
44+
def set_from_dict(self, data):
45+
""" Assigns internal values from a map """
46+
if not isinstance(data, dict):
47+
return
48+
self.filmid = data.get('filmid', 0)
49+
self.title = data.get('title', '')
50+
self.show = data.get('show', '')
51+
self.channel = data.get('channel', '')
52+
self.description = data.get('description', '')
53+
self.seconds = data.get('seconds', 0)
54+
self.size = data.get('size', 0)
55+
self.aired = data.get('aired', '')
56+
self.url_sub = data.get('url_sub', '')
57+
self.url_video = data.get('url_video', '')
58+
self.url_video_sd = data.get('url_video_sd', '')
59+
self.url_video_hd = data.get('url_video_hd', '')

resources/lib/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def load(self):
4747
self.database = addon.getSetting('dbdata')
4848
self.updnative = addon.getSetting('updnative') == 'true'
4949
self.updmode = int(addon.getSetting('updmode'))
50+
self.caching = addon.getSetting('caching') == 'true'
5051
self.updinterval = int(float(addon.getSetting('updinterval'))) * 3600
5152
# download
5253
self.downloadpathep = addon.getSetting('downloadpathep')

resources/lib/show.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"""
33
The show model module
44
5-
Copyright 2017-2018, Leo Moll and Dominik Schlösser
5+
Copyright 2017-2019, Leo Moll and Dominik Schlösser
66
Licensed under MIT License
77
"""
88

@@ -15,3 +15,21 @@ def __init__(self):
1515
self.channelid = 0
1616
self.show = ''
1717
self.channel = ''
18+
19+
def get_as_dict(self):
20+
""" Returns the values as a map """
21+
return {
22+
"showid": self.showid,
23+
"channelid": self.channelid,
24+
"show": self.show,
25+
"channel": self.channel
26+
}
27+
28+
def set_from_dict(self, data):
29+
""" Assigns internal values from a map """
30+
if not isinstance(data, dict):
31+
return
32+
self.showid = data.get('showid', 0)
33+
self.channelid = data.get('channelid', 0)
34+
self.show = data.get('show', '')
35+
self.channel = data.get('channel', '')

0 commit comments

Comments
 (0)