aboutsummaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorMartijn Kaijser <mcm.kaijser@gmail.com>2013-10-16 15:21:01 +0200
committerMartijn Kaijser <mcm.kaijser@gmail.com>2013-10-16 15:23:37 +0200
commite4f0689f793e39d1af5b98f79d6c25f411806fba (patch)
tree10693ef97c16083832f35c0b0eda13da571162b1 /addons
parent1f9204e776812f0ff9ffa2def695ee25ab3a3acc (diff)
[addons] sync addons to repo
Diffstat (limited to 'addons')
-rw-r--r--addons/metadata.album.universal/addon.xml4
-rw-r--r--addons/metadata.album.universal/albumuniversal.xml15
-rw-r--r--addons/metadata.album.universal/changelog.txt7
-rw-r--r--addons/metadata.album.universal/resources/settings.xml2
-rw-r--r--addons/metadata.artists.universal/addon.xml6
-rw-r--r--addons/metadata.artists.universal/artistuniversal.xml8
-rw-r--r--addons/metadata.artists.universal/changelog.txt14
-rw-r--r--addons/metadata.artists.universal/resources/settings.xml6
-rw-r--r--addons/metadata.common.allmusic.com/addon.xml2
-rw-r--r--addons/metadata.common.allmusic.com/allmusic.xml84
-rw-r--r--addons/metadata.common.hdtrailers.net/addon.xml2
-rw-r--r--addons/metadata.common.hdtrailers.net/hdtrailers.xml58
-rw-r--r--addons/metadata.common.htbackdrops.com/addon.xml2
-rw-r--r--addons/metadata.common.htbackdrops.com/htbackdrops.xml12
-rw-r--r--addons/metadata.common.imdb.com/addon.xml2
-rw-r--r--addons/metadata.common.imdb.com/changelog.txt3
-rw-r--r--addons/metadata.common.imdb.com/imdb.xml2
-rw-r--r--addons/metadata.common.musicbrainz.org/addon.xml2
-rw-r--r--addons/metadata.common.musicbrainz.org/musicbrainz.xml2
-rw-r--r--addons/metadata.common.theaudiodb.com/addon.xml2
-rw-r--r--addons/metadata.common.theaudiodb.com/tadb.xml31
-rw-r--r--addons/metadata.common.themoviedb.org/addon.xml2
-rw-r--r--addons/metadata.common.themoviedb.org/tmdb.xml8
-rw-r--r--addons/script.module.simplejson/addon.xml14
-rw-r--r--addons/script.module.simplejson/lib/LICENSE.txt19
-rw-r--r--addons/script.module.simplejson/lib/simplejson/__init__.py318
-rw-r--r--addons/script.module.simplejson/lib/simplejson/decoder.py354
-rw-r--r--addons/script.module.simplejson/lib/simplejson/encoder.py440
-rw-r--r--addons/script.module.simplejson/lib/simplejson/scanner.py65
-rw-r--r--addons/script.module.simplejson/lib/simplejson/tool.py37
-rw-r--r--addons/service.xbmc.versioncheck/README.md2
-rw-r--r--addons/service.xbmc.versioncheck/addon.xml68
-rw-r--r--addons/service.xbmc.versioncheck/changelog.txt33
-rw-r--r--addons/service.xbmc.versioncheck/icon.pngbin26829 -> 33618 bytes
-rw-r--r--addons/service.xbmc.versioncheck/lib/__init__.py1
-rw-r--r--addons/service.xbmc.versioncheck/lib/aptdeamonhandler.py109
-rw-r--r--addons/service.xbmc.versioncheck/lib/common.py89
-rw-r--r--addons/service.xbmc.versioncheck/lib/jsoninterface.py54
-rw-r--r--addons/service.xbmc.versioncheck/lib/shellhandlerapt.py125
-rw-r--r--addons/service.xbmc.versioncheck/lib/versions.py93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Afrikaans/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Albanian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Amharic/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Arabic/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Basque/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Belarusian/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Bosnian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Bulgarian/strings.po89
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Catalan/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Chinese (Simple)/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Chinese (Traditional)/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Croatian/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Czech/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Danish/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Dutch/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/English/strings.po28
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Esperanto/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Estonian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Finnish/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/French/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Galician/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/German/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Greek/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Hebrew/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Hindi (Devanagiri)/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Hungarian/strings.po85
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Icelandic/strings.po65
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Indonesian/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Italian/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Japanese/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Korean/strings.po89
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Latvian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Lithuanian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Macedonian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Malay/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Malayalam/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Maltese/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Norwegian/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Persian (Iran)/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Persian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Polish/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Portuguese (Brazil)/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Portuguese/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Romanian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Russian/strings.po29
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Serbian (Cyrillic)/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Serbian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Slovak/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Slovenian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Spanish (Argentina)/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Spanish (Mexico)/strings.po57
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Spanish/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Swedish/strings.po93
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Tamil (India)/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Thai/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Turkish/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Ukrainian/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/language/Vietnamese/strings.po21
-rw-r--r--addons/service.xbmc.versioncheck/resources/polkit/10-allow-update.pkla6
-rw-r--r--addons/service.xbmc.versioncheck/resources/polkit/README10
-rw-r--r--addons/service.xbmc.versioncheck/resources/settings.xml1
-rw-r--r--addons/service.xbmc.versioncheck/resources/versions.txt56
-rw-r--r--addons/service.xbmc.versioncheck/service.py260
103 files changed, 3591 insertions, 1576 deletions
diff --git a/addons/metadata.album.universal/addon.xml b/addons/metadata.album.universal/addon.xml
index f9468c9627..ec1038b180 100644
--- a/addons/metadata.album.universal/addon.xml
+++ b/addons/metadata.album.universal/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.album.universal"
name="Universal Album Scraper"
- version="1.7.7b"
+ version="2.1.0"
provider-name="Olympia, Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
@@ -10,7 +10,7 @@
<import addon="metadata.common.musicbrainz.org" version="1.2.3"/>
<import addon="metadata.common.fanart.tv" version="2.1.2"/>
<import addon="metadata.common.amazon.de" version="1.0.0"/>
- <import addon="metadata.common.theaudiodb.com" version="1.4.0"/>
+ <import addon="metadata.common.theaudiodb.com" version="1.7.0"/>
</requires>
<extension point="xbmc.metadata.scraper.albums"
language="en"
diff --git a/addons/metadata.album.universal/albumuniversal.xml b/addons/metadata.album.universal/albumuniversal.xml
index b42a21ed5a..d18eacc4b5 100644
--- a/addons/metadata.album.universal/albumuniversal.xml
+++ b/addons/metadata.album.universal/albumuniversal.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<scraper framework="1.1" date="2012-06-09">
+<scraper framework="1.1" date="2013-05-29">
<NfoUrl dest="3">
<RegExp input="$$1" output="&lt;url&gt;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;" dest="3">
<expression>release/(.+)</expression>
@@ -11,7 +11,7 @@
</RegExp>
</ResolveIDToUrl>
<CreateAlbumSearchUrl dest="3">
- <RegExp input="$$1" output="&lt;url&gt;http://search.musicbrainz.org/ws/2/release/?fmt=xml&amp;query=release:\1%20AND%20artist:&quot;$$4&quot;&lt;/url&gt;" dest="3">
+ <RegExp input="$$1" output="&lt;url&gt;http://search.musicbrainz.org/ws/2/release/?fmt=xml&amp;query=release:&quot;\1&quot;%20AND%20artist:&quot;$$4&quot;&lt;/url&gt;" dest="3">
<RegExp input="$$2" output="\1" dest="4">
<expression noclean="1">(.+)</expression>
</RegExp>
@@ -27,16 +27,16 @@
<GetAlbumSearchResults dest="8">
<RegExp input="$$5" output="&lt;results sorted=&quot;yes&quot;&gt;\1&lt;/results&gt;" dest="8">
<RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\stype=&quot;Album&quot;\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
+ <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\stype=&quot;Album&quot;\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
</RegExp>
<RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group(?:\stype=&quot;[^&quot;]*&quot;)*\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
+ <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group(?:\stype=&quot;[^&quot;]*&quot;)*\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
</RegExp>
<RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;\stype=&quot;Album&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
+ <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;\stype=&quot;Album&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
</RegExp>
<RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;)*/script&gt;&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;(?:\stype=&quot;[^&quot;]*&quot;)*&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
+ <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;.*?&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;(?:\stype=&quot;[^&quot;]*&quot;)*&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -95,6 +95,9 @@
<RegExp input="$INFO[albumratingsource]" output="&lt;url function=&quot;GetAMGAlbumRating&quot; cache=&quot;mb-$$4-rg.xml&quot;&gt;http://musicbrainz.org/ws/2/release-group/$$4?inc=url-rels&lt;/url&gt;" dest="5+">
<expression>allmusic.com</expression>
</RegExp>
+ <RegExp input="$INFO[albumratingsource]" output="&lt;chain function=&quot;GetTADBAlbumRatingByMBID&quot;&gt;$$4&lt;/chain&gt;" dest="5+">
+ <expression>TheAudioDb.com</expression>
+ </RegExp>
<RegExp input="$INFO[albumstylessource]" output="&lt;url function=&quot;GetAMGAlbumStyles&quot; cache=&quot;mb-$$4-rg.xml&quot;&gt;http://musicbrainz.org/ws/2/release-group/$$4?inc=url-rels&lt;/url&gt;" dest="5+">
<expression>allmusic.com</expression>
</RegExp>
diff --git a/addons/metadata.album.universal/changelog.txt b/addons/metadata.album.universal/changelog.txt
index 5624e3ee43..4692df7d3f 100644
--- a/addons/metadata.album.universal/changelog.txt
+++ b/addons/metadata.album.universal/changelog.txt
@@ -1,3 +1,10 @@
+[B]2.1.0[/B]
+Added: option to fetch album Rating from TheAudioDB.com
+
+[B]2.0.0[/B]
+Added: ResolveIDToUrl
+Fixed: album won't find some times (thanks and credits to crankylemur & ezechiel1917)
+
[B]1.7.6[/B]
Updated language files from Transifex
diff --git a/addons/metadata.album.universal/resources/settings.xml b/addons/metadata.album.universal/resources/settings.xml
index f75639eb20..7cba6db113 100644
--- a/addons/metadata.album.universal/resources/settings.xml
+++ b/addons/metadata.album.universal/resources/settings.xml
@@ -5,7 +5,7 @@
<setting label="30002" type="labelenum" values="TheAudioDb.com|amazon.de|None" id="albumreviewsource" default="TheAudioDb.com"/>
<setting label="30003" type="labelenum" values="en|de|es|fr|it|cn|jp|ru|pt|se|nl|hu" id="tadbalbumlanguage" default="en" visible="eq(-1,0)"/>
<setting type="sep"/>
- <setting label="30004" type="labelenum" values="MusicBrainz|allmusic.com|None" id="albumratingsource" default="MusicBrainz"/>
+ <setting label="30004" type="labelenum" values="MusicBrainz|allmusic.com|TheAudioDb.com|None" id="albumratingsource" default="MusicBrainz"/>
<setting label="30005" type="labelenum" values="allmusic.com|None" id="albumstylessource" default="allmusic.com"/>
<setting label="30006" type="labelenum" values="allmusic.com|None" id="albummoodssource" default="allmusic.com"/>
<setting label="30007" type="labelenum" values="allmusic.com|None" id="albumthemessource" default="allmusic.com"/>
diff --git a/addons/metadata.artists.universal/addon.xml b/addons/metadata.artists.universal/addon.xml
index e7045e31b7..1501afa178 100644
--- a/addons/metadata.artists.universal/addon.xml
+++ b/addons/metadata.artists.universal/addon.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.artists.universal"
name="Universal Artist Scraper"
- version="2.6.6b"
+ version="3.3.0"
provider-name="Olympia, Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
<import addon="metadata.common.last.fm" version="1.6.0"/>
- <import addon="metadata.common.allmusic.com" version="2.6.0"/>
+ <import addon="metadata.common.allmusic.com" version="3.0.0"/>
<import addon="metadata.common.musicbrainz.org" version="1.3.0"/>
- <import addon="metadata.common.htbackdrops.com" version="1.2.0"/>
<import addon="metadata.common.fanart.tv" version="2.1.2"/>
<import addon="metadata.common.theaudiodb.com" version="1.5.0"/>
+ <import addon="metadata.common.htbackdrops.com" version="1.3.0"/>
</requires>
<extension point="xbmc.metadata.scraper.artists"
language="en"
diff --git a/addons/metadata.artists.universal/artistuniversal.xml b/addons/metadata.artists.universal/artistuniversal.xml
index 8f303211e8..2f0c12873b 100644
--- a/addons/metadata.artists.universal/artistuniversal.xml
+++ b/addons/metadata.artists.universal/artistuniversal.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<scraper framework="1.1" date="2013-02-27">
+<scraper framework="1.1" date="2013-05-29">
<NfoUrl dest="3">
<RegExp input="$$1" output="&lt;url&gt;http://musicbrainz.org/ws/2/artist/\1?inc=url-rels&lt;/url&gt;" dest="3">
<expression>http://musicbrainz.org/artist/(.+)</expression>
@@ -16,9 +16,15 @@
<RegExp input="$$1" output="\1" dest="4">
<expression noclean="1">(.+)</expression>
</RegExp>
+ <RegExp input="$$1" output="\1/\2\3" dest="7">
+ <expression noclean="1">(.+)([-!])(.+)</expression>
+ </RegExp>
<RegExp input="$$1" output="\1" dest="6">
<expression noclean="1">(.+)(?:Ft%2e|Feat%2e|%20Ft\.|%20Feat\.|%20and%20)</expression>
</RegExp>
+ <RegExp input="$$7" output="\1" dest="4">
+ <expression>(.+)</expression>
+ </RegExp>
<RegExp input="$$6" output="\1" dest="4">
<expression>(.+)</expression>
</RegExp>
diff --git a/addons/metadata.artists.universal/changelog.txt b/addons/metadata.artists.universal/changelog.txt
index 34f7905b00..101d1983ce 100644
--- a/addons/metadata.artists.universal/changelog.txt
+++ b/addons/metadata.artists.universal/changelog.txt
@@ -1,3 +1,17 @@
+[B]3.3.0[/B]
+Added: Restore scraping from HTBackdrops.com using their new domain htbackdrops.org
+
+[B]3.2.0[/B]
+Added: An attempt to handle dash and exclamation mark in the artist name
+
+[B]3.1.0[/B]
+Added: Polish for theaudiodb.com language selection
+Removed: htbackdrops.com scraping since site is dead for a good while
+Fixed: allmusic.com scraping
+
+[B]3.0.0[/B]
+Added: ResolveIDToUrl
+
[B]2.6.5[/B]
Updated language files from Transifex
diff --git a/addons/metadata.artists.universal/resources/settings.xml b/addons/metadata.artists.universal/resources/settings.xml
index 434725a8d8..d158409ad9 100644
--- a/addons/metadata.artists.universal/resources/settings.xml
+++ b/addons/metadata.artists.universal/resources/settings.xml
@@ -2,7 +2,7 @@
<settings>
<category label="128">
<setting label="30006" type="labelenum" values="TheAudioDb.com|None" id="biogsource" default="TheAudioDb.com"/>
- <setting label="30015" type="labelenum" values="en|de|es|fr|it|cn|jp|ru|pt|se|nl|hu" id="tadbartistlanguage" default="en" visible="eq(-1,0)"/>
+ <setting label="30015" type="labelenum" values="en|de|es|fr|it|cn|jp|ru|pt|se|nl|hu|pl" id="tadbartistlanguage" default="en" visible="eq(-1,0)"/>
<setting type="sep"/>
<setting label="30008" type="labelenum" values="MusicBrainz|allmusic.com|TheAudioDb.com|None" id="discogsource" default="MusicBrainz"/>
<setting type="sep"/>
@@ -16,7 +16,7 @@
<category label="30021">
<setting label="30016" type="labelenum" values="TheAudioDb.com|None" id="biogfbsource" default="None"/>
- <setting label="30015" type="labelenum" values="en|de|es|fr|it|cn|jp|ru|pt|se|nl|hu" id="tadbartistlanguage" default="en" visible="eq(-1,0)"/>
+ <setting label="30015" type="labelenum" values="en|de|es|fr|it|cn|jp|ru|pt|se|nl|hu|pl" id="tadbartistlanguage" default="en" visible="eq(-1,0)"/>
<setting type="sep"/>
<setting label="30020" type="labelenum" values="TheAudioDb.com|MusicBrainz|allmusic.com|None" id="lifespanfbsource" default="None"/>
<setting type="sep"/>
@@ -28,9 +28,9 @@
<setting type="lsep" label="Thumb Sources"/>
<setting label="30005" type="bool" id="fanarttvthumbs" default="true"/>
<setting label="30022" type="bool" id="tadbthumbs" default="true"/>
- <setting label="30003" type="bool" id="htbthumbs" default="true"/>
<setting label="30002" type="bool" id="lastfmartistthumbs" default="false"/>
<setting label="30001" type="bool" id="allmusicartistthumbs" default="true"/>
+ <setting label="30003" type="bool" id="htbthumbs" default="true"/>
<setting type="lsep" label="Fanart Sources"/>
<setting label="30004" type="bool" id="fanarttvfanart" default="true"/>
<setting label="30023" type="bool" id="tadbfanart" default="true"/>
diff --git a/addons/metadata.common.allmusic.com/addon.xml b/addons/metadata.common.allmusic.com/addon.xml
index 750870ebbd..1eece85a65 100644
--- a/addons/metadata.common.allmusic.com/addon.xml
+++ b/addons/metadata.common.allmusic.com/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.allmusic.com"
name="AllMusic"
- version="2.6.0"
+ version="3.0.1"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.allmusic.com/allmusic.xml b/addons/metadata.common.allmusic.com/allmusic.xml
index 51d57fbaf3..a7a2e1c96a 100644
--- a/addons/metadata.common.allmusic.com/allmusic.xml
+++ b/addons/metadata.common.allmusic.com/allmusic.xml
@@ -1,6 +1,6 @@
<scraperfunctions>
<GetAMGDiscographyByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGDiscography&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist-discography.html&quot; function=&quot;ParseAMGDiscography&quot;&gt;http://www.allmusic.com/artist/\1/discography&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression clear="yes" noclean="1"/>
</RegExp>
</GetAMGDiscographyByAMGID>
@@ -10,7 +10,7 @@
<expression />
</RegExp>
<RegExp input="$$1" output="&lt;album&gt;&lt;year&gt;\1&lt;/year&gt;&lt;title&gt;\2&lt;/title&gt;&lt;label&gt;\3&lt;/label&gt;&lt;/album&gt;" dest="3">
- <expression repeat="yes" clear="yes" trim="1">&lt;td class=&quot;year[^&quot;]*&quot;(?:\stitle=&quot;[^&quot;]*&quot;)*\s*data-sort-value=&quot;[^&gt;]*&gt;([^&lt;]*)&lt;/td&gt;[^&lt;]*&lt;td class=&quot;.*?title=&quot;([^&quot;]*)</expression>
+ <expression repeat="yes" clear="yes" trim="1">&lt;td\sclass=&quot;year[^&quot;]*&quot;(?:\stitle=&quot;[^&quot;]*&quot;)*\s*data-sort-value=&quot;[^&gt;]*&gt;\s*([^&lt;]*)&lt;/td&gt;[^&lt;]*&lt;td\sclass=&quot;.*?title=&quot;([^&quot;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -62,20 +62,6 @@
</RegExp>
</ParseAMGFallbackBiography>
- <GetAMGArtistNameByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistName&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGArtistNameByAMGID>
- <ParseAMGArtistName dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;name&gt;\1&lt;/name&gt;" dest="2">
- <expression noclean="1">http://schema.org/MusicGroup&quot;&gt;[^&lt;]*&lt;span itemprop=&quot;name&quot;&gt;([^&lt;]*)&lt;/span&gt;</expression>
- </RegExp>
- <expression noclean="1"/>
- </RegExp>
- </ParseAMGArtistName>
-
<GetAMGArtistLifeSpanByAMGID dest="5" clearbuffers="no">
<RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistLifeSpan&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
@@ -90,16 +76,16 @@
<expression />
</RegExp>
<RegExp input="$$1" output="&lt;born&gt;\1 \2&lt;/born&gt;" dest="11+">
- <expression trim="1,2">&lt;dt&gt;\s*Born[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Born\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;died&gt;\1 \2&lt;/died&gt;" dest="11+">
- <expression trim="1,2">&lt;dt&gt;\s*Died[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Died\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="11+">
- <expression trim="1,2">&lt;dt&gt;\s*Formed[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Formed\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="11+">
- <expression trim="1,2">&lt;dt&gt;\s*Disbanded[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Disbanded\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$11" output="$$12" dest="2">
<RegExp input="$INFO[lifespanfbsource]" output="&lt;chain function=&quot;GetMBFallbackLafeSpanByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
@@ -128,16 +114,16 @@
<expression />
</RegExp>
<RegExp input="$$1" output="&lt;born&gt;\1 \2&lt;/born&gt;" dest="2">
- <expression trim="1,2">&lt;dt&gt;\s*Born[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Born\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;died&gt;\1 \2&lt;/died&gt;" dest="2+">
- <expression trim="1,2">&lt;dt&gt;\s*Died[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Died\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="2">
- <expression trim="1,2">&lt;dt&gt;\s*Formed[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Formed\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="2+">
- <expression trim="1,2">&lt;dt&gt;\s*Disbanded[^&gt;]*&gt;[^&gt;]*&gt;[^&gt;]*&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s*Disbanded\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
</RegExp>
<expression noclean="1"/>
</RegExp>
@@ -154,7 +140,7 @@
<expression />
</RegExp>
<RegExp input="$$1" output="&lt;yearsactive&gt;\1&lt;/yearsactive&gt;" dest="2">
- <expression trim="1" noclean="1">&lt;dd class=&quot;active&quot;&gt;([^&lt;]*)&lt;</expression>
+ <expression trim="1" noclean="1">&lt;h\d&gt;Active&lt;/h\d&gt;[^&gt;]*&gt;([^&lt;]*)&lt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -174,10 +160,10 @@
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">&lt;dt&gt;Genres&lt;/dt&gt;(.*?)&lt;/dd&gt;</expression>
+ <expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
- <RegExp input="$$6" output="&lt;genre&gt;\2&lt;/genre&gt;" dest="11">
- <expression repeat="yes" noclean="1">&lt;li&gt;&lt;a href=&quot;/genre/[^&quot;]*&quot;&gt;(&lt;strong&gt;)?([^&lt;]*)</expression>
+ <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="11">
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$11" output="$$12" dest="2">
<RegExp input="$INFO[genresfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackArtistGenresByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
@@ -209,10 +195,10 @@
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">&lt;dt&gt;Genres&lt;/dt&gt;(.*?)&lt;/dd&gt;</expression>
+ <expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
- <RegExp input="$$6" output="&lt;genre&gt;\2&lt;/genre&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;li&gt;&lt;a href=&quot;/genre/[^&quot;]*&quot;&gt;(&lt;strong&gt;)?([^&lt;]*)</expression>
+ <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="2">
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -232,10 +218,10 @@
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="7">
- <expression noclean="1">&lt;dt&gt;Styles&lt;/dt&gt;(.*?)&lt;/dd&gt;</expression>
+ <expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="11">
- <expression repeat="yes" noclean="1">&lt;li&gt;&lt;a href=&quot;/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$11" output="$$12" dest="2">
<RegExp input="$INFO[stylesfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackArtistStylesByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
@@ -264,10 +250,10 @@
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="7">
- <expression noclean="1">&lt;dt&gt;Styles&lt;/dt&gt;(.*?)&lt;/dd&gt;</expression>
+ <expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;li&gt;&lt;a href=&quot;/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -284,10 +270,10 @@
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="10">
- <expression noclean="1">&lt;h4&gt;artist moods&lt;/h4&gt;(.*?)&lt;/ul&gt;</expression>
+ <expression noclean="1">&gt;Artists\sMoods&lt;/h\d*&gt;(.*?)&lt;/ul&gt;</expression>
</RegExp>
<RegExp input="$$10" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+ <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;\s*&lt;/li&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -307,7 +293,7 @@
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="4">
- <expression noclean="1">&lt;h4&gt;photo gallery&lt;/h4&gt;(.*?)&lt;h4&gt;</expression>
+ <expression noclean="1">&lt;h\d&gt;Photo\sGallery&lt;/h\d&gt;(.*?)&lt;h2\sclass=&quot;artist-name&quot;</expression>
</RegExp>
<RegExp input="$$4" output="&lt;thumb&gt;http://cps-static.rovicorp.com/3/JPG_1080/\1&lt;/thumb&gt;" dest="2">
<expression repeat="yes" noclean="1">&lt;img src=&quot;http://cps-static.rovicorp.com/3/JPG_[^/]*/([^&quot;]*)</expression>
@@ -366,8 +352,8 @@
</GetAMGAlbumRatingByAMGID>
<ParseAMGAlbumRating dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;rating max=&quot;5.0&quot;&gt;\1&lt;/rating&gt;" dest="2">
- <expression noclean="1">itemprop=&quot;rating&quot;&gt;([0-9^]*)</expression>
+ <RegExp input="$$1" output="&lt;rating max=&quot;10.0&quot;&gt;\1&lt;/rating&gt;" dest="2">
+ <expression noclean="1">rating-allmusic-([0-9^]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -398,10 +384,10 @@
<ParseAMGAlbumGenres dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">&lt;dd class=&quot;genres&quot;&gt;(.*?)&lt;/dd&gt;</expression>
+ <expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="2">
- <expression repeat="yes" trim="1" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -415,10 +401,10 @@
<ParseAMGAlbumStyles dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="7">
- <expression noclean="1">&lt;dd class=&quot;styles&quot;&gt;(.*?)&lt;/dd&gt;</expression>
+ <expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="2">
- <expression repeat="yes" trim="1" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -432,10 +418,10 @@
<ParseAMGAlbumMoods dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="8">
- <expression trim="1" noclean="1">&gt;\s*&lt;h4&gt;album moods&lt;/h4&gt;(.*?)&lt;/ul&gt;</expression>
+ <expression trim="1" noclean="1">&gt;\s*&lt;h4&gt;Album\sMoods&lt;/h4&gt;(.*?)&lt;/section&gt;</expression>
</RegExp>
<RegExp input="$$8" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/mood/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -449,10 +435,10 @@
<ParseAMGAlbumThemes dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="4">
- <expression noclean="1">&lt;h4&gt;album themes&lt;/h4&gt;(.*?)&lt;/ul&gt;</expression>
+ <expression trim="1" noclean="1">&gt;\s*&lt;h4&gt;Themes&lt;/h4&gt;(.*?)&lt;/ul&gt;</expression>
</RegExp>
<RegExp input="$$4" output="&lt;theme&gt;\1&lt;/theme&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/theme/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -480,7 +466,7 @@
<ParseAMGAlbumThumbs dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;thumb&gt;http://cps-static.rovicorp.com/3/JPG_500/\1&lt;/thumb&gt;" dest="2">
- <expression noclean="1">&lt;meta property=&quot;og:image&quot; content=&quot;http://cps-static.rovicorp.com/3/JPG_[^/]*/([^&quot;]*)</expression>
+ <expression noclean="1">&quot;http://cps-static.rovicorp.com/3/JPG_[^/]*/([^&quot;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
diff --git a/addons/metadata.common.hdtrailers.net/addon.xml b/addons/metadata.common.hdtrailers.net/addon.xml
index 0a71e092de..fb097de830 100644
--- a/addons/metadata.common.hdtrailers.net/addon.xml
+++ b/addons/metadata.common.hdtrailers.net/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.hdtrailers.net"
name="HD-Trailers common scraper functions"
- version="1.0.9"
+ version="2.0.2"
provider-name="Bence Nádas (olympia)">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.hdtrailers.net/hdtrailers.xml b/addons/metadata.common.hdtrailers.net/hdtrailers.xml
index 485e72b4a3..c5eae9a234 100644
--- a/addons/metadata.common.hdtrailers.net/hdtrailers.xml
+++ b/addons/metadata.common.hdtrailers.net/hdtrailers.xml
@@ -2,7 +2,7 @@
<GetHDTrailersnet480p dest="3">
<RegExp input="$$6" output="&lt;details&gt;&lt;url function=&quot;Parse480pTrailer&quot; cache=&quot;hd-trailers-\1.xml&quot;&gt;http://xbmc.hd-trailers.net/movie/\1&lt;/url&gt;&lt;/details&gt;" dest="3">
<RegExp input="$$1" output="\1-" dest="6">
- <expression repeat="yes" fixchars="1" trim="1">([\w]+)</expression>
+ <expression repeat="yes" trim="1">([\w]+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -10,7 +10,7 @@
<GetHDTrailersnet720p dest="3">
<RegExp input="$$6" output="&lt;details&gt;&lt;url function=&quot;Parse720pTrailer&quot; cache=&quot;hd-trailers-\1.xml&quot;&gt;http://xbmc.hd-trailers.net/movie/\1&lt;/url&gt;&lt;/details&gt;" dest="3">
<RegExp input="$$1" output="\1-" dest="6">
- <expression repeat="yes" fixchars="1" trim="1">([\w]+)</expression>
+ <expression repeat="yes" trim="1">([\w]+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -18,66 +18,48 @@
<GetHDTrailersnet1080p dest="3">
<RegExp input="$$6" output="&lt;details&gt;&lt;url function=&quot;Parse1080pTrailer&quot; cache=&quot;hd-trailers-\1.xml&quot;&gt;http://xbmc.hd-trailers.net/movie/\1&lt;/url&gt;&lt;/details&gt;" dest="3">
<RegExp input="$$1" output="\1-" dest="6">
- <expression repeat="yes" fixchars="1" trim="1">([\w]+)</expression>
+ <expression repeat="yes" trim="1">([\w]+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetHDTrailersnet1080p>
<Parse480pTrailer dest="5">
- <RegExp input="$$6" output="&lt;details&gt;&lt;trailer&gt;\1&lt;/trailer&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$6" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<!--fetch 480p trailer link from hdtrailers.net-->
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
- <expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
- </RegExp>
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
- <expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
+ <RegExp input="$$1" output="&lt;trailer&gt;http://pdl.stream.aol.com/\1&lt;/trailer&gt;" dest="6">
+ <expression noclean="1">http://pdl\.stream\.aol\.com/([^&quot;]*?_480p_dl.mov)"\srel=&quot;lightbox\[res480p</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</Parse480pTrailer>
<Parse720pTrailer dest="5">
- <RegExp input="$$6" output="&lt;details&gt;&lt;trailer&gt;\1&lt;/trailer&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$6" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<!--Fallback to fetch 480p trailer link if 720p is not available-->
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
- <expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
- </RegExp>
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
- <expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
+ <RegExp input="$$1" output="&lt;trailer&gt;http://pdl.stream.aol.com/\1&lt;/trailer&gt;" dest="6">
+ <expression noclean="1">http://pdl\.stream\.aol\.com/([^&quot;]*?_480p_dl.mov)"\srel=&quot;lightbox\[res480p</expression>
</RegExp>
<!--Fetch 720p trailer link from hdtrailers.net-->
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
- <expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
- </RegExp>
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
- <expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
+ <RegExp input="$$1" output="&lt;trailer&gt;http://pdl.stream.aol.com/\1&lt;/trailer&gt;" dest="6">
+ <expression noclean="1">http://pdl\.stream\.aol\.com/([^&quot;]*?_720p_dl.mov)"\srel=&quot;lightbox\[res720p</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</Parse720pTrailer>
<Parse1080pTrailer dest="5">
- <RegExp input="$$6" output="&lt;details&gt;&lt;trailer&gt;\1&lt;/trailer&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$6" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<!--Fallback to fetch 480p trailer link if 720p and 1080p are not available-->
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
- <expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
- </RegExp>
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
- <expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
+ <RegExp input="$$1" output="&lt;trailer&gt;http://pdl.stream.aol.com/\1&lt;/trailer&gt;" dest="6">
+ <expression noclean="1">http://pdl\.stream\.aol\.com/([^&quot;]*?_480p_dl.mov)"\srel=&quot;lightbox\[res480p</expression>
</RegExp>
- <!--Fallback to fetch 720p trailer link if 1080p is not available-->
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
- <expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
- </RegExp>
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
- <expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
+ <!--Fetch 720p trailer link from hdtrailers.net-->
+ <RegExp input="$$1" output="&lt;trailer&gt;http://pdl.stream.aol.com/\1&lt;/trailer&gt;" dest="6">
+ <expression noclean="1">http://pdl\.stream\.aol\.com/([^&quot;]*?_720p_dl.mov)"\srel=&quot;lightbox\[res720p</expression>
</RegExp>
<!--Fetch 1080p trailer link from hdtrailers.net-->
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
- <expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res1080p</expression>
- </RegExp>
- <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
- <expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/span&gt;&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res1080p</expression>
+ <RegExp input="$$1" output="&lt;trailer&gt;http://pdl.stream.aol.com/\1&lt;/trailer&gt;" dest="6">
+ <expression noclean="1">http://pdl\.stream\.aol\.com/([^&quot;]*?_1080p_dl.mov)"\srel=&quot;lightbox\[res1080p</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</Parse1080pTrailer>
-</scraperfunctions>
+</scraperfunctions> \ No newline at end of file
diff --git a/addons/metadata.common.htbackdrops.com/addon.xml b/addons/metadata.common.htbackdrops.com/addon.xml
index 2b7d8b3ab0..47e8d2ff90 100644
--- a/addons/metadata.common.htbackdrops.com/addon.xml
+++ b/addons/metadata.common.htbackdrops.com/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.htbackdrops.com"
name="HTBackdrops"
- version="1.2.0"
+ version="1.3.0"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.metadata" version="1.0"/>
diff --git a/addons/metadata.common.htbackdrops.com/htbackdrops.xml b/addons/metadata.common.htbackdrops.com/htbackdrops.xml
index 0531585803..71f85551a4 100644
--- a/addons/metadata.common.htbackdrops.com/htbackdrops.xml
+++ b/addons/metadata.common.htbackdrops.com/htbackdrops.xml
@@ -1,11 +1,11 @@
<scraperfunctions>
<GetHTBThumbsByMBID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBThumbs&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBThumbs&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetHTBThumbsByMBID>
<GetHTBThumbs dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBThumbs&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&amp;default_operator=and&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBThumbs&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&amp;default_operator=and&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetHTBThumbs>
@@ -14,7 +14,7 @@
<RegExp input="" output="" dest="13">
<expression />
</RegExp>
- <RegExp input="$$1" output="&lt;thumb preview=&quot;http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail&quot;&gt;http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize&lt;/thumb&gt;" dest="13">
+ <RegExp input="$$1" output="&lt;thumb preview=&quot;http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail&quot;&gt;http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize&lt;/thumb&gt;" dest="13">
<expression repeat="yes" noclean="1">&lt;id&gt;([^&lt;]+)&lt;/id&gt;\n[^&lt;]+&lt;aid&gt;5&lt;/aid&gt;</expression>
</RegExp>
<expression noclean="1" />
@@ -22,12 +22,12 @@
</ParseHTBThumbs>
<GetHTBFanartByMBID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBFanart&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBFanart&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetHTBFanartByMBID>
<GetHTBFanart dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBFanart&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&amp;default_operator=and&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseHTBFanart&quot; post=&quot;yes&quot; cache=&quot;htb-images-\1.xml&quot;&gt;http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&amp;default_operator=and&amp;aid=1,5&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetHTBFanart>
@@ -39,7 +39,7 @@
<RegExp input="" output="" dest="14">
<expression />
</RegExp>
- <RegExp input="$$1" output="&lt;thumb preview=&quot;http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail&quot;&gt;http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize&lt;/thumb&gt;" dest="14">
+ <RegExp input="$$1" output="&lt;thumb preview=&quot;http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail&quot;&gt;http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize&lt;/thumb&gt;" dest="14">
<expression repeat="yes" noclean="1">&lt;id&gt;([^&lt;]+)&lt;/id&gt;\n[^&lt;]+&lt;aid&gt;1&lt;/aid&gt;</expression>
</RegExp>
<RegExp input="$$14" output="\1" dest="13">
diff --git a/addons/metadata.common.imdb.com/addon.xml b/addons/metadata.common.imdb.com/addon.xml
index 4658980204..95c2a468a1 100644
--- a/addons/metadata.common.imdb.com/addon.xml
+++ b/addons/metadata.common.imdb.com/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.imdb.com"
name="IMDB Scraper Library"
- version="2.7.6"
+ version="2.7.7"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.imdb.com/changelog.txt b/addons/metadata.common.imdb.com/changelog.txt
index 95d20ec2b6..c2f1418e5e 100644
--- a/addons/metadata.common.imdb.com/changelog.txt
+++ b/addons/metadata.common.imdb.com/changelog.txt
@@ -1,3 +1,6 @@
+[B]2.7.7[/B]
+- fixed: MetaCritic Score for 100/100 films
+
[B]2.7.6[/B]
- fixed: IMDb studio/director/writer after layout change
diff --git a/addons/metadata.common.imdb.com/imdb.xml b/addons/metadata.common.imdb.com/imdb.xml
index 7d92f3647c..cb1646d646 100644
--- a/addons/metadata.common.imdb.com/imdb.xml
+++ b/addons/metadata.common.imdb.com/imdb.xml
@@ -77,7 +77,7 @@
<ParseMetaCriticRating dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;rating&gt;\1.\2&lt;/rating&gt;" dest="2">
- <expression>&lt;a\shref=&quot;criticreviews[^&quot;]*?&quot;\stitle[^&gt;]*?&gt;\s(\d)(\d*)</expression>
+ <expression>&lt;a\shref=&quot;criticreviews[^&quot;]*?&quot;\stitle[^&gt;]*?&gt;\s(\d*)(\d)/</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
diff --git a/addons/metadata.common.musicbrainz.org/addon.xml b/addons/metadata.common.musicbrainz.org/addon.xml
index a70f9cf607..25265fb9c0 100644
--- a/addons/metadata.common.musicbrainz.org/addon.xml
+++ b/addons/metadata.common.musicbrainz.org/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.musicbrainz.org"
name="musicbrainz"
- version="1.3.1b"
+ version="2.0.1"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.musicbrainz.org/musicbrainz.xml b/addons/metadata.common.musicbrainz.org/musicbrainz.xml
index a35a9b419f..e954bdc8eb 100644
--- a/addons/metadata.common.musicbrainz.org/musicbrainz.xml
+++ b/addons/metadata.common.musicbrainz.org/musicbrainz.xml
@@ -178,7 +178,7 @@
<ParseMBAlbumTracks dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;track&gt;&lt;position&gt;\1&lt;/position&gt;&lt;title&gt;\4&lt;/title&gt;&lt;duration&gt;\2&lt;/duration&gt;&lt;/track&gt;" dest="2">
- <expression repeat="yes">&lt;track&gt;&lt;position&gt;(\d+)&lt;/position&gt;&lt;number&gt;\d*&lt;/number&gt;(?:&lt;length&gt;(\d*?)\d{3}&lt;/length&gt;)*(?:&lt;recording id=&quot;([^&quot;]*)&quot;&gt;)*&lt;title&gt;([^&lt;]*)&lt;</expression>
+ <expression repeat="yes">&lt;track[^&gt;]+&gt;&lt;position&gt;(\d+)&lt;/position&gt;&lt;number&gt;\d*&lt;/number&gt;(?:&lt;length&gt;(\d*?)\d{3}&lt;/length&gt;)*(?:&lt;recording id=&quot;([^&quot;]*)&quot;&gt;)*&lt;title&gt;([^&lt;]*)&lt;</expression>
</RegExp>
<expression noclean="1">(.+)</expression>
</RegExp>
diff --git a/addons/metadata.common.theaudiodb.com/addon.xml b/addons/metadata.common.theaudiodb.com/addon.xml
index 432763702a..02e33e9524 100644
--- a/addons/metadata.common.theaudiodb.com/addon.xml
+++ b/addons/metadata.common.theaudiodb.com/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.theaudiodb.com"
name="TheAudioDb Common Scraper Functions"
- version="1.6.1"
+ version="1.7.1"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.theaudiodb.com/tadb.xml b/addons/metadata.common.theaudiodb.com/tadb.xml
index 7c1a807a05..6f49d7d4ef 100644
--- a/addons/metadata.common.theaudiodb.com/tadb.xml
+++ b/addons/metadata.common.theaudiodb.com/tadb.xml
@@ -67,6 +67,9 @@
<RegExp input="" output="" dest="11">
<expression />
</RegExp>
+ <RegExp input="" output="" dest="12">
+ <expression />
+ </RegExp>
<RegExp input="$$1" output="\1" dest="11">
<expression fixchars="1">strBiographyEN&quot;:&quot;(.*?)&quot;,&quot;</expression>
</RegExp>
@@ -149,6 +152,9 @@
<RegExp input="" output="" dest="11">
<expression />
</RegExp>
+ <RegExp input="" output="" dest="12">
+ <expression />
+ </RegExp>
<RegExp input="$$1" output="&lt;formed&gt;\2 (\1)&lt;/formed&gt;" dest="11">
<expression fixchars="2" noclean="1">intFormedYear&quot;:&quot;([^&quot;]*).*?strCountry&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
@@ -190,6 +196,9 @@
<RegExp input="" output="" dest="11">
<expression />
</RegExp>
+ <RegExp input="" output="" dest="12">
+ <expression />
+ </RegExp>
<RegExp input="$$1" output="&lt;formed&gt;\2 (\1)&lt;/formed&gt;" dest="11">
<expression fixchars="2" noclean="1">intFormedYear&quot;:&quot;([^&quot;]*).*?strCountry&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
@@ -227,6 +236,9 @@
<RegExp input="" output="" dest="11">
<expression />
</RegExp>
+ <RegExp input="" output="" dest="12">
+ <expression />
+ </RegExp>
<RegExp input="$$1" output="\1" dest="11">
<expression fixchars="1">strSubGenre&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
@@ -286,6 +298,25 @@
</RegExp>
</ParseTADBAlbumReview>
+ <GetTADBAlbumRating dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumRating&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumRating>
+ <GetTADBAlbumRatingByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumRating&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumRatingByMBID>
+ <ParseTADBAlbumRating dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;rating max=&quot;10.0&quot;&gt;\1&lt;/rating&gt;" dest="2">
+ <expression fixchars="1">intScore&quot;:&quot;(.*?)&quot;,&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBAlbumRating>
+
<GetTADBAlbumTitleByID dest="5">
<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumTitle&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
diff --git a/addons/metadata.common.themoviedb.org/addon.xml b/addons/metadata.common.themoviedb.org/addon.xml
index fc9a87aea6..bd879c3330 100644
--- a/addons/metadata.common.themoviedb.org/addon.xml
+++ b/addons/metadata.common.themoviedb.org/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.themoviedb.org"
name="The Movie Database Scraper Library"
- version="2.9.3"
+ version="2.9.4"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.themoviedb.org/tmdb.xml b/addons/metadata.common.themoviedb.org/tmdb.xml
index 675bf672d6..65b207a8ec 100644
--- a/addons/metadata.common.themoviedb.org/tmdb.xml
+++ b/addons/metadata.common.themoviedb.org/tmdb.xml
@@ -190,11 +190,11 @@
<RegExp input="$$1" output="\1" dest="7">
<expression clear="yes" noclean="1">&quot;cast&quot;:\[([^\]]*)</expression>
</RegExp>
- <RegExp input="$$7" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\2&lt;/role&gt;&lt;thumb&gt;http://cf2.imgobject.com/t/p/original\3&lt;/thumb&gt;&lt;/actor&gt;" dest="2">
- <expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)&quot;,&quot;order&quot;:[0-9]*,&quot;cast_id&quot;:[0-9]*,&quot;profile_path&quot;:&quot;([^&quot;]*)&quot;</expression>
+ <RegExp input="$$7" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\2&lt;/role&gt;&lt;order&gt;\3&lt;/order&gt;&lt;thumb&gt;http://cf2.imgobject.com/t/p/original\4&lt;/thumb&gt;&lt;/actor&gt;" dest="2">
+ <expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)&quot;,&quot;order&quot;:([0-9]*),&quot;cast_id&quot;:[0-9]*,&quot;profile_path&quot;:&quot;([^&quot;]*)&quot;</expression>
</RegExp>
- <RegExp input="$$7" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\2&lt;/role&gt;&lt;/actor&gt;" dest="2+">
- <expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)&quot;,&quot;order&quot;:[0-9]*,&quot;cast_id&quot;:[0-9]*,&quot;profile_path&quot;:null</expression>
+ <RegExp input="$$7" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\2&lt;/role&gt;&lt;order&gt;\3&lt;/order&gt;&lt;/actor&gt;" dest="2+">
+ <expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)&quot;,&quot;order&quot;:([0-9]*),&quot;cast_id&quot;:[0-9]*,&quot;profile_path&quot;:null</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
diff --git a/addons/script.module.simplejson/addon.xml b/addons/script.module.simplejson/addon.xml
deleted file mode 100644
index c5709c415a..0000000000
--- a/addons/script.module.simplejson/addon.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.module.simplejson"
- name="simplejson"
- version="2.0.10"
- provider-name="code.google.com/simplejson">
- <requires>
- <import addon="xbmc.python" version="2.0.0"/>
- </requires>
- <extension point="xbmc.python.module"
- library="lib" />
- <extension point="xbmc.addon.metadata">
- <platform>all</platform>
- </extension>
-</addon>
diff --git a/addons/script.module.simplejson/lib/LICENSE.txt b/addons/script.module.simplejson/lib/LICENSE.txt
deleted file mode 100644
index ad95f29c17..0000000000
--- a/addons/script.module.simplejson/lib/LICENSE.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2006 Bob Ippolito
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/addons/script.module.simplejson/lib/simplejson/__init__.py b/addons/script.module.simplejson/lib/simplejson/__init__.py
deleted file mode 100644
index d5b4d39913..0000000000
--- a/addons/script.module.simplejson/lib/simplejson/__init__.py
+++ /dev/null
@@ -1,318 +0,0 @@
-r"""JSON (JavaScript Object Notation) <http://json.org> is a subset of
-JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data
-interchange format.
-
-:mod:`simplejson` exposes an API familiar to users of the standard library
-:mod:`marshal` and :mod:`pickle` modules. It is the externally maintained
-version of the :mod:`json` library contained in Python 2.6, but maintains
-compatibility with Python 2.4 and Python 2.5 and (currently) has
-significant performance advantages, even without using the optional C
-extension for speedups.
-
-Encoding basic Python object hierarchies::
-
- >>> import simplejson as json
- >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
- '["foo", {"bar": ["baz", null, 1.0, 2]}]'
- >>> print json.dumps("\"foo\bar")
- "\"foo\bar"
- >>> print json.dumps(u'\u1234')
- "\u1234"
- >>> print json.dumps('\\')
- "\\"
- >>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
- {"a": 0, "b": 0, "c": 0}
- >>> from StringIO import StringIO
- >>> io = StringIO()
- >>> json.dump(['streaming API'], io)
- >>> io.getvalue()
- '["streaming API"]'
-
-Compact encoding::
-
- >>> import simplejson as json
- >>> json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))
- '[1,2,3,{"4":5,"6":7}]'
-
-Pretty printing::
-
- >>> import simplejson as json
- >>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4)
- >>> print '\n'.join([l.rstrip() for l in s.splitlines()])
- {
- "4": 5,
- "6": 7
- }
-
-Decoding JSON::
-
- >>> import simplejson as json
- >>> obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
- >>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == obj
- True
- >>> json.loads('"\\"foo\\bar"') == u'"foo\x08ar'
- True
- >>> from StringIO import StringIO
- >>> io = StringIO('["streaming API"]')
- >>> json.load(io)[0] == 'streaming API'
- True
-
-Specializing JSON object decoding::
-
- >>> import simplejson as json
- >>> def as_complex(dct):
- ... if '__complex__' in dct:
- ... return complex(dct['real'], dct['imag'])
- ... return dct
- ...
- >>> json.loads('{"__complex__": true, "real": 1, "imag": 2}',
- ... object_hook=as_complex)
- (1+2j)
- >>> import decimal
- >>> json.loads('1.1', parse_float=decimal.Decimal) == decimal.Decimal('1.1')
- True
-
-Specializing JSON object encoding::
-
- >>> import simplejson as json
- >>> def encode_complex(obj):
- ... if isinstance(obj, complex):
- ... return [obj.real, obj.imag]
- ... raise TypeError(repr(o) + " is not JSON serializable")
- ...
- >>> json.dumps(2 + 1j, default=encode_complex)
- '[2.0, 1.0]'
- >>> json.JSONEncoder(default=encode_complex).encode(2 + 1j)
- '[2.0, 1.0]'
- >>> ''.join(json.JSONEncoder(default=encode_complex).iterencode(2 + 1j))
- '[2.0, 1.0]'
-
-
-Using simplejson.tool from the shell to validate and pretty-print::
-
- $ echo '{"json":"obj"}' | python -m simplejson.tool
- {
- "json": "obj"
- }
- $ echo '{ 1.2:3.4}' | python -m simplejson.tool
- Expecting property name: line 1 column 2 (char 2)
-"""
-__version__ = '2.0.9'
-__all__ = [
- 'dump', 'dumps', 'load', 'loads',
- 'JSONDecoder', 'JSONEncoder',
-]
-
-__author__ = 'Bob Ippolito <bob@redivi.com>'
-
-from decoder import JSONDecoder
-from encoder import JSONEncoder
-
-_default_encoder = JSONEncoder(
- skipkeys=False,
- ensure_ascii=True,
- check_circular=True,
- allow_nan=True,
- indent=None,
- separators=None,
- encoding='utf-8',
- default=None,
-)
-
-def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,
- allow_nan=True, cls=None, indent=None, separators=None,
- encoding='utf-8', default=None, **kw):
- """Serialize ``obj`` as a JSON formatted stream to ``fp`` (a
- ``.write()``-supporting file-like object).
-
- If ``skipkeys`` is true then ``dict`` keys that are not basic types
- (``str``, ``unicode``, ``int``, ``long``, ``float``, ``bool``, ``None``)
- will be skipped instead of raising a ``TypeError``.
-
- If ``ensure_ascii`` is false, then the some chunks written to ``fp``
- may be ``unicode`` instances, subject to normal Python ``str`` to
- ``unicode`` coercion rules. Unless ``fp.write()`` explicitly
- understands ``unicode`` (as in ``codecs.getwriter()``) this is likely
- to cause an error.
-
- If ``check_circular`` is false, then the circular reference check
- for container types will be skipped and a circular reference will
- result in an ``OverflowError`` (or worse).
-
- If ``allow_nan`` is false, then it will be a ``ValueError`` to
- serialize out of range ``float`` values (``nan``, ``inf``, ``-inf``)
- in strict compliance of the JSON specification, instead of using the
- JavaScript equivalents (``NaN``, ``Infinity``, ``-Infinity``).
-
- If ``indent`` is a non-negative integer, then JSON array elements and object
- members will be pretty-printed with that indent level. An indent level
- of 0 will only insert newlines. ``None`` is the most compact representation.
-
- If ``separators`` is an ``(item_separator, dict_separator)`` tuple
- then it will be used instead of the default ``(', ', ': ')`` separators.
- ``(',', ':')`` is the most compact JSON representation.
-
- ``encoding`` is the character encoding for str instances, default is UTF-8.
-
- ``default(obj)`` is a function that should return a serializable version
- of obj or raise TypeError. The default simply raises TypeError.
-
- To use a custom ``JSONEncoder`` subclass (e.g. one that overrides the
- ``.default()`` method to serialize additional types), specify it with
- the ``cls`` kwarg.
-
- """
- # cached encoder
- if (not skipkeys and ensure_ascii and
- check_circular and allow_nan and
- cls is None and indent is None and separators is None and
- encoding == 'utf-8' and default is None and not kw):
- iterable = _default_encoder.iterencode(obj)
- else:
- if cls is None:
- cls = JSONEncoder
- iterable = cls(skipkeys=skipkeys, ensure_ascii=ensure_ascii,
- check_circular=check_circular, allow_nan=allow_nan, indent=indent,
- separators=separators, encoding=encoding,
- default=default, **kw).iterencode(obj)
- # could accelerate with writelines in some versions of Python, at
- # a debuggability cost
- for chunk in iterable:
- fp.write(chunk)
-
-
-def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
- allow_nan=True, cls=None, indent=None, separators=None,
- encoding='utf-8', default=None, **kw):
- """Serialize ``obj`` to a JSON formatted ``str``.
-
- If ``skipkeys`` is false then ``dict`` keys that are not basic types
- (``str``, ``unicode``, ``int``, ``long``, ``float``, ``bool``, ``None``)
- will be skipped instead of raising a ``TypeError``.
-
- If ``ensure_ascii`` is false, then the return value will be a
- ``unicode`` instance subject to normal Python ``str`` to ``unicode``
- coercion rules instead of being escaped to an ASCII ``str``.
-
- If ``check_circular`` is false, then the circular reference check
- for container types will be skipped and a circular reference will
- result in an ``OverflowError`` (or worse).
-
- If ``allow_nan`` is false, then it will be a ``ValueError`` to
- serialize out of range ``float`` values (``nan``, ``inf``, ``-inf``) in
- strict compliance of the JSON specification, instead of using the
- JavaScript equivalents (``NaN``, ``Infinity``, ``-Infinity``).
-
- If ``indent`` is a non-negative integer, then JSON array elements and
- object members will be pretty-printed with that indent level. An indent
- level of 0 will only insert newlines. ``None`` is the most compact
- representation.
-
- If ``separators`` is an ``(item_separator, dict_separator)`` tuple
- then it will be used instead of the default ``(', ', ': ')`` separators.
- ``(',', ':')`` is the most compact JSON representation.
-
- ``encoding`` is the character encoding for str instances, default is UTF-8.
-
- ``default(obj)`` is a function that should return a serializable version
- of obj or raise TypeError. The default simply raises TypeError.
-
- To use a custom ``JSONEncoder`` subclass (e.g. one that overrides the
- ``.default()`` method to serialize additional types), specify it with
- the ``cls`` kwarg.
-
- """
- # cached encoder
- if (not skipkeys and ensure_ascii and
- check_circular and allow_nan and
- cls is None and indent is None and separators is None and
- encoding == 'utf-8' and default is None and not kw):
- return _default_encoder.encode(obj)
- if cls is None:
- cls = JSONEncoder
- return cls(
- skipkeys=skipkeys, ensure_ascii=ensure_ascii,
- check_circular=check_circular, allow_nan=allow_nan, indent=indent,
- separators=separators, encoding=encoding, default=default,
- **kw).encode(obj)
-
-
-_default_decoder = JSONDecoder(encoding=None, object_hook=None)
-
-
-def load(fp, encoding=None, cls=None, object_hook=None, parse_float=None,
- parse_int=None, parse_constant=None, **kw):
- """Deserialize ``fp`` (a ``.read()``-supporting file-like object containing
- a JSON document) to a Python object.
-
- If the contents of ``fp`` is encoded with an ASCII based encoding other
- than utf-8 (e.g. latin-1), then an appropriate ``encoding`` name must
- be specified. Encodings that are not ASCII based (such as UCS-2) are
- not allowed, and should be wrapped with
- ``codecs.getreader(fp)(encoding)``, or simply decoded to a ``unicode``
- object and passed to ``loads()``
-
- ``object_hook`` is an optional function that will be called with the
- result of any object literal decode (a ``dict``). The return value of
- ``object_hook`` will be used instead of the ``dict``. This feature
- can be used to implement custom decoders (e.g. JSON-RPC class hinting).
-
- To use a custom ``JSONDecoder`` subclass, specify it with the ``cls``
- kwarg.
-
- """
- return loads(fp.read(),
- encoding=encoding, cls=cls, object_hook=object_hook,
- parse_float=parse_float, parse_int=parse_int,
- parse_constant=parse_constant, **kw)
-
-
-def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None,
- parse_int=None, parse_constant=None, **kw):
- """Deserialize ``s`` (a ``str`` or ``unicode`` instance containing a JSON
- document) to a Python object.
-
- If ``s`` is a ``str`` instance and is encoded with an ASCII based encoding
- other than utf-8 (e.g. latin-1) then an appropriate ``encoding`` name
- must be specified. Encodings that are not ASCII based (such as UCS-2)
- are not allowed and should be decoded to ``unicode`` first.
-
- ``object_hook`` is an optional function that will be called with the
- result of any object literal decode (a ``dict``). The return value of
- ``object_hook`` will be used instead of the ``dict``. This feature
- can be used to implement custom decoders (e.g. JSON-RPC class hinting).
-
- ``parse_float``, if specified, will be called with the string
- of every JSON float to be decoded. By default this is equivalent to
- float(num_str). This can be used to use another datatype or parser
- for JSON floats (e.g. decimal.Decimal).
-
- ``parse_int``, if specified, will be called with the string
- of every JSON int to be decoded. By default this is equivalent to
- int(num_str). This can be used to use another datatype or parser
- for JSON integers (e.g. float).
-
- ``parse_constant``, if specified, will be called with one of the
- following strings: -Infinity, Infinity, NaN, null, true, false.
- This can be used to raise an exception if invalid JSON numbers
- are encountered.
-
- To use a custom ``JSONDecoder`` subclass, specify it with the ``cls``
- kwarg.
-
- """
- if (cls is None and encoding is None and object_hook is None and
- parse_int is None and parse_float is None and
- parse_constant is None and not kw):
- return _default_decoder.decode(s)
- if cls is None:
- cls = JSONDecoder
- if object_hook is not None:
- kw['object_hook'] = object_hook
- if parse_float is not None:
- kw['parse_float'] = parse_float
- if parse_int is not None:
- kw['parse_int'] = parse_int
- if parse_constant is not None:
- kw['parse_constant'] = parse_constant
- return cls(encoding=encoding, **kw).decode(s)
diff --git a/addons/script.module.simplejson/lib/simplejson/decoder.py b/addons/script.module.simplejson/lib/simplejson/decoder.py
deleted file mode 100644
index b769ea486c..0000000000
--- a/addons/script.module.simplejson/lib/simplejson/decoder.py
+++ /dev/null
@@ -1,354 +0,0 @@
-"""Implementation of JSONDecoder
-"""
-import re
-import sys
-import struct
-
-from simplejson.scanner import make_scanner
-try:
- from simplejson._speedups import scanstring as c_scanstring
-except ImportError:
- c_scanstring = None
-
-__all__ = ['JSONDecoder']
-
-FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL
-
-def _floatconstants():
- _BYTES = '7FF80000000000007FF0000000000000'.decode('hex')
- if sys.byteorder != 'big':
- _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1]
- nan, inf = struct.unpack('dd', _BYTES)
- return nan, inf, -inf
-
-NaN, PosInf, NegInf = _floatconstants()
-
-
-def linecol(doc, pos):
- lineno = doc.count('\n', 0, pos) + 1
- if lineno == 1:
- colno = pos
- else:
- colno = pos - doc.rindex('\n', 0, pos)
- return lineno, colno
-
-
-def errmsg(msg, doc, pos, end=None):
- # Note that this function is called from _speedups
- lineno, colno = linecol(doc, pos)
- if end is None:
- #fmt = '{0}: line {1} column {2} (char {3})'
- #return fmt.format(msg, lineno, colno, pos)
- fmt = '%s: line %d column %d (char %d)'
- return fmt % (msg, lineno, colno, pos)
- endlineno, endcolno = linecol(doc, end)
- #fmt = '{0}: line {1} column {2} - line {3} column {4} (char {5} - {6})'
- #return fmt.format(msg, lineno, colno, endlineno, endcolno, pos, end)
- fmt = '%s: line %d column %d - line %d column %d (char %d - %d)'
- return fmt % (msg, lineno, colno, endlineno, endcolno, pos, end)
-
-
-_CONSTANTS = {
- '-Infinity': NegInf,
- 'Infinity': PosInf,
- 'NaN': NaN,
-}
-
-STRINGCHUNK = re.compile(r'(.*?)(["\\\x00-\x1f])', FLAGS)
-BACKSLASH = {
- '"': u'"', '\\': u'\\', '/': u'/',
- 'b': u'\b', 'f': u'\f', 'n': u'\n', 'r': u'\r', 't': u'\t',
-}
-
-DEFAULT_ENCODING = "utf-8"
-
-def py_scanstring(s, end, encoding=None, strict=True, _b=BACKSLASH, _m=STRINGCHUNK.match):
- """Scan the string s for a JSON string. End is the index of the
- character in s after the quote that started the JSON string.
- Unescapes all valid JSON string escape sequences and raises ValueError
- on attempt to decode an invalid string. If strict is False then literal
- control characters are allowed in the string.
-
- Returns a tuple of the decoded string and the index of the character in s
- after the end quote."""
- if encoding is None:
- encoding = DEFAULT_ENCODING
- chunks = []
- _append = chunks.append
- begin = end - 1
- while 1:
- chunk = _m(s, end)
- if chunk is None:
- raise ValueError(
- errmsg("Unterminated string starting at", s, begin))
- end = chunk.end()
- content, terminator = chunk.groups()
- # Content is contains zero or more unescaped string characters
- if content:
- if not isinstance(content, unicode):
- content = unicode(content, encoding)
- _append(content)
- # Terminator is the end of string, a literal control character,
- # or a backslash denoting that an escape sequence follows
- if terminator == '"':
- break
- elif terminator != '\\':
- if strict:
- msg = "Invalid control character %r at" % (terminator,)
- #msg = "Invalid control character {0!r} at".format(terminator)
- raise ValueError(errmsg(msg, s, end))
- else:
- _append(terminator)
- continue
- try:
- esc = s[end]
- except IndexError:
- raise ValueError(
- errmsg("Unterminated string starting at", s, begin))
- # If not a unicode escape sequence, must be in the lookup table
- if esc != 'u':
- try:
- char = _b[esc]
- except KeyError:
- msg = "Invalid \\escape: " + repr(esc)
- raise ValueError(errmsg(msg, s, end))
- end += 1
- else:
- # Unicode escape sequence
- esc = s[end + 1:end + 5]
- next_end = end + 5
- if len(esc) != 4:
- msg = "Invalid \\uXXXX escape"
- raise ValueError(errmsg(msg, s, end))
- uni = int(esc, 16)
- # Check for surrogate pair on UCS-4 systems
- if 0xd800 <= uni <= 0xdbff and sys.maxunicode > 65535:
- msg = "Invalid \\uXXXX\\uXXXX surrogate pair"
- if not s[end + 5:end + 7] == '\\u':
- raise ValueError(errmsg(msg, s, end))
- esc2 = s[end + 7:end + 11]
- if len(esc2) != 4:
- raise ValueError(errmsg(msg, s, end))
- uni2 = int(esc2, 16)
- uni = 0x10000 + (((uni - 0xd800) << 10) | (uni2 - 0xdc00))
- next_end += 6
- char = unichr(uni)
- end = next_end
- # Append the unescaped character
- _append(char)
- return u''.join(chunks), end
-
-
-# Use speedup if available
-scanstring = c_scanstring or py_scanstring
-
-WHITESPACE = re.compile(r'[ \t\n\r]*', FLAGS)
-WHITESPACE_STR = ' \t\n\r'
-
-def JSONObject((s, end), encoding, strict, scan_once, object_hook, _w=WHITESPACE.match, _ws=WHITESPACE_STR):
- pairs = {}
- # Use a slice to prevent IndexError from being raised, the following
- # check will raise a more specific ValueError if the string is empty
- nextchar = s[end:end + 1]
- # Normally we expect nextchar == '"'
- if nextchar != '"':
- if nextchar in _ws:
- end = _w(s, end).end()
- nextchar = s[end:end + 1]
- # Trivial empty object
- if nextchar == '}':
- return pairs, end + 1
- elif nextchar != '"':
- raise ValueError(errmsg("Expecting property name", s, end))
- end += 1
- while True:
- key, end = scanstring(s, end, encoding, strict)
-
- # To skip some function call overhead we optimize the fast paths where
- # the JSON key separator is ": " or just ":".
- if s[end:end + 1] != ':':
- end = _w(s, end).end()
- if s[end:end + 1] != ':':
- raise ValueError(errmsg("Expecting : delimiter", s, end))
-
- end += 1
-
- try:
- if s[end] in _ws:
- end += 1
- if s[end] in _ws:
- end = _w(s, end + 1).end()
- except IndexError:
- pass
-
- try:
- value, end = scan_once(s, end)
- except StopIteration:
- raise ValueError(errmsg("Expecting object", s, end))
- pairs[key] = value
-
- try:
- nextchar = s[end]
- if nextchar in _ws:
- end = _w(s, end + 1).end()
- nextchar = s[end]
- except IndexError:
- nextchar = ''
- end += 1
-
- if nextchar == '}':
- break
- elif nextchar != ',':
- raise ValueError(errmsg("Expecting , delimiter", s, end - 1))
-
- try:
- nextchar = s[end]
- if nextchar in _ws:
- end += 1
- nextchar = s[end]
- if nextchar in _ws:
- end = _w(s, end + 1).end()
- nextchar = s[end]
- except IndexError:
- nextchar = ''
-
- end += 1
- if nextchar != '"':
- raise ValueError(errmsg("Expecting property name", s, end - 1))
-
- if object_hook is not None:
- pairs = object_hook(pairs)
- return pairs, end
-
-def JSONArray((s, end), scan_once, _w=WHITESPACE.match, _ws=WHITESPACE_STR):
- values = []
- nextchar = s[end:end + 1]
- if nextchar in _ws:
- end = _w(s, end + 1).end()
- nextchar = s[end:end + 1]
- # Look-ahead for trivial empty array
- if nextchar == ']':
- return values, end + 1
- _append = values.append
- while True:
- try:
- value, end = scan_once(s, end)
- except StopIteration:
- raise ValueError(errmsg("Expecting object", s, end))
- _append(value)
- nextchar = s[end:end + 1]
- if nextchar in _ws:
- end = _w(s, end + 1).end()
- nextchar = s[end:end + 1]
- end += 1
- if nextchar == ']':
- break
- elif nextchar != ',':
- raise ValueError(errmsg("Expecting , delimiter", s, end))
-
- try:
- if s[end] in _ws:
- end += 1
- if s[end] in _ws:
- end = _w(s, end + 1).end()
- except IndexError:
- pass
-
- return values, end
-
-class JSONDecoder(object):
- """Simple JSON <http://json.org> decoder
-
- Performs the following translations in decoding by default:
-
- +---------------+-------------------+
- | JSON | Python |
- +===============+===================+
- | object | dict |
- +---------------+-------------------+
- | array | list |
- +---------------+-------------------+
- | string | unicode |
- +---------------+-------------------+
- | number (int) | int, long |
- +---------------+-------------------+
- | number (real) | float |
- +---------------+-------------------+
- | true | True |
- +---------------+-------------------+
- | false | False |
- +---------------+-------------------+
- | null | None |
- +---------------+-------------------+
-
- It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as
- their corresponding ``float`` values, which is outside the JSON spec.
-
- """
-
- def __init__(self, encoding=None, object_hook=None, parse_float=None,
- parse_int=None, parse_constant=None, strict=True):
- """``encoding`` determines the encoding used to interpret any ``str``
- objects decoded by this instance (utf-8 by default). It has no
- effect when decoding ``unicode`` objects.
-
- Note that currently only encodings that are a superset of ASCII work,
- strings of other encodings should be passed in as ``unicode``.
-
- ``object_hook``, if specified, will be called with the result
- of every JSON object decoded and its return value will be used in
- place of the given ``dict``. This can be used to provide custom
- deserializations (e.g. to support JSON-RPC class hinting).
-
- ``parse_float``, if specified, will be called with the string
- of every JSON float to be decoded. By default this is equivalent to
- float(num_str). This can be used to use another datatype or parser
- for JSON floats (e.g. decimal.Decimal).
-
- ``parse_int``, if specified, will be called with the string
- of every JSON int to be decoded. By default this is equivalent to
- int(num_str). This can be used to use another datatype or parser
- for JSON integers (e.g. float).
-
- ``parse_constant``, if specified, will be called with one of the
- following strings: -Infinity, Infinity, NaN.
- This can be used to raise an exception if invalid JSON numbers
- are encountered.
-
- """
- self.encoding = encoding
- self.object_hook = object_hook
- self.parse_float = parse_float or float
- self.parse_int = parse_int or int
- self.parse_constant = parse_constant or _CONSTANTS.__getitem__
- self.strict = strict
- self.parse_object = JSONObject
- self.parse_array = JSONArray
- self.parse_string = scanstring
- self.scan_once = make_scanner(self)
-
- def decode(self, s, _w=WHITESPACE.match):
- """Return the Python representation of ``s`` (a ``str`` or ``unicode``
- instance containing a JSON document)
-
- """
- obj, end = self.raw_decode(s, idx=_w(s, 0).end())
- end = _w(s, end).end()
- if end != len(s):
- raise ValueError(errmsg("Extra data", s, end, len(s)))
- return obj
-
- def raw_decode(self, s, idx=0):
- """Decode a JSON document from ``s`` (a ``str`` or ``unicode`` beginning
- with a JSON document) and return a 2-tuple of the Python
- representation and the index in ``s`` where the document ended.
-
- This can be used to decode a JSON document from a string that may
- have extraneous data at the end.
-
- """
- try:
- obj, end = self.scan_once(s, idx)
- except StopIteration:
- raise ValueError("No JSON object could be decoded")
- return obj, end
diff --git a/addons/script.module.simplejson/lib/simplejson/encoder.py b/addons/script.module.simplejson/lib/simplejson/encoder.py
deleted file mode 100644
index cf58290366..0000000000
--- a/addons/script.module.simplejson/lib/simplejson/encoder.py
+++ /dev/null
@@ -1,440 +0,0 @@
-"""Implementation of JSONEncoder
-"""
-import re
-
-try:
- from simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
-except ImportError:
- c_encode_basestring_ascii = None
-try:
- from simplejson._speedups import make_encoder as c_make_encoder
-except ImportError:
- c_make_encoder = None
-
-ESCAPE = re.compile(r'[\x00-\x1f\\"\b\f\n\r\t]')
-ESCAPE_ASCII = re.compile(r'([\\"]|[^\ -~])')
-HAS_UTF8 = re.compile(r'[\x80-\xff]')
-ESCAPE_DCT = {
- '\\': '\\\\',
- '"': '\\"',
- '\b': '\\b',
- '\f': '\\f',
- '\n': '\\n',
- '\r': '\\r',
- '\t': '\\t',
-}
-for i in range(0x20):
- #ESCAPE_DCT.setdefault(chr(i), '\\u{0:04x}'.format(i))
- ESCAPE_DCT.setdefault(chr(i), '\\u%04x' % (i,))
-
-# Assume this produces an infinity on all machines (probably not guaranteed)
-INFINITY = float('1e66666')
-FLOAT_REPR = repr
-
-def encode_basestring(s):
- """Return a JSON representation of a Python string
-
- """
- def replace(match):
- return ESCAPE_DCT[match.group(0)]
- return '"' + ESCAPE.sub(replace, s) + '"'
-
-
-def py_encode_basestring_ascii(s):
- """Return an ASCII-only JSON representation of a Python string
-
- """
- if isinstance(s, str) and HAS_UTF8.search(s) is not None:
- s = s.decode('utf-8')
- def replace(match):
- s = match.group(0)
- try:
- return ESCAPE_DCT[s]
- except KeyError:
- n = ord(s)
- if n < 0x10000:
- #return '\\u{0:04x}'.format(n)
- return '\\u%04x' % (n,)
- else:
- # surrogate pair
- n -= 0x10000
- s1 = 0xd800 | ((n >> 10) & 0x3ff)
- s2 = 0xdc00 | (n & 0x3ff)
- #return '\\u{0:04x}\\u{1:04x}'.format(s1, s2)
- return '\\u%04x\\u%04x' % (s1, s2)
- return '"' + str(ESCAPE_ASCII.sub(replace, s)) + '"'
-
-
-encode_basestring_ascii = c_encode_basestring_ascii or py_encode_basestring_ascii
-
-class JSONEncoder(object):
- """Extensible JSON <http://json.org> encoder for Python data structures.
-
- Supports the following objects and types by default:
-
- +-------------------+---------------+
- | Python | JSON |
- +===================+===============+
- | dict | object |
- +-------------------+---------------+
- | list, tuple | array |
- +-------------------+---------------+
- | str, unicode | string |
- +-------------------+---------------+
- | int, long, float | number |
- +-------------------+---------------+
- | True | true |
- +-------------------+---------------+
- | False | false |
- +-------------------+---------------+
- | None | null |
- +-------------------+---------------+
-
- To extend this to recognize other objects, subclass and implement a
- ``.default()`` method with another method that returns a serializable
- object for ``o`` if possible, otherwise it should call the superclass
- implementation (to raise ``TypeError``).
-
- """
- item_separator = ', '
- key_separator = ': '
- def __init__(self, skipkeys=False, ensure_ascii=True,
- check_circular=True, allow_nan=True, sort_keys=False,
- indent=None, separators=None, encoding='utf-8', default=None):
- """Constructor for JSONEncoder, with sensible defaults.
-
- If skipkeys is false, then it is a TypeError to attempt
- encoding of keys that are not str, int, long, float or None. If
- skipkeys is True, such items are simply skipped.
-
- If ensure_ascii is true, the output is guaranteed to be str
- objects with all incoming unicode characters escaped. If
- ensure_ascii is false, the output will be unicode object.
-
- If check_circular is true, then lists, dicts, and custom encoded
- objects will be checked for circular references during encoding to
- prevent an infinite recursion (which would cause an OverflowError).
- Otherwise, no such check takes place.
-
- If allow_nan is true, then NaN, Infinity, and -Infinity will be
- encoded as such. This behavior is not JSON specification compliant,
- but is consistent with most JavaScript based encoders and decoders.
- Otherwise, it will be a ValueError to encode such floats.
-
- If sort_keys is true, then the output of dictionaries will be
- sorted by key; this is useful for regression tests to ensure
- that JSON serializations can be compared on a day-to-day basis.
-
- If indent is a non-negative integer, then JSON array
- elements and object members will be pretty-printed with that
- indent level. An indent level of 0 will only insert newlines.
- None is the most compact representation.
-
- If specified, separators should be a (item_separator, key_separator)
- tuple. The default is (', ', ': '). To get the most compact JSON
- representation you should specify (',', ':') to eliminate whitespace.
-
- If specified, default is a function that gets called for objects
- that can't otherwise be serialized. It should return a JSON encodable
- version of the object or raise a ``TypeError``.
-
- If encoding is not None, then all input strings will be
- transformed into unicode using that encoding prior to JSON-encoding.
- The default is UTF-8.
-
- """
-
- self.skipkeys = skipkeys
- self.ensure_ascii = ensure_ascii
- self.check_circular = check_circular
- self.allow_nan = allow_nan
- self.sort_keys = sort_keys
- self.indent = indent
- if separators is not None:
- self.item_separator, self.key_separator = separators
- if default is not None:
- self.default = default
- self.encoding = encoding
-
- def default(self, o):
- """Implement this method in a subclass such that it returns
- a serializable object for ``o``, or calls the base implementation
- (to raise a ``TypeError``).
-
- For example, to support arbitrary iterators, you could
- implement default like this::
-
- def default(self, o):
- try:
- iterable = iter(o)
- except TypeError:
- pass
- else:
- return list(iterable)
- return JSONEncoder.default(self, o)
-
- """
- raise TypeError(repr(o) + " is not JSON serializable")
-
- def encode(self, o):
- """Return a JSON string representation of a Python data structure.
-
- >>> JSONEncoder().encode({"foo": ["bar", "baz"]})
- '{"foo": ["bar", "baz"]}'
-
- """
- # This is for extremely simple cases and benchmarks.
- if isinstance(o, basestring):
- if isinstance(o, str):
- _encoding = self.encoding
- if (_encoding is not None
- and not (_encoding == 'utf-8')):
- o = o.decode(_encoding)
- if self.ensure_ascii:
- return encode_basestring_ascii(o)
- else:
- return encode_basestring(o)
- # This doesn't pass the iterator directly to ''.join() because the
- # exceptions aren't as detailed. The list call should be roughly
- # equivalent to the PySequence_Fast that ''.join() would do.
- chunks = self.iterencode(o, _one_shot=True)
- if not isinstance(chunks, (list, tuple)):
- chunks = list(chunks)
- return ''.join(chunks)
-
- def iterencode(self, o, _one_shot=False):
- """Encode the given object and yield each string
- representation as available.
-
- For example::
-
- for chunk in JSONEncoder().iterencode(bigobject):
- mysocket.write(chunk)
-
- """
- if self.check_circular:
- markers = {}
- else:
- markers = None
- if self.ensure_ascii:
- _encoder = encode_basestring_ascii
- else:
- _encoder = encode_basestring
- if self.encoding != 'utf-8':
- def _encoder(o, _orig_encoder=_encoder, _encoding=self.encoding):
- if isinstance(o, str):
- o = o.decode(_encoding)
- return _orig_encoder(o)
-
- def floatstr(o, allow_nan=self.allow_nan, _repr=FLOAT_REPR, _inf=INFINITY, _neginf=-INFINITY):
- # Check for specials. Note that this type of test is processor- and/or
- # platform-specific, so do tests which don't depend on the internals.
-
- if o != o:
- text = 'NaN'
- elif o == _inf:
- text = 'Infinity'
- elif o == _neginf:
- text = '-Infinity'
- else:
- return _repr(o)
-
- if not allow_nan:
- raise ValueError(
- "Out of range float values are not JSON compliant: " +
- repr(o))
-
- return text
-
-
- if _one_shot and c_make_encoder is not None and not self.indent and not self.sort_keys:
- _iterencode = c_make_encoder(
- markers, self.default, _encoder, self.indent,
- self.key_separator, self.item_separator, self.sort_keys,
- self.skipkeys, self.allow_nan)
- else:
- _iterencode = _make_iterencode(
- markers, self.default, _encoder, self.indent, floatstr,
- self.key_separator, self.item_separator, self.sort_keys,
- self.skipkeys, _one_shot)
- return _iterencode(o, 0)
-
-def _make_iterencode(markers, _default, _encoder, _indent, _floatstr, _key_separator, _item_separator, _sort_keys, _skipkeys, _one_shot,
- ## HACK: hand-optimized bytecode; turn globals into locals
- False=False,
- True=True,
- ValueError=ValueError,
- basestring=basestring,
- dict=dict,
- float=float,
- id=id,
- int=int,
- isinstance=isinstance,
- list=list,
- long=long,
- str=str,
- tuple=tuple,
- ):
-
- def _iterencode_list(lst, _current_indent_level):
- if not lst:
- yield '[]'
- return
- if markers is not None:
- markerid = id(lst)
- if markerid in markers:
- raise ValueError("Circular reference detected")
- markers[markerid] = lst
- buf = '['
- if _indent is not None:
- _current_indent_level += 1
- newline_indent = '\n' + (' ' * (_indent * _current_indent_level))
- separator = _item_separator + newline_indent
- buf += newline_indent
- else:
- newline_indent = None
- separator = _item_separator
- first = True
- for value in lst:
- if first:
- first = False
- else:
- buf = separator
- if isinstance(value, basestring):
- yield buf + _encoder(value)
- elif value is None:
- yield buf + 'null'
- elif value is True:
- yield buf + 'true'
- elif value is False:
- yield buf + 'false'
- elif isinstance(value, (int, long)):
- yield buf + str(value)
- elif isinstance(value, float):
- yield buf + _floatstr(value)
- else:
- yield buf
- if isinstance(value, (list, tuple)):
- chunks = _iterencode_list(value, _current_indent_level)
- elif isinstance(value, dict):
- chunks = _iterencode_dict(value, _current_indent_level)
- else:
- chunks = _iterencode(value, _current_indent_level)
- for chunk in chunks:
- yield chunk
- if newline_indent is not None:
- _current_indent_level -= 1
- yield '\n' + (' ' * (_indent * _current_indent_level))
- yield ']'
- if markers is not None:
- del markers[markerid]
-
- def _iterencode_dict(dct, _current_indent_level):
- if not dct:
- yield '{}'
- return
- if markers is not None:
- markerid = id(dct)
- if markerid in markers:
- raise ValueError("Circular reference detected")
- markers[markerid] = dct
- yield '{'
- if _indent is not None:
- _current_indent_level += 1
- newline_indent = '\n' + (' ' * (_indent * _current_indent_level))
- item_separator = _item_separator + newline_indent
- yield newline_indent
- else:
- newline_indent = None
- item_separator = _item_separator
- first = True
- if _sort_keys:
- items = dct.items()
- items.sort(key=lambda kv: kv[0])
- else:
- items = dct.iteritems()
- for key, value in items:
- if isinstance(key, basestring):
- pass
- # JavaScript is weakly typed for these, so it makes sense to
- # also allow them. Many encoders seem to do something like this.
- elif isinstance(key, float):
- key = _floatstr(key)
- elif key is True:
- key = 'true'
- elif key is False:
- key = 'false'
- elif key is None:
- key = 'null'
- elif isinstance(key, (int, long)):
- key = str(key)
- elif _skipkeys:
- continue
- else:
- raise TypeError("key " + repr(key) + " is not a string")
- if first:
- first = False
- else:
- yield item_separator
- yield _encoder(key)
- yield _key_separator
- if isinstance(value, basestring):
- yield _encoder(value)
- elif value is None:
- yield 'null'
- elif value is True:
- yield 'true'
- elif value is False:
- yield 'false'
- elif isinstance(value, (int, long)):
- yield str(value)
- elif isinstance(value, float):
- yield _floatstr(value)
- else:
- if isinstance(value, (list, tuple)):
- chunks = _iterencode_list(value, _current_indent_level)
- elif isinstance(value, dict):
- chunks = _iterencode_dict(value, _current_indent_level)
- else:
- chunks = _iterencode(value, _current_indent_level)
- for chunk in chunks:
- yield chunk
- if newline_indent is not None:
- _current_indent_level -= 1
- yield '\n' + (' ' * (_indent * _current_indent_level))
- yield '}'
- if markers is not None:
- del markers[markerid]
-
- def _iterencode(o, _current_indent_level):
- if isinstance(o, basestring):
- yield _encoder(o)
- elif o is None:
- yield 'null'
- elif o is True:
- yield 'true'
- elif o is False:
- yield 'false'
- elif isinstance(o, (int, long)):
- yield str(o)
- elif isinstance(o, float):
- yield _floatstr(o)
- elif isinstance(o, (list, tuple)):
- for chunk in _iterencode_list(o, _current_indent_level):
- yield chunk
- elif isinstance(o, dict):
- for chunk in _iterencode_dict(o, _current_indent_level):
- yield chunk
- else:
- if markers is not None:
- markerid = id(o)
- if markerid in markers:
- raise ValueError("Circular reference detected")
- markers[markerid] = o
- o = _default(o)
- for chunk in _iterencode(o, _current_indent_level):
- yield chunk
- if markers is not None:
- del markers[markerid]
-
- return _iterencode
diff --git a/addons/script.module.simplejson/lib/simplejson/scanner.py b/addons/script.module.simplejson/lib/simplejson/scanner.py
deleted file mode 100644
index adbc6ec979..0000000000
--- a/addons/script.module.simplejson/lib/simplejson/scanner.py
+++ /dev/null
@@ -1,65 +0,0 @@
-"""JSON token scanner
-"""
-import re
-try:
- from simplejson._speedups import make_scanner as c_make_scanner
-except ImportError:
- c_make_scanner = None
-
-__all__ = ['make_scanner']
-
-NUMBER_RE = re.compile(
- r'(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?',
- (re.VERBOSE | re.MULTILINE | re.DOTALL))
-
-def py_make_scanner(context):
- parse_object = context.parse_object
- parse_array = context.parse_array
- parse_string = context.parse_string
- match_number = NUMBER_RE.match
- encoding = context.encoding
- strict = context.strict
- parse_float = context.parse_float
- parse_int = context.parse_int
- parse_constant = context.parse_constant
- object_hook = context.object_hook
-
- def _scan_once(string, idx):
- try:
- nextchar = string[idx]
- except IndexError:
- raise StopIteration
-
- if nextchar == '"':
- return parse_string(string, idx + 1, encoding, strict)
- elif nextchar == '{':
- return parse_object((string, idx + 1), encoding, strict, _scan_once, object_hook)
- elif nextchar == '[':
- return parse_array((string, idx + 1), _scan_once)
- elif nextchar == 'n' and string[idx:idx + 4] == 'null':
- return None, idx + 4
- elif nextchar == 't' and string[idx:idx + 4] == 'true':
- return True, idx + 4
- elif nextchar == 'f' and string[idx:idx + 5] == 'false':
- return False, idx + 5
-
- m = match_number(string, idx)
- if m is not None:
- integer, frac, exp = m.groups()
- if frac or exp:
- res = parse_float(integer + (frac or '') + (exp or ''))
- else:
- res = parse_int(integer)
- return res, m.end()
- elif nextchar == 'N' and string[idx:idx + 3] == 'NaN':
- return parse_constant('NaN'), idx + 3
- elif nextchar == 'I' and string[idx:idx + 8] == 'Infinity':
- return parse_constant('Infinity'), idx + 8
- elif nextchar == '-' and string[idx:idx + 9] == '-Infinity':
- return parse_constant('-Infinity'), idx + 9
- else:
- raise StopIteration
-
- return _scan_once
-
-make_scanner = c_make_scanner or py_make_scanner
diff --git a/addons/script.module.simplejson/lib/simplejson/tool.py b/addons/script.module.simplejson/lib/simplejson/tool.py
deleted file mode 100644
index 90443317b2..0000000000
--- a/addons/script.module.simplejson/lib/simplejson/tool.py
+++ /dev/null
@@ -1,37 +0,0 @@
-r"""Command-line tool to validate and pretty-print JSON
-
-Usage::
-
- $ echo '{"json":"obj"}' | python -m simplejson.tool
- {
- "json": "obj"
- }
- $ echo '{ 1.2:3.4}' | python -m simplejson.tool
- Expecting property name: line 1 column 2 (char 2)
-
-"""
-import sys
-import simplejson
-
-def main():
- if len(sys.argv) == 1:
- infile = sys.stdin
- outfile = sys.stdout
- elif len(sys.argv) == 2:
- infile = open(sys.argv[1], 'rb')
- outfile = sys.stdout
- elif len(sys.argv) == 3:
- infile = open(sys.argv[1], 'rb')
- outfile = open(sys.argv[2], 'wb')
- else:
- raise SystemExit(sys.argv[0] + " [infile [outfile]]")
- try:
- obj = simplejson.load(infile)
- except ValueError, e:
- raise SystemExit(e)
- simplejson.dump(obj, outfile, sort_keys=True, indent=4)
- outfile.write('\n')
-
-
-if __name__ == '__main__':
- main()
diff --git a/addons/service.xbmc.versioncheck/README.md b/addons/service.xbmc.versioncheck/README.md
index 5f8cbc56e5..1442d6f532 100644
--- a/addons/service.xbmc.versioncheck/README.md
+++ b/addons/service.xbmc.versioncheck/README.md
@@ -3,4 +3,4 @@ XBMC Versioncheck
This service checks the installed XBMC version against the next available one and notifies you if there is a new version available.
When a new version comes out the versions.txt should be updated to reflect the latest version available.
-When updating the version.txt always put latest release at the top since the list is read in chronological order.
+When updating the version.txt always put latest release at the top since the list is read in chronilogical order.
diff --git a/addons/service.xbmc.versioncheck/addon.xml b/addons/service.xbmc.versioncheck/addon.xml
index f196a48f41..5db1796875 100644
--- a/addons/service.xbmc.versioncheck/addon.xml
+++ b/addons/service.xbmc.versioncheck/addon.xml
@@ -1,23 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.xbmc.versioncheck"
name="XBMC Version Check"
- version="0.1.2"
+ version="0.1.11"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.addon" version="12.0.0"/>
<import addon="xbmc.python" version="2.1.0"/>
- <import addon="script.module.simplejson" version="2.0.10"/>
</requires>
<extension point="xbmc.service" library="service.py" start="login"/>
<extension point="xbmc.addon.metadata">
+ <summary lang="be">XBMC Version Check checks if you are running latest released version.</summary>
+ <summary lang="bg">XBMC Version Check проверява ползвате ли най-новата версия на XBMC.</summary>
+ <summary lang="de">XBMC Version-Check prüft, ob die neuste Version von XBMC installiert ist.</summary>
+ <summary lang="el">Ο Έλεγχος Έκδοσης XBMC εξετάζει αν έχετε την πιο πρόσφατη έκδοση του προγράμματος.</summary>
<summary lang="en">XBMC Version Check checks if you are running latest released version.</summary>
+ <summary lang="es">XBMC Version Check comprueba si está ejecutando la última versión de XBMC.</summary>
+ <summary lang="es_MX">Comprobador de Version de XBMC comprueba si se esta ejecutando ultima version publicada.</summary>
+ <summary lang="fr">XBMC Version Check vérifie si vous utilisez la dernière version disponible.</summary>
+ <summary lang="gl">XBMC Version Check verifica se está a executar a última versión.</summary>
+ <summary lang="he">XBMC Version Check בודק אם אתה מפעיל את הגרסה הרשמית האחרונה.</summary>
+ <summary lang="hr">XBMC provjeritelj inačice provjerava imate li posljednju inačicu izdanja.</summary>
+ <summary lang="hu">Az XBMC verzió ellenőrző megvizsgálja, hogy a legújabb kiadást futtatja-e.</summary>
+ <summary lang="id">XBMC Version Check mengecek apakah Anda menggunakan versi rilis terbaru.</summary>
+ <summary lang="it">XBMC Version Check verifica se hai l'ultima versione rilasciata</summary>
+ <summary lang="ko">XBMC Version Checks는 최신 정식 릴리즈 버전을 사용중인지 검사해줍니다.</summary>
+ <summary lang="nl">XBMC Versie Check controleert of je de laatst beschikbare versie hebt.</summary>
+ <summary lang="no">XBMC Versjonsettersyn sjekker om du kjører den sist utgitte versjonen.</summary>
+ <summary lang="pl">XBMC Version Check sprawdza czy używasz najnowszą wersję.</summary>
+ <summary lang="pt">O XBMC Version Check verifica se a sua versão de lançamento do XBMC está actualizada.</summary>
+ <summary lang="pt_BR">XBMC Version Check verifica se você está executando a versão mais recente.</summary>
+ <summary lang="ru">XBMC Version Check проверяет если вы используете последнюю версию</summary>
+ <summary lang="sv">XBMC Version Check kontrollerar om du använder den senaste versionen.</summary>
+ <summary lang="zh">XBMC版本检查检查你使用的是否为最新发布的版本。</summary>
+ <description lang="be">XBMC Version Check only supports a number of platforms/distros as releases may differ between them. For more information visit the xbmc.org website.</description>
+ <description lang="bg">XBMC Version Check поддържа няколко платформи/дистрибуции. За повече информация посетете страницата www.xbmc.org.</description>
+ <description lang="de">XBMC Versions-Check unterstützt nur ein paar Plattformen/Distributionen, da sich die jeweiligen Veröffentlichungen unterscheiden können. Für weitere Informationen besuche die xbmc.org-Website.</description>
+ <description lang="el">Ο Έλεγχος Έκδοσης XBMC υποστηρίζει μόνο ορισμένα λειτουργικά συστήματα/διανομές, καθώς οι εκδόσεις διαφέρουν για το καθένα. Για περισσότερες πληροφορίες επισκεφθείτε το xbmc.org</description>
<description lang="en">XBMC Version Check only supports a number of platforms/distros as releases may differ between them. For more information visit the xbmc.org website.</description>
+ <description lang="es">XBMC Version Check solo soporta un número limitado de plataformas/distribuciones, ya que los lanzamientos pueden diferir entre ellos. Para más información, visite la web de xbmc.org.</description>
+ <description lang="fr">XBMC Version Check supporte seulement un nombre de plateformes/distributions qui peuvent varier entre elles. Visitez le site internet xbmc.org pour plus d'informations.</description>
+ <description lang="gl">XBMC Version Check só soporta un número limitado de plataformas/distribucións, xa que os lanzamentos poden diferir entre eles. Para máis información visitar o sitio web de xbmc.org.</description>
+ <description lang="he">XBMC Version Check תומך רק במספר פלטפורמות/הפצות מאחר שסימון הגרסאות שונה בין אחת לשניה. למידע נוסף בקר באתר xbmc.org.</description>
+ <description lang="hr">XBMC provjeritelj inačice samo podržava broj platformi/distribucija koliko to dopuštaju pojedina izdanja. Za više informacija posjetite xbmc.org web stranicu.</description>
+ <description lang="hu">Az XBMC verzió-ellenőrző csak néhány platformot / disztribúciót támogat, mert a kiadások között különbségek lehetnek. További információkért keresse fel az xbmc.org oldalt.</description>
+ <description lang="id">XBMC Version Check hanya mendukung beberapa platform/distro karena rilisnya mungkin berbeda-beda. Untuk informasi lebih lanjut kunjungi situs xbmc.org.</description>
+ <description lang="it">XBMC Version Check supporta un numero di piattaforme e distribuzioni diverse tra loro. Per più informazioni visita il sito xbmc.org</description>
+ <description lang="nl">XBMC Version Check ondersteunt maar enkele platforms/distros omdat er verschil kan zijn tussen versies. Voor meer informatie bezoek XBMC.org website.</description>
+ <description lang="no">XBMC Versjonsettersyn støtter kun noen plattformer/distribusjoner fordi utgivelser kan være forskjellige mellom dem. Besøk xbmc.org for mer informasjon.</description>
+ <description lang="pl">XBMC Version Check wspiera część platform/dystrybucji, jako że wydania mogą się różnić. Po więcej informacji odwiedź stronę xbmc.org.</description>
+ <description lang="pt">O XBMC Version Check suporta apenas algumas plataformas/distribuições, porque os lançamentos podem não ser sempre idênticos. Para mais informação, visite o site xbmc.org.</description>
+ <description lang="pt_BR">XBMC Version Check somente suporta algumas plataformas/distros, que podem variar entre si. Para maiores informações visite o website xbmc.org</description>
+ <description lang="sv">XBMC Version Check stöder endeast ett antal plattformar/distributioner eftersom utgivningar kan skilja mellan dessa. För mer information besök xbmc.org webplatsen.</description>
+ <description lang="zh">XBMC版本检查只支持部分平台/发行版,它们之间的版本可能会有所不同。欲了解更多信息,请访问的xbmc.org网站。</description>
+ <disclaimer lang="be">Feel free to use this script. For information visit xbmc.org</disclaimer>
+ <disclaimer lang="bg">Спокойно можете да ползвате скрипта за собствени цели. За информация посетете www.xbmc.org</disclaimer>
+ <disclaimer lang="de">Zögere nicht dieses Script zu benutzen. Für Informationen besuche xbmc.org</disclaimer>
+ <disclaimer lang="el">Χρησιμοποιήστε αυτό το script ελεύθερα. Για πληροφορίες επισκεφθείτε το xbmc.org</disclaimer>
<disclaimer lang="en">Feel free to use this script. For information visit xbmc.org</disclaimer>
+ <disclaimer lang="es">Puede usar libremente este programa. Para más información, visite xbmc.org</disclaimer>
+ <disclaimer lang="es_MX">Sientase libre de utilizar este script. Para mas información visita xbmc.org</disclaimer>
+ <disclaimer lang="fr">Utilisez ce script si vous le désirez. Visitez le site Internet xbmc.org pour plus d'informations.</disclaimer>
+ <disclaimer lang="gl">Síntase libre de usar este script, para máis información visitar xbmc.org.</disclaimer>
+ <disclaimer lang="he">תרגיש חופשי להשתמש בסקריפט זה. למידע נוסף בקר בכתובת xbmc.org</disclaimer>
+ <disclaimer lang="hr">Slobodno koristite ovu skriptu. Za više informacija posjetite xbmc.org</disclaimer>
+ <disclaimer lang="hu">Használja bátran ezt a szkriptet! Információkért keresse fel az xbmc.org oldalt!</disclaimer>
+ <disclaimer lang="id">Jangan sungkan menggunakan script ini. Untuk informasi hubungi xbmc.org</disclaimer>
+ <disclaimer lang="it">Usa liberamente lo script. Per informazioni visita xbmc.org</disclaimer>
+ <disclaimer lang="ko">이 스크립트를 자유롭게 사용하세요. 관련 정보는 xbmc.org를 방문하세요.</disclaimer>
+ <disclaimer lang="nl">Gebruik dit script vrijblijvend. Voor meer informatie bezoek XBMC.org</disclaimer>
+ <disclaimer lang="no">Du har fri tillatelse til å benytte dette skriptet. Besøk xbmc.org for informasjon</disclaimer>
+ <disclaimer lang="pl">Zapraszamy do używania skryptu. Po więcej informacji odwiedź xbmc.org</disclaimer>
+ <disclaimer lang="pt">Esteja à vontade para usar este script. Para mais informação, visite xbmc.org.</disclaimer>
+ <disclaimer lang="pt_BR">Sinta-se livre para usar este script. Para informações, visite xbmc.org</disclaimer>
+ <disclaimer lang="ru">Используйте этот скрипт на свое усмотрение. Для информации посетите xbmc.org</disclaimer>
+ <disclaimer lang="sv">Använd gärna detta skript. För information, besök xbmc.org</disclaimer>
+ <disclaimer lang="zh">请随意使用此脚本,更多信息访问xbmc.org</disclaimer>
<license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license>
<platform>osx osx32 osx64 ios windx wingl linux</platform>
<website>http://xbmc.org</website>
<source>https://github.com/XBMC-Addons/service.xbmc.versioncheck</source>
<forum>http://forum.xbmc.org/showthread.php?tid=160228</forum>
- <email></email>
+ <email></email>
</extension>
</addon>
diff --git a/addons/service.xbmc.versioncheck/changelog.txt b/addons/service.xbmc.versioncheck/changelog.txt
index be117b0a3e..0148104af6 100644
--- a/addons/service.xbmc.versioncheck/changelog.txt
+++ b/addons/service.xbmc.versioncheck/changelog.txt
@@ -1,5 +1,36 @@
+v0.1.11
+- Updated language files from Transifex
+- Fix problems with python2.7.5
+- Update with 13.0 Gotham_alpha8
+
+v0.1.11
+- Update with 13.0 Gotham_alpha7
+
+v0.1.9
+- Update with 13.0 Gotham_alpha6
+- Updated language files from Transifex
+
+v0.1.7
+- Update with 13.0 Gotham_alpha5
+
+v0.1.7
+- Update with 13.0 Gotham_alpha4
+
+v0.1.6
+- Update with 12.2 Frodo stable
+- Added Linux full system upgrade
+
+v0.1.5
+- Update with 13.0 Gotham_alpha3
+
+v0.1.4
+- We can now upgrade xbmc on Linux. This works either via polkit or shell wrapper as fallback
+
+v0.1.3
+- Update with 13.0 Gotham_alpha2
+
v0.1.2
- Add notification for Ubuntu users checking through apt command
v0.1.1
-- Initial version \ No newline at end of file
+- Initial version
diff --git a/addons/service.xbmc.versioncheck/icon.png b/addons/service.xbmc.versioncheck/icon.png
index a7ad3ebb84..8eb53e5994 100644
--- a/addons/service.xbmc.versioncheck/icon.png
+++ b/addons/service.xbmc.versioncheck/icon.png
Binary files differ
diff --git a/addons/service.xbmc.versioncheck/lib/__init__.py b/addons/service.xbmc.versioncheck/lib/__init__.py
new file mode 100644
index 0000000000..4b0dc39c7f
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/lib/__init__.py
@@ -0,0 +1 @@
+from common import *
diff --git a/addons/service.xbmc.versioncheck/lib/aptdeamonhandler.py b/addons/service.xbmc.versioncheck/lib/aptdeamonhandler.py
new file mode 100644
index 0000000000..012312758c
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/lib/aptdeamonhandler.py
@@ -0,0 +1,109 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2013 Team-XBMC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+import xbmc
+from common import *
+
+try:
+ #import apt
+ import apt
+ from aptdaemon import client
+ from aptdaemon import errors
+except:
+ log('python apt import error')
+
+class AptdeamonHandler:
+
+ def __init__(self):
+ self.aptclient = client.AptClient()
+
+ def _check_versions(self, package):
+ if not self._update_cache():
+ return False, False
+ try:
+ trans = self.aptclient.upgrade_packages([package])
+ #trans = self.aptclient.upgrade_packages("bla")
+ trans.simulate(reply_handler=self._apttransstarted, error_handler=self._apterrorhandler)
+ pkg = trans.packages[4][0]
+ if pkg == package:
+ cache=apt.Cache()
+ cache.open(None)
+ cache.upgrade()
+ if cache[pkg].installed:
+ return cache[pkg].installed.version, cache[pkg].candidate.version
+
+ return False, False
+
+ except Exception as error:
+ log("Exception while checking versions: %s" %error)
+ return False, False
+
+ def _update_cache(self):
+ try:
+ if self.aptclient.update_cache(wait=True) == "exit-success":
+ return True
+ else:
+ return False
+ except errors.NotAuthorizedError:
+ log("You are not allowed to update the cache")
+ return False
+
+ def check_upgrade_available(self, package):
+ '''returns True if newer package is available in the repositories'''
+ installed, candidate = self._check_versions(package)
+ if installed and candidate:
+ if installed != candidate:
+ log("Version installed %s" %installed)
+ log("Version available %s" %candidate)
+ return True
+ else:
+ log("Already on newest version")
+ elif not installed:
+ log("No installed package found")
+ return False
+ else:
+ return False
+
+ def upgrade_package(self, package):
+ try:
+ log("Installing new version")
+ if self.aptclient.upgrade_packages([package], wait=True) == "exit-success":
+ log("Upgrade successful")
+ return True
+ except Exception as error:
+ log("Exception during upgrade: %s" %error)
+ return False
+
+ def upgrade_system(self):
+ try:
+ log("Upgrading system")
+ if self.aptclient.upgrade_system(wait=True) == "exit-success":
+ return True
+ except Exception as error:
+ log("Exception during system upgrade: %s" %error)
+ return False
+
+ def _getpassword(self):
+ if len(self._pwd) == 0:
+ self._pwd = get_password_from_user()
+ return self._pwd
+
+ def _apttransstarted(self):
+ pass
+
+ def _apterrorhandler(self, error):
+ log("Apt Error %s" %error) \ No newline at end of file
diff --git a/addons/service.xbmc.versioncheck/lib/common.py b/addons/service.xbmc.versioncheck/lib/common.py
new file mode 100644
index 0000000000..5579e6f7cc
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/lib/common.py
@@ -0,0 +1,89 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2013 Team-XBMC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import xbmc
+import xbmcaddon
+import xbmcgui
+import xbmcvfs
+
+__addon__ = xbmcaddon.Addon()
+__addonversion__ = __addon__.getAddonInfo('version')
+__addonname__ = __addon__.getAddonInfo('name')
+__addonpath__ = __addon__.getAddonInfo('path').decode('utf-8')
+__icon__ = __addon__.getAddonInfo('icon')
+__localize__ = __addon__.getLocalizedString
+
+def log(txt):
+ if isinstance (txt,str):
+ txt = txt.decode("utf-8")
+ message = u'%s: %s' % ("XBMC Version Check", txt)
+ xbmc.log(msg=message.encode("utf-8"), level=xbmc.LOGDEBUG)
+
+def get_password_from_user():
+ keyboard = xbmc.Keyboard("", __addonname__ + "," +__localize__(32022), True)
+ keyboard.doModal()
+ if (keyboard.isConfirmed()):
+ pwd = keyboard.getText()
+ return pwd
+
+def message_upgrade_success():
+ xbmc.executebuiltin("XBMC.Notification(%s, %s, %d, %s)" %(__addonname__,
+ __localize__(32013),
+ 15000,
+ __icon__))
+
+def message_restart():
+ if dialog_yesno(32014):
+ xbmc.executebuiltin("RestartApp")
+
+def dialog_yesno(line1 = 0, line2 = 0):
+ return xbmcgui.Dialog().yesno(__addonname__,
+ __localize__(line1),
+ __localize__(line2))
+
+def upgrade_message(msg, upgrade):
+ # Don't show while watching a video
+ while(xbmc.Player().isPlayingVideo() and not xbmc.abortRequested):
+ xbmc.sleep(1000)
+ i = 0
+ while(i < 5 and not xbmc.abortRequested):
+ xbmc.sleep(1000)
+ i += 1
+ # Detect if it's first run and only show OK dialog + ask to disable on that
+ firstrun = __addon__.getSetting("versioncheck_firstrun") != 'false'
+ if firstrun and not xbmc.abortRequested:
+ xbmcgui.Dialog().ok(__addonname__,
+ __localize__(msg),
+ __localize__(32001),
+ __localize__(32002))
+ # sets check to false which is checked on startup
+ if dialog_yesno(32009, 32010):
+ __addon__.setSetting("versioncheck_enable", 'false')
+ # set first run to false to only show a popup next startup / every two days
+ __addon__.setSetting("versioncheck_firstrun", 'false')
+ # Show notification after firstrun
+ elif not xbmc.abortRequested:
+ if upgrade:
+ return dialog_yesno(msg)
+ else:
+ xbmc.executebuiltin("XBMC.Notification(%s, %s, %d, %s)" %(__addonname__,
+ __localize__(32001) + '' + __localize__(32002),
+ 15000,
+ __icon__))
+ else:
+ pass \ No newline at end of file
diff --git a/addons/service.xbmc.versioncheck/lib/jsoninterface.py b/addons/service.xbmc.versioncheck/lib/jsoninterface.py
new file mode 100644
index 0000000000..c6ab4f6c68
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/lib/jsoninterface.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2013 Team-XBMC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import os
+import sys
+import xbmc
+import xbmcaddon
+import xbmcvfs
+import lib.common
+from lib.common import log
+
+__addonpath__ = lib.common.__addonpath__
+
+import json as jsoninterface
+
+def get_installedversion():
+ # retrieve current installed version
+ json_query = xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["version", "name"]}, "id": 1 }')
+ json_query = unicode(json_query, 'utf-8', errors='ignore')
+ json_query = jsoninterface.loads(json_query)
+ version_installed = []
+ if json_query.has_key('result') and json_query['result'].has_key('version'):
+ version_installed = json_query['result']['version']
+ log("Version installed %s" %version_installed)
+ return version_installed
+
+def get_versionfilelist():
+ # retrieve versionlists from supplied version file
+ version_file = os.path.join(__addonpath__, 'resources/versions.txt')
+ # Eden didn't have xbmcvfs.File()
+ if xbmcaddon.Addon('xbmc.addon').getAddonInfo('version') < "11.9.3":
+ file = open(version_file, 'r')
+ else:
+ file = xbmcvfs.File(version_file)
+ data = file.read()
+ file.close()
+ version_query = unicode(data, 'utf-8', errors='ignore')
+ version_query = jsoninterface.loads(version_query)
+ return version_query \ No newline at end of file
diff --git a/addons/service.xbmc.versioncheck/lib/shellhandlerapt.py b/addons/service.xbmc.versioncheck/lib/shellhandlerapt.py
new file mode 100644
index 0000000000..f539feeb5a
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/lib/shellhandlerapt.py
@@ -0,0 +1,125 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2013 Team-XBMC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+import xbmc
+from common import *
+
+try:
+ from subprocess import check_output
+ from subprocess import call
+except:
+ log('subprocess import error')
+
+
+class ShellHandlerApt:
+
+ _pwd = ""
+
+ def __init__(self, usesudo=False):
+ self.sudo = usesudo
+ installed, candidate = self._check_versions("xbmc", False)
+ if not installed:
+ # there is no package installed via repo, so we exit here
+ log("No installed package found, exiting")
+ import sys
+ sys.exit(0)
+
+ def _check_versions(self, package, update=True):
+ _cmd = "apt-cache policy " + package
+
+ if update and not self._update_cache():
+ return False, False
+
+ try:
+ result = check_output([_cmd], shell=True).split("\n")
+ except Exception as error:
+ log("ShellHandlerApt: exception while executing shell command %s: %s" %(_cmd, error))
+ return False, False
+
+ if result[0].replace(":", "") == package:
+ installed = result[1].split()[1]
+ candidate = result[2].split()[1]
+ if installed == "(none)":
+ installed = False
+ if candidate == "(none)":
+ candiate = False
+ return installed, candidate
+ else:
+ log("ShellHandlerApt: error during version check")
+ return False, False
+
+ def _update_cache(self):
+ _cmd = 'apt-get update'
+ try:
+ if self.sudo:
+ x = check_output('echo \'%s\' | sudo -S %s' %(self._getpassword(), _cmd), shell=True)
+ else:
+ x = check_output(_cmd.split())
+ except Exception as error:
+ log("Exception while executing shell command %s: %s" %(_cmd, error))
+ return False
+
+ return True
+
+ def check_upgrade_available(self, package):
+ '''returns True if newer package is available in the repositories'''
+ installed, candidate = self._check_versions(package)
+ if installed and candidate:
+ if installed != candidate:
+ log("Version installed %s" %installed)
+ log("Version available %s" %candidate)
+ return True
+ else:
+ log("Already on newest version")
+ elif not installed:
+ log("No installed package found")
+ return False
+ else:
+ return False
+
+ def upgrade_package(self, package):
+ _cmd = "apt-get install -y " + package
+ try:
+ if self.sudo:
+ x = check_output('echo \'%s\' | sudo -S %s' %(self._getpassword(), _cmd), shell=True)
+ else:
+ x = check_output(_cmd.split())
+ log("Upgrade successful")
+ except Exception as error:
+ log("Exception while executing shell command %s: %s" %(_cmd, error))
+ return False
+
+ return True
+
+ def upgrade_system(self):
+ _cmd = "apt-get upgrade -y"
+ try:
+ log("Upgrading system")
+ if self.sudo:
+ x = check_output('echo \'%s\' | sudo -S %s' %(self._getpassword(), _cmd), shell=True)
+ else:
+ x = check_output(_cmd.split())
+ except Exception as error:
+ log("Exception while executing shell command %s: %s" %(_cmd, error))
+ return False
+
+ return True
+
+ def _getpassword(self):
+ if len(self._pwd) == 0:
+ self._pwd = get_password_from_user()
+ return self._pwd
diff --git a/addons/service.xbmc.versioncheck/lib/versions.py b/addons/service.xbmc.versioncheck/lib/versions.py
new file mode 100644
index 0000000000..0bd7607f1e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/lib/versions.py
@@ -0,0 +1,93 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2013 Team-XBMC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+from lib.common import log
+
+def compare_version(version_installed, versionlist):
+ # Create seperate version lists
+ versionlist_stable = versionlist['releases']['stable']
+ versionlist_rc = versionlist['releases']['releasecandidate']
+ versionlist_beta = versionlist['releases']['beta']
+ versionlist_alpha = versionlist['releases']['alpha']
+ versionlist_prealpha = versionlist['releases']['prealpha']
+ ### Check to upgrade to newest available stable version
+ # check on smaller major version. Smaller version than available always notify
+ oldversion = False
+ msg = ''
+ if version_installed['major'] < int(versionlist_stable[0]['major']):
+ msg = 32003
+ oldversion = True
+ log("Version available %s" %versionlist_stable[0])
+
+ # check on same major version installed and available
+ elif version_installed['major'] == int(versionlist_stable[0]['major']):
+ # check on smaller minor version
+ if version_installed['minor'] < int(versionlist_stable[0]['minor']):
+ msg = 32003
+ oldversion = True
+ log("Version available %s" %versionlist_stable[0])
+ # check if not installed a stable so always notify
+ elif version_installed['minor'] == int(versionlist_stable[0]['minor']) and version_installed['tag'] != "stable":
+ msg = 32008
+ oldversion = True
+ log("Version available %s" %versionlist_stable[0])
+ else:
+ log("Last available stable installed")
+
+ ### Check to upgrade to newest available RC version if not installed stable
+ ## Check also oldversion hasn't been set true by previous check because if so this need to be skipped
+ if not oldversion and version_installed['tag'] != "stable":
+ if 'revision' in version_installed.keys():
+ # only check on equal or lower major because newer installed beta/alpha/prealpha version will be higher
+ if versionlist_rc and version_installed['major'] <= int(versionlist_rc[0]['major']):
+ if version_installed['revision'] <= versionlist_rc[0]['revision']:
+ msg = 32004
+ oldversion = True
+ log("Version available %s" %versionlist_rc[0])
+
+ # exclude if installed RC on checking for newer beta
+ if not oldversion and versionlist_beta and version_installed['tag'] not in ["releasecandidate"]:
+ if version_installed['major'] <= int(versionlist_beta[0]['major']):
+ if version_installed['revision'] < versionlist_beta[0]['revision']:
+ msg = 32005
+ oldversion = True
+ log("Version available %s" %versionlist_beta[0])
+
+ # exclude if installed RC or beta on checking for newer alpha
+ if not oldversion and versionlist_alpha and version_installed['tag'] not in ["releasecandidate", "beta"]:
+ if version_installed['major'] <= int(versionlist_alpha[0]['major']):
+ if version_installed['revision'] < versionlist_alpha[0]['revision']:
+ msg = 32006
+ oldversion = True
+ log("Version available %s" %versionlist_alpha[0])
+
+ # exclude if installed RC, beta or alpha on checking for newer prealpha
+ if not oldversion and versionlist_prealpha and version_installed['tag'] not in ["releasecandidate", "beta", "alpha"]:
+ if version_installed['major'] <= int(versionlist_prealpha[0]['major']):
+ if version_installed['revision'] < versionlist_prealpha[0]['revision']:
+ msg = 32007
+ oldversion = True
+ log("Version available %s" %versionlist_prealpha[0])
+
+ log("Nothing to see here, move along. Running a latest non stable release")
+ # Nothing to see here, move along
+ else:
+ log("Nothing to see here, move along. Running a stable release")
+ # Nothing to see here, move along
+ pass
+ return oldversion, msg \ No newline at end of file
diff --git a/addons/service.xbmc.versioncheck/resources/language/Afrikaans/strings.po b/addons/service.xbmc.versioncheck/resources/language/Afrikaans/strings.po
new file mode 100644
index 0000000000..eba84cdf64
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Afrikaans/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Afrikaans (http://www.transifex.com/projects/p/xbmc-addons/language/af/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: af\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Algemeen"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Albanian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Albanian/strings.po
new file mode 100644
index 0000000000..af8479dec9
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Albanian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Albanian (http://www.transifex.com/projects/p/xbmc-addons/language/sq/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sq\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Të përgjithshëm"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Amharic/strings.po b/addons/service.xbmc.versioncheck/resources/language/Amharic/strings.po
new file mode 100644
index 0000000000..e5870ba547
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Amharic/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Amharic (http://www.transifex.com/projects/p/xbmc-addons/language/am/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: am\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "ባጠቃላይ"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Arabic/strings.po b/addons/service.xbmc.versioncheck/resources/language/Arabic/strings.po
new file mode 100644
index 0000000000..183b69a949
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Arabic/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Arabic (http://www.transifex.com/projects/p/xbmc-addons/language/ar/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ar\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "عام"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Basque/strings.po b/addons/service.xbmc.versioncheck/resources/language/Basque/strings.po
new file mode 100644
index 0000000000..23d9f4ecc7
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Basque/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/xbmc-addons/language/eu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: eu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Orokorra"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Belarusian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Belarusian/strings.po
new file mode 100644
index 0000000000..d3a6312a70
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Belarusian/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Belarusian (http://www.transifex.com/projects/p/xbmc-addons/language/be/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: be\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "We would like to recommend you to upgrade."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visit XBMC.org for more information."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "You are still using an older stable version of XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "You are still using an older RC version of XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "You are still using an older beta version of XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "You are still using an older alpha version of XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "You are still using an older monthly version of XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "You are still using an older non stable version of XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Would you like to remove this reminder?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "You can enable/disable it through addon settings."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Use your package manager(apt) to upgrade."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "A new version is available, do you want to upgrade now?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Upgrade successful"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Do you want to restart Xbmc to finish the upgrade?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Do you want to check the repository for a new version?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "General"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Enable XBMC version check?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Please enter your password"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Upgrade complete system"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Bosnian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Bosnian/strings.po
new file mode 100644
index 0000000000..e8b767a60d
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Bosnian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Bosnian (http://www.transifex.com/projects/p/xbmc-addons/language/bs/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bs\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Opšte"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Bulgarian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Bulgarian/strings.po
new file mode 100644
index 0000000000..cef3174218
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Bulgarian/strings.po
@@ -0,0 +1,89 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/xbmc-addons/language/bg/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bg\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Препоръчваме Ви да актуализирате."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Посетете www.xbmc.info за информация."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Ползвате стара стабилна версия на XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Ползвате стара RC версия на XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Ползвате стара бета версия на XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Ползвате стара алфа версия на XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Ползвате стара версия, от месечно компилираните, на XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Ползвате стара нестабилна версия на XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Желаете ли изключите това напомняне?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Можете да включите/изключите напомнянето от настройките на добавката."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Актуализирайте чрез вашия диспeчер на пакети (apt)."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Налична е нова версия. Желаете ли да актуализирате сега?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Актуализирането е успешно"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Желаете ли да рестартирате XBMC, за да приключи актуализирането?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Желаете ли хранилището да бъде проверено за нова версия?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Основни"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Да бъде ли проверяване версията на XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Моля, въведете паролата си"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Catalan/strings.po b/addons/service.xbmc.versioncheck/resources/language/Catalan/strings.po
new file mode 100644
index 0000000000..0084857c1d
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Catalan/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/xbmc-addons/language/ca/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "General"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Chinese (Simple)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Chinese (Simple)/strings.po
new file mode 100644
index 0000000000..ce61033498
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Chinese (Simple)/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/xbmc-addons/language/zh/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: zh\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "我们建议你升级。"
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "更多信息访问XBMC.org。"
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "您仍在使用一个旧的稳定版XBMC。"
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "您仍在使用一个旧的RC版XBMC。"
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "您仍在使用一个旧的beta版XBMC。"
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "您仍在使用一个旧的alpha版XBMC。"
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "您仍在使用一个旧的月度版XBMC。"
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "您仍在使用一个旧的非稳定版XBMC。"
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "你想移除此提醒吗?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "你可以通过插件设置来启用/禁用它。"
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "使用你的软件包管理器(apt)升级。"
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "新版可用,你现在要升级吗?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "成功升级"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "你要重启XBMC来完成升级吗?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "你要检查库中的新版本吗?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "常用"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "启用XBMC版本检查?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "请输入你的密码"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux:升级完整的系统"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Chinese (Traditional)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Chinese (Traditional)/strings.po
new file mode 100644
index 0000000000..2e73d593aa
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Chinese (Traditional)/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/xbmc-addons/language/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "一般設定"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Croatian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Croatian/strings.po
new file mode 100644
index 0000000000..3c08810fe5
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Croatian/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Croatian (http://www.transifex.com/projects/p/xbmc-addons/language/hr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hr\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Želimo vam preproučiti nadogradnju."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Posjetite XBMC.org za više informacija."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Još uvijek koristite stariju stabilnu inačicu XBMC-a."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Još uvijek koristite stariju pred-stabilnu inačicu XBMC-a."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Još uvijek koristite stariju beta inačicu XBMC-a."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Još uvijek koristite stariju alfa inačicu XBMC-a."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Još uvijek koristite stariju mjesečnu inačicu XBMC-a."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Još uvijek koristite stariju nestabilnu inačicu XBMC-a."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Želite li ukloniti ovog podsjetnika?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Možete ga omogućiti/onemogućiti kroz postavke dodatka."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Koristite svoj upravitelj paketa (apt) za nadogradnju."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Nova inačica je dostupna, želite li ju odmah nadograditi?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Nadogradnja uspješna"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Želite li ponovno pokrenuti XBMC za dovršetak nadogradnje?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Želite li provjeriti repozitorij za novu inačicu?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Općenito"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Omogući XBMC provjeritelja inačice?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Upišite svoju lozinku"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: nadogradi cjelokupan sustav"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Czech/strings.po b/addons/service.xbmc.versioncheck/resources/language/Czech/strings.po
new file mode 100644
index 0000000000..046b763c3e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Czech/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Czech (http://www.transifex.com/projects/p/xbmc-addons/language/cs/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: cs\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Obecné"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Danish/strings.po b/addons/service.xbmc.versioncheck/resources/language/Danish/strings.po
new file mode 100644
index 0000000000..bd71391067
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Danish/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Danish (http://www.transifex.com/projects/p/xbmc-addons/language/da/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: da\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Generelt"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Dutch/strings.po b/addons/service.xbmc.versioncheck/resources/language/Dutch/strings.po
new file mode 100644
index 0000000000..5a86a7fd17
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Dutch/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Dutch (http://www.transifex.com/projects/p/xbmc-addons/language/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "We bevelen je aan om te upgraden."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Bezoek XBMC.org voor meer informatie."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Je gebruikt nog steeds een oudere stabiele versie van XBMC"
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Je gebruikt nog steeds een oudere RC versie van XBMC"
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Je gebruikt nog steeds een oudere beta versie van XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Je gebruikt nog steeds een oudere alpha versie van XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Je gebruikt nog steeds een oudere maandelijkse versie van XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Je gebruikt nog steeds een oudere niet stabiele versie van XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Will je deze herinneren verwijderen?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Deze kan je aan/uitzetten in addon settings."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Gebruik pakket manager(apt) voor upgraden."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Er is een nieuwe versie beschikbaar, wil je nu upgraden?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Upgrade succesvol"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Wil je XBMC opnieuw starten om de upgrade te voltooien?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Wil je de repository controleren op een nieuwe versie?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Algemeen"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "XBMC versie controle aanzetten?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Vul uw wachtwoord in"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Upgrade compleet systeem"
diff --git a/addons/service.xbmc.versioncheck/resources/language/English/strings.po b/addons/service.xbmc.versioncheck/resources/language/English/strings.po
index 38b4c9a7e3..891e84fc74 100644
--- a/addons/service.xbmc.versioncheck/resources/language/English/strings.po
+++ b/addons/service.xbmc.versioncheck/resources/language/English/strings.po
@@ -60,10 +60,36 @@ msgctxt "#32011"
msgid "Use your package manager(apt) to upgrade."
msgstr ""
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr ""
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr ""
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr ""
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr ""
+
+#empty strings from id 32016 to 32019
+
msgctxt "#32020"
msgid "General"
msgstr ""
msgctxt "#32021"
msgid "Enable XBMC version check?"
-msgstr "" \ No newline at end of file
+msgstr ""
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr ""
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr ""
diff --git a/addons/service.xbmc.versioncheck/resources/language/Esperanto/strings.po b/addons/service.xbmc.versioncheck/resources/language/Esperanto/strings.po
new file mode 100644
index 0000000000..6b9a419db4
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Esperanto/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Esperanto (http://www.transifex.com/projects/p/xbmc-addons/language/eo/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: eo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Generalo"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Estonian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Estonian/strings.po
new file mode 100644
index 0000000000..a4bc7f5503
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Estonian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Estonian (http://www.transifex.com/projects/p/xbmc-addons/language/et/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: et\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Üldine"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Finnish/strings.po b/addons/service.xbmc.versioncheck/resources/language/Finnish/strings.po
new file mode 100644
index 0000000000..f3dbef55b9
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Finnish/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Finnish (http://www.transifex.com/projects/p/xbmc-addons/language/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Yleinen"
diff --git a/addons/service.xbmc.versioncheck/resources/language/French/strings.po b/addons/service.xbmc.versioncheck/resources/language/French/strings.po
new file mode 100644
index 0000000000..784407cf61
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/French/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: French (http://www.transifex.com/projects/p/xbmc-addons/language/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Nous vous recommandons de mettre à jour XBMC."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visitez xbmc.org pour plus d'informations."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Vous utilisez toujours une ancienne version stable d'XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Vous utilisez toujours une ancienne version RC d'XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Vous utilisez toujours une ancienne version béta d'XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Vous utilisez toujours une ancienne version alpha d'XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Vous utilisez toujours une ancienne version mensuelle d'XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Vous utilisez toujours une ancienne version non stable d'XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Souhaitez-vous supprimer ce rappel ?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Vous pouvez l'activer/désactiver depuis les paramètres de l'extension."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Utilisez votre gestionnaire de paquets (apt) pour mettre à jour."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Une nouvelle version est disponible, souhaitez vous mettre à niveau maintenant ?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Mise à jour réussie"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Voulez-vous redémarrer Xbmc pour terminer la mise à jour ?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Voulez-vous vérifier sur le dépôt s’il existe une nouvelle version?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Général"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Activer XBMC Version Check ?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "S'il vous plaît entrer votre mot de passe"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Mise à niveau du système terminée"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Galician/strings.po b/addons/service.xbmc.versioncheck/resources/language/Galician/strings.po
new file mode 100644
index 0000000000..630c821eff
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Galician/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/xbmc-addons/language/gl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Gustaríanos recomendarlle actualizar."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visitar XBMC.org para máis información."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Aínda está a usar unha versión antiga de XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Aínda está a usar unha versión RC antiga de XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Aínda está a usar unha versión beta antiga de XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Aínda está a usar unha versión alpha antiga de XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Aínda está a usar unha versión mensual antiga de XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Aínda está a usar unha versión antiga non estábel de XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Quere eliminar este aviso?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Pode des/activarlo mediante a configuración do complemento."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Use o xestor de paquetes(apt) para actualizar."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Hai unha nova versión dispoñíbel, ¿quere actualizar agora?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Actualización correcta"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Quere reiniciar agora o XBMC para rematar a actualización?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Quere buscar no repositorio unha nova versión?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Xeral"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Activar a verificación de versión do XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Por favor introduza o seu contrasinal"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Actualizar o sistema completo"
diff --git a/addons/service.xbmc.versioncheck/resources/language/German/strings.po b/addons/service.xbmc.versioncheck/resources/language/German/strings.po
new file mode 100644
index 0000000000..470ec8819e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/German/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: German (http://www.transifex.com/projects/p/xbmc-addons/language/de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Wir empfehlen Ihnen ein Upgrade."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Besuchen Sie XBMC.org für mehr Informationen."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Sie verwenden eine ältere, aber stabile Version von XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Sie verwenden noch eine ältere Version von XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Sie verwenden noch eine ältere BETA-Version von XBMC"
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Sie verwenden noch eine ältere ALPHA-Version von XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Du benutzt noch eine ältere Version von XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Sie verwenden eine ältere, aber stabile Version von XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Möchten Sie diese Erinnerung löschen?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Dies kann in den Addoneinstellungen aktiviert/deaktiviert werden."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Bitte verwenden Sie den Packetmanager (apt) für ein Upgrade."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Eine neue Version ist verfügbar, wollen sie jetzt upgraden?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Upgrade erfolgreich"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Wollen sie Neustarten um das Upgrade zu beenden?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Repository auf eine neue Version überprüfen?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Allgemein"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "XBMC Versionsprüfung aktivieren?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Geben Sie ihr Passwort ein"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Komplettes System aktualisieren"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Greek/strings.po b/addons/service.xbmc.versioncheck/resources/language/Greek/strings.po
new file mode 100644
index 0000000000..9ac083fc8c
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Greek/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Greek (http://www.transifex.com/projects/p/xbmc-addons/language/el/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: el\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Θα σας προτείναμε να κάνετε αναβάθμιση."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Επισκεφθείτε το XBMC.org για περισσότερες πληροφορίες."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Χρησιμοποιείτε ακόμη μια παλιά σταθερή έκδοση του XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Χρησιμοποιείτε ακόμη μια παλιά RC έκδοση του XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Χρησιμοποιείτε ακόμη μια παλιά beta έκδοση του XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Χρησιμοποιείτε ακόμη μια παλιά alpha έκδοση του XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Χρησιμοποιείτε ακόμη μια παλιά μηνιαία έκδοση του XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Χρησιμοποιείτε ακόμη μια παλιά μη σταθερή έκδοση του XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Να αφαιρεθεί αυτή η υπενθύμιση;"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Μπορείτε να την (απ)ενεργοποιήσετε από τις ρυθμίσεις του πρόσθετου."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Χρησιμοποιήστε τη διαχείριση πακέτων (apt) για αναβάθμιση."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Μια νέα έκδοση είναι διαθέσιμη, να γίνει αναβάθμιση τώρα;"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Επιτυχής Αναβάθμιση"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Να γίνει επανεκκίνηση του XBMC για να ολοκληρωθεί η αναβάθμιση;"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Να γίνει έλεγχος του αποθετηρίου για νέα έκδοση;"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Γενικά"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Ενεργοποίηση ελέγχου έκδοσης XBMC;"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Παρακαλώ εισάγετε τον κωδικό σας"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Αναβάθμιση όλου του συστήματος"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Hebrew/strings.po b/addons/service.xbmc.versioncheck/resources/language/Hebrew/strings.po
new file mode 100644
index 0000000000..97005fd149
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Hebrew/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Hebrew (http://www.transifex.com/projects/p/xbmc-addons/language/he/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: he\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "אנו ממליצים לך לשדרג."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "בקר ב-XBMC.org למידע נוסף."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "הינך משתמש עדיין בגרסה יציבה ישנה של XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "הינך משתמש עדיין בגרסת RC ישנה של XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "הינך משתמש עדיין בגרסת ביטא ישנה של XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "הינך משתמש עדיין בגרסת אלפא ישנה של XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "הינך משתמש עדיין בגרסה חודשית ישנה של XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "הינך משתמש עדיין בגרסה לא יציבה ישנה של XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "התרצה להסיר תזכורת זאת?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "הינך יכול להפעיל/לנטרל זאת בהגדרות התוסף."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "השתמש במנהל החבילות (apt) לשידרוג."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "גרסה חדשה זמינה, התרצה לעדכן כעת?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "שדרוג התבצע בהצלחה"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "התרצה להפעיל מחדש את XBMC כדי לסיים את השדרוג?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "התרצה לבדוק האם זמינה גרסה חדשה במאגר?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "כללי"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "להפעיל את XBMC version check?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "אנא הזן סיסמתך"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "לינוקס: שדרוג מערכת מלא"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Hindi (Devanagiri)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Hindi (Devanagiri)/strings.po
new file mode 100644
index 0000000000..6060b06a54
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Hindi (Devanagiri)/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/xbmc-addons/language/hi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "सामान्य"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Hungarian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Hungarian/strings.po
new file mode 100644
index 0000000000..f98a2e0d83
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Hungarian/strings.po
@@ -0,0 +1,85 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/xbmc-addons/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Azt ajánljuk Önnek, hogy frissítse a rendszerét."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "További információkért keresse fel az xbmc.org oldalt!"
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Ön még az XBMC egy régebbi, stabil változatát használja."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Ön még az XBMC egy régebbi, kiadás előtti (RC) változatát használja."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Ön még az XBMC egy régebbi, béta változatát használja."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Ön még az XBMC egy régebbi, alfa változatát használja."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Ön még az XBMC egy régebbi, havi kiadású változatát használja."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Ön még az XBMC egy régebbi, kísérleti változatát használja."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Szeretné eltávolítani ezt az emlékeztetőt?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Engedélyezheti / letilthatja a kiegészítő beállításaiban."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Használja a csomagkezelőt (apt) a frissítéshez."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Egy új verzió érhető el, szeretne erre frissíteni?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "A frissítés sikerült."
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Kívánja újraindítani az XBMC-t a frissítés befejezéséhez?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Általános"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Engedélyezi az XBMC verzió ellenőrzését?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Kérjük, adja meg jelszavát"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Icelandic/strings.po b/addons/service.xbmc.versioncheck/resources/language/Icelandic/strings.po
new file mode 100644
index 0000000000..4eb7d76d1b
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Icelandic/strings.po
@@ -0,0 +1,65 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Icelandic (http://www.transifex.com/projects/p/xbmc-addons/language/is/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: is\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Við mælum með að þú uppfærir."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Farðu inn á XBMC.org til að fá fleiri upplýsingar."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Þú ert enn að nota eldri örugga útgáfu af XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Þú ert enn að nota eldri beta útgáfu af XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Þú ert enn að nota eldri mánaðarlega útgáfu af XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Þú ert enn að nota eldri óörugga útgáfu af XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Viltu fjarlægja þessa áminningu ?"
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Notaðu pakkastjórann (apt) til að uppfæra."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Ný útgáfa er fáanleg, viltu uppfæra núna ?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Uppfærsla heppnaðist"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Viltu endurræsa Xbmc til að ljúka uppfærslu ?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Almennt"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Indonesian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Indonesian/strings.po
new file mode 100644
index 0000000000..fdaa9569aa
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Indonesian/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Indonesian (http://www.transifex.com/projects/p/xbmc-addons/language/id/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: id\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Kami merekomendasikan Anda untuk upgrade."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Kunjungi XBMC.org untuk informasi lebih lanjut."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Anda masih menggunakan versi stabil XBMC yang lebih lama."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Anda masih menggunakan versi RC XBMC yang lebih lama."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Anda masih menggunakan versi beta XBMC yang lebih lama."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Anda masih menggunakan versi alpha XBMC yang lebih lama."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Anda masih menggunakan versi bulanan XBMC yang lebih lama."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Anda masih menggunakan versi non-stabil XBMC yang lebih lama."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Apakah anda ingin menghapus pengingat ini?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Anda dapat mengaktifkan/menonaktifkannya melalui pengaturan addon."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Gunakan manajer paket (apt) untuk upgrade."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Versi yang baru sudah tersedia, apakah Anda ingin upgrade sekarang?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Upgrade sukses"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Apakah Anda ingin memulai ulang XBMC untuk menuntaskan proses upgrade?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Apakah Anda ingin memeriksa repositori untuk versi yang baru?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Umum"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Aktifkan pengecekan versi XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Silakan masukkan kata sandi Anda"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Upgrade sistem seluruhnya"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Italian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Italian/strings.po
new file mode 100644
index 0000000000..517f3995bf
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Italian/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/xbmc-addons/language/it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Ti raccomandiamo di aggiornare."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visita XBMC.org per più informazioni."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Stai ancora usando una vecchia versione stabile di XBMC"
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Stai ancora usando una vecchia versione RC di XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Stai ancora usando una vecchia versione beta di XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Stai ancora usando una vecchia versione alpha di XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Stai ancora usando una vecchia versione mensile di XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Stai ancora usando una vecchia versione non stabile di XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Vuoi eliminare questo promemoria?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Puoi abilitarlo/disabilitarlo dalle impostazioni dell'addon"
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Usa il tuo gestore pacchetti (apt) per aggiornare."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Una nuova versione è disponibile, vuoi aggiornare ora?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Aggiornamento effettuato con successo"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Vuoi riavviare l'XBMC per finire l'aggiornamento?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Vuoi verificare la presenza di un nuovo aggiornamento?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Generale"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Abilita XBMC version check?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Inserisci la tua Password"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Aggiornamento completo del sistema"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Japanese/strings.po b/addons/service.xbmc.versioncheck/resources/language/Japanese/strings.po
new file mode 100644
index 0000000000..3e7f403f0e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Japanese/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Japanese (http://www.transifex.com/projects/p/xbmc-addons/language/ja/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ja\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "一般"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Korean/strings.po b/addons/service.xbmc.versioncheck/resources/language/Korean/strings.po
new file mode 100644
index 0000000000..63f0b1fe9c
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Korean/strings.po
@@ -0,0 +1,89 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Korean (http://www.transifex.com/projects/p/xbmc-addons/language/ko/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ko\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "업그레이드를 권장합니다."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "자세한 정보는 XBMC.org를 방문하세요."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "오래된 XBMC 안정 버전을 사용 중입니다."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "오래된 XBMC RC 버전을 사용중입니다."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "오래된 XBMC 베타 버전을 사용 중입니다."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "오래된 XBMC 알파 버전을 사용 중입니다."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "오래된 XBMC monthly 버전을 사용 중입니다."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "오래된 XBMC 불안정 버전을 사용 중입니다."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "이 미리 알림을 삭제하겠습니까?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "추가기능 설정에서 사용/사용하지 않음을 선택할 수 있습니다."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "패키지 관리자(apt)로 업그레이드 하세요."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "새 버전이 사용 가능합니다. 지금 업그레이드 하겠습니까?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "업그레이드 성공"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "업그레이드를 완료하기 위해 XBMC를 다시 시작 하겠습니까?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "저장소에서 새 버전을 확인하겠습니까?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "일반"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "XBMC 버전을 검사하겠습니까?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "패스워드를 입력하세요"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Latvian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Latvian/strings.po
new file mode 100644
index 0000000000..3a7e0e0f88
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Latvian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Latvian (http://www.transifex.com/projects/p/xbmc-addons/language/lv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: lv\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Vispārīgi"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Lithuanian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Lithuanian/strings.po
new file mode 100644
index 0000000000..cfb87b5d71
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Lithuanian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Lithuanian (http://www.transifex.com/projects/p/xbmc-addons/language/lt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: lt\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Pagrindinis"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Macedonian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Macedonian/strings.po
new file mode 100644
index 0000000000..84e225b72e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Macedonian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Macedonian (http://www.transifex.com/projects/p/xbmc-addons/language/mk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: mk\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Општо"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Malay/strings.po b/addons/service.xbmc.versioncheck/resources/language/Malay/strings.po
new file mode 100644
index 0000000000..653931ea26
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Malay/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Malay (http://www.transifex.com/projects/p/xbmc-addons/language/ms/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ms\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Am"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Malayalam/strings.po b/addons/service.xbmc.versioncheck/resources/language/Malayalam/strings.po
new file mode 100644
index 0000000000..ef8f1d94f8
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Malayalam/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Malayalam (http://www.transifex.com/projects/p/xbmc-addons/language/ml/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ml\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "പോതുവായത്"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Maltese/strings.po b/addons/service.xbmc.versioncheck/resources/language/Maltese/strings.po
new file mode 100644
index 0000000000..6ab48f07f0
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Maltese/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Maltese (http://www.transifex.com/projects/p/xbmc-addons/language/mt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: mt\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Ġenerali"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Norwegian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Norwegian/strings.po
new file mode 100644
index 0000000000..74593af069
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Norwegian/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Norwegian (http://www.transifex.com/projects/p/xbmc-addons/language/no/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: no\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Vi ønsker å anbefale at du oppgraderer."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Besøk XBMC.org for mer informasjon"
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Du bruker fortsatt en eldre, stabil versjon av XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Du bruker fortsatt en eldre, RC-versjon av XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Du bruker fortsatt en eldre, betaversjon av XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Du bruker fortsatt en eldre, alphaversjon av XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Du bruker fortsatt en eldre, månedlig versjon av XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Du bruker fortsatt en eldre, ustabil versjon av XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Ønsker du å fjerne denne påminnelsen?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Du kan aktivere/deaktivere den gjennom tilleggsinnstillingene."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Bruk pakkebehandleren (apt) din for å oppgradere."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "En ny versjon er tilgjengelig, ønsker du å oppgradere nå?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Vellykket oppgradering"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Ønsker du å starte XBMC på nytt for å fullføre oppgraderingen?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Ønsker du å sjekke pakkebrønnen etter en ny versjon?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Generelt"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Aktiver XBMC versjonsettersyn"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Vennlingst skriv inn ditt passord"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Oppgrader hele systemet"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Persian (Iran)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Persian (Iran)/strings.po
new file mode 100644
index 0000000000..c6e8e1b4b9
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Persian (Iran)/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/xbmc-addons/language/fa_IR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fa_IR\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "عمومی"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Persian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Persian/strings.po
new file mode 100644
index 0000000000..4da33e2a21
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Persian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Persian (http://www.transifex.com/projects/p/xbmc-addons/language/fa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fa\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "عمومی"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Polish/strings.po b/addons/service.xbmc.versioncheck/resources/language/Polish/strings.po
new file mode 100644
index 0000000000..74b9325cec
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Polish/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/xbmc-addons/language/pl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pl\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Chcielibyśmy polecić aktualizację."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Odwiedź XBMC.org po więcej informacji."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Nadal używasz starszej stabilnej wersji XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Nadal używasz starszej wersji RC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Nadal używasz starszej wersji beta XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Nadal używasz starszej wersji alpha XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Nadal używasz starszej wersji comiesięcznej XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Nadal używasz starszej niestabilnej wersji XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Usunąć to przypomnienie?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Można to włączyć/wyłączyć przez ustawienia wtyczki."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Użyj swojego menedżera pakietów (apt) do aktualizacji."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Dostępna jest nowa wersja, chcesz teraz aktualizować?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Aktualizacja powiodła się"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Chcesz zrestartować Xbmc by dokończyć aktualizację?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Czy chcesz sprawdzić repozytorium czy jest nowa wersja?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Ogólne"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Włączyć sprawdzanie wersji XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Proszę podać hasło"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: aktualizacja systemu kompletna"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Portuguese (Brazil)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Portuguese (Brazil)/strings.po
new file mode 100644
index 0000000000..ea13e4ae87
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Portuguese (Brazil)/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/xbmc-addons/language/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Gostaríamos de recomendar-lhe que atualize."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visite XBMC.org para mais informações."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Você ainda está usando uma versão estável antiga do XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Você ainda está usando uma versão RC antiga do XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Você ainda está usando uma versão beta antiga do XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Você ainda está usando uma versão alpha antiga do XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Você ainda está usando uma versão mensal antiga do XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Você ainda está usando uma versão não estável antiga do XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Gostaria de remover este lembrete?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Você pode ativar/desativá-lo através das configurações do add-on."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Use seu gerenciador de pacotes(apt) para atualizar."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Uma nova versão está disponível, você quer atualizara agora?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Atualização efetuada com sucesso"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Você deseja reiniciar o XBMC após atualização finalizar?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Deseja verificar se há uma nova versão no repositório?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Geral"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Habilitar verificação de versão do XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Por favor entre sua senha"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Atualizar o sistema completamente"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Portuguese/strings.po b/addons/service.xbmc.versioncheck/resources/language/Portuguese/strings.po
new file mode 100644
index 0000000000..d3d6eb8404
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Portuguese/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Portuguese (http://www.transifex.com/projects/p/xbmc-addons/language/pt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Gostaríamos de recomendar-lhe que actualizasse o XBMC."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visite xbmc.org para mais informação."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Ainda está a usar uma versão estável antiga do XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Ainda está a usar uma versão RC antiga do XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Ainda está a usar uma versão beta antiga do XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Ainda está a usar uma versão alpha antiga do XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Ainda está a usar uma versão mensal antiga do XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Ainda está a usar uma versão instável antiga do XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Gostaria de anular este lembrete?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Pode activá-lo/desactivá-lo através das definições de addon."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Use o gestor de pacotes(apt) para actualizar."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Uma nova versão está disponível, quer actualizar agora?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "A actualização foi concluída"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Quer reiniciar o XBMC para concluir a actualização?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Quer procurar por uma nova versão no repositório?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Menus"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Activar verificação de versão do XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Por favor, introduza a sua palavra-passe"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Actualização completa do sistema"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Romanian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Romanian/strings.po
new file mode 100644
index 0000000000..538bc65b26
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Romanian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Romanian (http://www.transifex.com/projects/p/xbmc-addons/language/ro/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ro\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "General"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Russian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Russian/strings.po
new file mode 100644
index 0000000000..7ffbeee731
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Russian/strings.po
@@ -0,0 +1,29 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/xbmc-addons/language/ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Мы рекомендуем Вам обновиться."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Для более полной информации посетите XBMC.org."
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Основные"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Serbian (Cyrillic)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Serbian (Cyrillic)/strings.po
new file mode 100644
index 0000000000..32c0ccf41e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Serbian (Cyrillic)/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/xbmc-addons/language/sr_RS/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr_RS\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Опште"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Serbian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Serbian/strings.po
new file mode 100644
index 0000000000..e017c89f47
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Serbian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/xbmc-addons/language/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Opšte"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Slovak/strings.po b/addons/service.xbmc.versioncheck/resources/language/Slovak/strings.po
new file mode 100644
index 0000000000..7c215fcbc4
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Slovak/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Slovak (http://www.transifex.com/projects/p/xbmc-addons/language/sk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sk\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Všeobecné"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Slovenian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Slovenian/strings.po
new file mode 100644
index 0000000000..17b30a26d8
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Slovenian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Slovenian (http://www.transifex.com/projects/p/xbmc-addons/language/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Splošno"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Spanish (Argentina)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Spanish (Argentina)/strings.po
new file mode 100644
index 0000000000..b1f7002c8f
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Spanish (Argentina)/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/xbmc-addons/language/es_AR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es_AR\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "General"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Spanish (Mexico)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Spanish (Mexico)/strings.po
new file mode 100644
index 0000000000..ecb65a8b82
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Spanish (Mexico)/strings.po
@@ -0,0 +1,57 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/xbmc-addons/language/es_MX/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es_MX\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Nos gustaria recomendarle actualizar."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visita XBMC.org para mas informacion."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Usted todavia esta utilizando una version vieja estable de XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Usted todavia esta utilizando una version vieja RC de XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Usted todavia esta utilizando una version vieja beta de XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Usted todavia esta utilizando una version vieja alpha de XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Usted todavia esta utilizando una vieja version mensual de XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Usted todavia esta utilizando una version vieja inestable de XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Usted quiere remover este recordatorio?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "General"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Spanish/strings.po b/addons/service.xbmc.versioncheck/resources/language/Spanish/strings.po
new file mode 100644
index 0000000000..b06ed19a1f
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Spanish/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/xbmc-addons/language/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Le recomendamos que actualice."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Visite XBMC.org para más información."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Todavía está usando una versión antigua estable de XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Todavía está usando una versión antigua RC de XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Todavía está usando una antigua versión beta de XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Todavía está usando una antigua versión alfa de XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Todavía está usando una antigua versión mensual de XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Todavía está usando una versión antigua no estable de XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "¿Desea eliminar este recordatorio?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Puede activarlo o desactivarlo a través de los ajustes del complemento."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Use su administrador de paquetes (apt) para actualizar."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "Está disponible una nueva versión, ¿deseas actualizar ahora?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Actualización correcta"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "¿Deseas reiniciar XBMC para terminar la actualización?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "¿Quieres comprobar el repositorio para una nueva versión?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "General"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "¿Activar la comprobación de versión de XBMC?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Por favor introduce tu contraseña"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Actualizar sistema completo"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Swedish/strings.po b/addons/service.xbmc.versioncheck/resources/language/Swedish/strings.po
new file mode 100644
index 0000000000..fb6767d371
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Swedish/strings.po
@@ -0,0 +1,93 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/xbmc-addons/language/sv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sv\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32001"
+msgid "We would like to recommend you to upgrade."
+msgstr "Vi rekommenderar dig att uppgradera."
+
+msgctxt "#32002"
+msgid "Visit XBMC.org for more information."
+msgstr "Besök XBMC.org för mer information."
+
+msgctxt "#32003"
+msgid "You are still using an older stable version of XBMC."
+msgstr "Du använder fortfarande en äldre stabil version av XBMC."
+
+msgctxt "#32004"
+msgid "You are still using an older RC version of XBMC."
+msgstr "Du använder fortfarande en äldre RC version av XBMC."
+
+msgctxt "#32005"
+msgid "You are still using an older beta version of XBMC."
+msgstr "Du använder fortfarande en äldre betaversion av XBMC."
+
+msgctxt "#32006"
+msgid "You are still using an older alpha version of XBMC."
+msgstr "Du använder fortfarande en äldre alfaversion av XBMC."
+
+msgctxt "#32007"
+msgid "You are still using an older monthly version of XBMC."
+msgstr "Du använder fortfarande en äldre månatlig version av XBMC."
+
+msgctxt "#32008"
+msgid "You are still using an older non stable version of XBMC."
+msgstr "Du använder fortfarande en äldre ostabil version av XBMC."
+
+msgctxt "#32009"
+msgid "Would you like to remove this reminder?"
+msgstr "Vill du ta bort denna påminnelse?"
+
+msgctxt "#32010"
+msgid "You can enable/disable it through addon settings."
+msgstr "Du kan aktivera/inaktivera detta i tilläggsinställningarna."
+
+msgctxt "#32011"
+msgid "Use your package manager(apt) to upgrade."
+msgstr "Använd din pakethanterare (apt) för att uppgradera."
+
+msgctxt "#32012"
+msgid "A new version is available, do you want to upgrade now?"
+msgstr "En ny version är tillgänglig, vill du uppgradera nu?"
+
+msgctxt "#32013"
+msgid "Upgrade successful"
+msgstr "Uppgradering lyckades"
+
+msgctxt "#32014"
+msgid "Do you want to restart Xbmc to finish the upgrade?"
+msgstr "Vill du starta om XBMC för att slutföra uppgraderingen?"
+
+msgctxt "#32015"
+msgid "Do you want to check the repository for a new version?"
+msgstr "Vill du kontrollera förrådet efter en ny version?"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Allmänna"
+
+msgctxt "#32021"
+msgid "Enable XBMC version check?"
+msgstr "Aktivera XBMC versionskontroll?"
+
+msgctxt "#32022"
+msgid "Please enter your password"
+msgstr "Var god ange ditt lösenord"
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
+msgstr "Linux: Uppdatera hela systemet"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Tamil (India)/strings.po b/addons/service.xbmc.versioncheck/resources/language/Tamil (India)/strings.po
new file mode 100644
index 0000000000..2e5c373165
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Tamil (India)/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Tamil (India) (http://www.transifex.com/projects/p/xbmc-addons/language/ta_IN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ta_IN\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "பொதுவானது"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Thai/strings.po b/addons/service.xbmc.versioncheck/resources/language/Thai/strings.po
new file mode 100644
index 0000000000..28cdb3766e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Thai/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Thai (http://www.transifex.com/projects/p/xbmc-addons/language/th/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: th\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "ทั่วไป"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Turkish/strings.po b/addons/service.xbmc.versioncheck/resources/language/Turkish/strings.po
new file mode 100644
index 0000000000..cf00b559f9
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Turkish/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Turkish (http://www.transifex.com/projects/p/xbmc-addons/language/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tr\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Genel"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Ukrainian/strings.po b/addons/service.xbmc.versioncheck/resources/language/Ukrainian/strings.po
new file mode 100644
index 0000000000..6746c9cd6e
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Ukrainian/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Ukrainian (http://www.transifex.com/projects/p/xbmc-addons/language/uk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: uk\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Загальні"
diff --git a/addons/service.xbmc.versioncheck/resources/language/Vietnamese/strings.po b/addons/service.xbmc.versioncheck/resources/language/Vietnamese/strings.po
new file mode 100644
index 0000000000..a9aaf36617
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/language/Vietnamese/strings.po
@@ -0,0 +1,21 @@
+# XBMC Media Center language file
+# Addon Name: XBMC Version Check
+# Addon id: service.xbmc.versioncheck
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Addons\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Vietnamese (http://www.transifex.com/projects/p/xbmc-addons/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32020"
+msgid "General"
+msgstr "Chung"
diff --git a/addons/service.xbmc.versioncheck/resources/polkit/10-allow-update.pkla b/addons/service.xbmc.versioncheck/resources/polkit/10-allow-update.pkla
new file mode 100644
index 0000000000..a5135348ef
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/polkit/10-allow-update.pkla
@@ -0,0 +1,6 @@
+[Untrusted Upgrade]
+Identity=unix-user:xbmc
+Action=org.debian.apt.upgrade-packages;org.debian.apt.update-cache
+ResultAny=no
+ResultInactive=yes
+ResultActive=yes
diff --git a/addons/service.xbmc.versioncheck/resources/polkit/README b/addons/service.xbmc.versioncheck/resources/polkit/README
new file mode 100644
index 0000000000..c3a1a45134
--- /dev/null
+++ b/addons/service.xbmc.versioncheck/resources/polkit/README
@@ -0,0 +1,10 @@
+If you run xbmc standalone and/or do want to have password less upgrades, copy the file 10-allow-update.conf to /etc/polkit-1/localauthority/50-local.d/
+
+Make sure to adjust the username if it is different from "xbmc"
+
+For this to work, you must have python-apt and python-aptdaemon installed:
+sudo apt-get install python-apt python-aptdaemon
+
+
+If those packages are not installed, this script will fallback to calling apt directly and ask you for your password.
+
diff --git a/addons/service.xbmc.versioncheck/resources/settings.xml b/addons/service.xbmc.versioncheck/resources/settings.xml
index f4efe60348..b72c184aef 100644
--- a/addons/service.xbmc.versioncheck/resources/settings.xml
+++ b/addons/service.xbmc.versioncheck/resources/settings.xml
@@ -2,5 +2,6 @@
<settings>
<category label="32020">
<setting label="32021" type="bool" id="versioncheck_enable" default="true"/>
+ <setting label="32023" type="bool" id="upgrade_system" default="false"/>
</category>
</settings>
diff --git a/addons/service.xbmc.versioncheck/resources/versions.txt b/addons/service.xbmc.versioncheck/resources/versions.txt
index 0ababef907..c75d681ab5 100644
--- a/addons/service.xbmc.versioncheck/resources/versions.txt
+++ b/addons/service.xbmc.versioncheck/resources/versions.txt
@@ -4,6 +4,13 @@
"stable": [
{
"major": "12",
+ "minor": "2",
+ "tag": "stable",
+ "revision": "20130502-32b1a5e",
+ "extrainfo": "final"
+ },
+ {
+ "major": "12",
"minor": "1",
"tag": "stable",
"revision": "20130317-0d373cc",
@@ -133,6 +140,55 @@
"major": "13",
"minor": "0",
"tag": "prealpha",
+ "revision": "20130929-494c67a",
+ "extrainfo": "alpha8"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
+ "revision": "20130831-2da9c97",
+ "extrainfo": "alpha7"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
+ "revision": "20130630-30f4a79",
+ "extrainfo": "alpha6"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
+ "revision": "20130630-9188e6a",
+ "extrainfo": "alpha5"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
+ "revision": "20130531-0ccc594",
+ "extrainfo": "alpha4"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
+ "revision": "20130430-e8fe5cf",
+ "extrainfo": "alpha3"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
+ "revision": "20130331-194c408",
+ "extrainfo": "alpha2"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
"revision": "20130227-8d2e0fe",
"extrainfo": "alpha1"
},
diff --git a/addons/service.xbmc.versioncheck/service.py b/addons/service.xbmc.versioncheck/service.py
index 49acf3a6ab..eeac15187f 100644
--- a/addons/service.xbmc.versioncheck/service.py
+++ b/addons/service.xbmc.versioncheck/service.py
@@ -18,235 +18,93 @@
#
-import os
import platform
import xbmc
-import xbmcaddon
-import xbmcgui
-import xbmcvfs
+import lib.common
+from lib.common import log, dialog_yesno
+from lib.common import upgrade_message as _upgrademessage
-if sys.version_info < (2, 7):
- import simplejson
-else:
- import json as simplejson
+__addon__ = lib.common.__addon__
+__addonversion__ = lib.common.__addonversion__
+__addonname__ = lib.common.__addonname__
+__addonpath__ = lib.common.__addonpath__
+__icon__ = lib.common.__icon__
+__localize__ = lib.common.__localize__
-__addon__ = xbmcaddon.Addon()
-__addonversion__ = __addon__.getAddonInfo('version')
-__addonname__ = __addon__.getAddonInfo('name')
-__addonpath__ = __addon__.getAddonInfo('path').decode('utf-8')
-__icon__ = __addon__.getAddonInfo('icon')
-__localize__ = __addon__.getLocalizedString
-
-def log(txt):
- if isinstance (txt,str):
- txt = txt.decode("utf-8")
- message = u'%s: %s' % (__addonname__, txt)
- xbmc.log(msg=message.encode("utf-8"), level=xbmc.LOGDEBUG)
class Main:
def __init__(self):
+ linux = False
+ packages = []
if __addon__.getSetting("versioncheck_enable") == 'true' and not xbmc.getCondVisibility('System.HasAddon(os.openelec.tv)'):
if not sys.argv[0]:
xbmc.executebuiltin('XBMC.AlarmClock(CheckAtBoot,XBMC.RunScript(service.xbmc.versioncheck, started),00:00:30,silent)')
xbmc.executebuiltin('XBMC.AlarmClock(CheckWhileRunning,XBMC.RunScript(service.xbmc.versioncheck, started),24:00:00,silent,loop)')
elif sys.argv[0] and sys.argv[1] == 'started':
if xbmc.getCondVisibility('System.Platform.Linux'):
- oldversion = _versionchecklinux('xbmc')
+ packages = ['xbmc']
+ _versionchecklinux(packages)
else:
- oldversion = _versioncheck()
- if oldversion[0]:
- _upgrademessage(oldversion[1])
+ oldversion, msg = _versioncheck()
+ if oldversion:
+ _upgrademessage(msg, False)
else:
pass
def _versioncheck():
# initial vars
- oldversion = False
- msg = ''
+ from lib.jsoninterface import get_installedversion, get_versionfilelist
+ from lib.versions import compare_version
# retrieve versionlists from supplied version file
- version_file = os.path.join(__addonpath__, 'resources/versions.txt')
- # Eden didn't have xbmcvfs.File()
- if xbmcaddon.Addon('xbmc.addon').getAddonInfo('version') < "11.9.3":
- file = open(version_file, 'r')
- else:
- file = xbmcvfs.File(version_file)
- data = file.read()
- file.close()
- version_query = unicode(data, 'utf-8', errors='ignore')
- version_query = simplejson.loads(version_query)
-
- # Create seperate version lists
- versionlist_stable = version_query['releases']['stable']
- versionlist_rc = version_query['releases']['releasecandidate']
- versionlist_beta = version_query['releases']['beta']
- versionlist_alpha = version_query['releases']['alpha']
- versionlist_prealpha = version_query['releases']['prealpha']
-
- # retrieve current installed version
- json_query = xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["version", "name"]}, "id": 1 }')
- json_query = unicode(json_query, 'utf-8', errors='ignore')
- json_query = simplejson.loads(json_query)
- version_installed = []
- if json_query.has_key('result') and json_query['result'].has_key('version'):
- version_installed = json_query['result']['version']
- log("Version installed %s" %version_installed)
- # set oldversion flag to false
- oldversion = False
-
- ### Check to upgrade to newest available stable version
- # check on smaller major version. Smaller version than available always notify
- if version_installed['major'] < int(versionlist_stable[0]['major']):
- msg = __localize__(32003)
- oldversion = True
- log("Version available %s" %versionlist_stable[0])
-
- # check on same major version installed and available
- elif version_installed['major'] == int(versionlist_stable[0]['major']):
- # check on smaller minor version
- if version_installed['minor'] < int(versionlist_stable[0]['minor']):
- msg = __localize__(32003)
- oldversion = True
- log("Version available %s" %versionlist_stable[0])
- # check if not installed a stable so always notify
- elif version_installed['tag'] != "stable":
- msg = __localize__(32008)
- oldversion = True
- log("Version available %s" %versionlist_stable[0])
- else:
- log("Last available stable installed")
-
- ### Check to upgrade to newest available RC version if not installed stable
- ## Check also oldversion hasn't been set true by previous check because if so this need to be skipped
- if not oldversion and version_installed['tag'] != "stable":
- # only check on equal or lower major because newer installed beta/alpha/prealpha version will be higher
- if versionlist_rc and version_installed['major'] <= int(versionlist_rc[0]['major']):
- if version_installed['revision'] <= versionlist_rc[0]['revision']:
- msg = __localize__(32004)
- oldversion = True
- log("Version available %s" %versionlist_rc[0])
-
- # exclude if installed RC on checking for newer beta
- if not oldversion and versionlist_beta and version_installed['tag'] not in ["releasecandidate"]:
- if version_installed['major'] <= int(versionlist_beta[0]['major']):
- if version_installed['revision'] < versionlist_beta[0]['revision']:
- msg = __localize__(32005)
- oldversion = True
- log("Version available %s" %versionlist_beta[0])
-
- # exclude if installed RC or beta on checking for newer alpha
- if not oldversion and versionlist_alpha and version_installed['tag'] not in ["releasecandidate", "beta"]:
- if version_installed['major'] <= int(versionlist_alpha[0]['major']):
- if version_installed['revision'] < versionlist_alpha[0]['revision']:
- msg = __localize__(32006)
- oldversion = True
- log("Version available %s" %versionlist_alpha[0])
-
- # exclude if installed RC, beta or alpha on checking for newer prealpha
- if not oldversion and versionlist_prealpha and version_installed['tag'] not in ["releasecandidate", "beta", "alpha"]:
- if version_installed['major'] <= int(versionlist_prealpha[0]['major']):
- if version_installed['revision'] < versionlist_prealpha[0]['revision']:
- msg = __localize__(32007)
- oldversion = True
- log("Version available %s" %versionlist_prealpha[0])
-
- # Nothing to see here, move along
- else:
- # Nothing to see here, move along
- pass
+ versionlist = get_versionfilelist()
+ # retrieve version installed
+ version_installed = get_installedversion()
+ # copmpare installed and available
+ oldversion, msg = compare_version(version_installed, versionlist)
return oldversion, msg
-def _versionchecklinux(package):
- if (platform.dist()[0] == "Ubuntu" or platform.dist()[0] == "Debian"):
- oldversion, msg = _versioncheckapt(package)
+def _versionchecklinux(packages):
+ if platform.dist()[0].lower() in ['ubuntu', 'debian', 'linuxmint']:
+ handler = False
+ result = False
+ try:
+ # try aptdeamon first
+ from lib.aptdeamonhandler import AptdeamonHandler
+ handler = AptdeamonHandler()
+ except:
+ # fallback to shell
+ # since we need the user password, ask to check for new version first
+ from lib.shellhandlerapt import ShellHandlerApt
+ sudo = True
+ handler = ShellHandlerApt(sudo)
+ if dialog_yesno(32015):
+ pass
+ elif dialog_yesno(32009, 32010):
+ log("disabling addon by user request")
+ __addon__.setSetting("versioncheck_enable", 'false')
+ return
+
+ if handler:
+ if handler.check_upgrade_available(packages[0]):
+ if _upgrademessage(32012, True):
+ if __addon__.getSetting("upgrade_system") == "false":
+ result = handler.upgrade_package(packages[0])
+ else:
+ result = handler.upgrade_system()
+ if result:
+ from lib.common import message_upgrade_success, message_restart
+ message_upgrade_success()
+ message_restart()
+ else:
+ log("Error during upgrade")
+ else:
+ log("Error: no handler found")
else:
log("Unsupported platform %s" %platform.dist()[0])
sys.exit(0)
- return oldversion, msg
-
-def _versioncheckapt(package):
- #check for linux using Apt
- # initial vars
- oldversion = False
- msg = ''
- result = ''
-
- # try to import apt
- try:
- import apt
- from aptdaemon import client
- from aptdaemon import errors
- except:
- log('python apt import error')
- sys.exit(0)
- apt_client = client.AptClient()
- try:
- result = apt_client.update_cache(wait=True)
- if (result == "exit-success"):
- log("Finished updating the cache")
- else:
- log("Error updating the cache %s" %result)
- except errors.NotAuthorizedError:
- log("You are not allowed to update the cache")
- sys.exit(0)
-
- trans = apt_client.upgrade_packages([package])
- trans.simulate(reply_handler=_apttransstarted, error_handler=_apterrorhandler)
- pkg = trans.packages[4][0]
- if (pkg == package):
- cache=apt.Cache()
- cache.open(None)
- cache.upgrade()
- if (cache[package].installed and cache[package].installed.version != cache[package].candidate.version):
- log("Version installed %s" %cache[package].installed.version)
- log("Version available %s" %cache[package].candidate.version)
- oldversion = True
- msg = __localize__(32011)
- elif (cache[package].installed):
- log("Already on newest version %s" %cache[package].installed.version)
- else:
- log("No installed package found, probably manual install")
- sys.exit(0)
-
- return oldversion, msg
-def _apttransstarted():
- pass
-def _apterrorhandler(error):
- raise error
-
-def _upgrademessage(msg):
- # Don't show while watching a video
- while(xbmc.Player().isPlayingVideo() and not xbmc.abortRequested):
- xbmc.sleep(1000)
- i = 0
- while(i < 5 and not xbmc.abortRequested):
- xbmc.sleep(1000)
- i += 1
- # Detect if it's first run and only show OK dialog + ask to disable on that
- firstrun = __addon__.getSetting("versioncheck_firstrun") != 'false'
- if firstrun and not xbmc.abortRequested:
- xbmcgui.Dialog().ok(__addonname__,
- msg,
- __localize__(32001),
- __localize__(32002))
- # sets check to false which is checked on startup
- if xbmcgui.Dialog().yesno(__addonname__,
- __localize__(32009),
- __localize__(32010)):
- __addon__.setSetting("versioncheck_enable", 'false')
- # set first run to false to only show a popup next startup / every two days
- __addon__.setSetting("versioncheck_firstrun", 'false')
- # Show notification after firstrun
- elif not xbmc.abortRequested:
- log(__localize__(32001) + '' + __localize__(32002))
- xbmc.executebuiltin("XBMC.Notification(%s, %s, %d, %s)" %(__addonname__,
- __localize__(32001) + '' + __localize__(32002),
- 15000,
- __icon__))
- else:
- pass
if (__name__ == "__main__"):
log('Version %s started' % __addonversion__)