diff options
author | Martijn Kaijser <mcm.kaijser@gmail.com> | 2013-10-16 15:21:01 +0200 |
---|---|---|
committer | Martijn Kaijser <mcm.kaijser@gmail.com> | 2013-10-16 15:23:37 +0200 |
commit | e4f0689f793e39d1af5b98f79d6c25f411806fba (patch) | |
tree | 10693ef97c16083832f35c0b0eda13da571162b1 | |
parent | 1f9204e776812f0ff9ffa2def695ee25ab3a3acc (diff) |
[addons] sync addons to repo
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="<url>http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings</url>" dest="3"> <expression>release/(.+)</expression> @@ -11,7 +11,7 @@ </RegExp> </ResolveIDToUrl> <CreateAlbumSearchUrl dest="3"> - <RegExp input="$$1" output="<url>http://search.musicbrainz.org/ws/2/release/?fmt=xml&query=release:\1%20AND%20artist:"$$4"</url>" dest="3"> + <RegExp input="$$1" output="<url>http://search.musicbrainz.org/ws/2/release/?fmt=xml&query=release:"\1"%20AND%20artist:"$$4"</url>" 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="<results sorted="yes">\1</results>" dest="8"> <RegExp input="$$1" output="<entity><year>\5-\4-T#\6</year><artist>\3</artist><title>\2</title><url cache="mb-\1-album.xml">http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings</url></entity>" dest="5"> - <expression repeat="yes">id="([^"]*)"><title>([^<]*)</title><status>Official</status><text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\stype="Album"\sid="[^"]*">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> + <expression repeat="yes">id="([^"]*)"><title>([^<]*)</title><status>Official</status>(?:<disambiguation>[^<]*</disambiguation>)*<text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\stype="Album"\sid="[^"]*">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> </RegExp> <RegExp input="$$1" output="<entity><year>\5-\4-T#\6</year><artist>\3</artist><title>\2</title><url cache="mb-\1-album.xml">http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings</url></entity>" dest="5+"> - <expression repeat="yes">id="([^"]*)"><title>([^<]*)</title><status>Official</status><text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group(?:\stype="[^"]*")*\sid="[^"]*">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> + <expression repeat="yes">id="([^"]*)"><title>([^<]*)</title><status>Official</status>(?:<disambiguation>[^<]*</disambiguation>)*<text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group(?:\stype="[^"]*")*\sid="[^"]*">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> </RegExp> <RegExp input="$$1" output="<entity><year>\5-\4-T#\6</year><artist>\3</artist><title>\2</title><url cache="mb-\1-album.xml">http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings</url></entity>" dest="5"> - <expression repeat="yes">id="([^"]*)" ext:score="[^"]*"><title>([^<]*)</title><status>Official</status><text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\sid="[^"]*"\stype="Album">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> + <expression repeat="yes">id="([^"]*)" ext:score="[^"]*"><title>([^<]*)</title><status>Official</status>(?:<disambiguation>[^<]*</disambiguation>)*<text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\sid="[^"]*"\stype="Album">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> </RegExp> <RegExp input="$$1" output="<entity><year>\5-\4-T#\6</year><artist>\3</artist><title>\2</title><url cache="mb-\1-album.xml">http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings</url></entity>" dest="5+"> - <expression repeat="yes">id="([^"]*)" ext:score="[^"]*"><title>([^<]*)</title><status>Official</status><text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*<)*/script></text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\sid="[^"]*"(?:\stype="[^"]*")*>(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> + <expression repeat="yes">id="([^"]*)" ext:score="[^"]*"><title>([^<]*)</title><status>Official</status>(?:<disambiguation>[^<]*</disambiguation>)*<text-representation>(?:<language>[^<]*</language>)*(?:<script>[^<]*</script>)*</text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\sid="[^"]*"(?:\stype="[^"]*")*>(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -95,6 +95,9 @@ <RegExp input="$INFO[albumratingsource]" output="<url function="GetAMGAlbumRating" cache="mb-$$4-rg.xml">http://musicbrainz.org/ws/2/release-group/$$4?inc=url-rels</url>" dest="5+"> <expression>allmusic.com</expression> </RegExp> + <RegExp input="$INFO[albumratingsource]" output="<chain function="GetTADBAlbumRatingByMBID">$$4</chain>" dest="5+"> + <expression>TheAudioDb.com</expression> + </RegExp> <RegExp input="$INFO[albumstylessource]" output="<url function="GetAMGAlbumStyles" cache="mb-$$4-rg.xml">http://musicbrainz.org/ws/2/release-group/$$4?inc=url-rels</url>" 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="<url>http://musicbrainz.org/ws/2/artist/\1?inc=url-rels</url>" 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="<details><url cache="am-\1-artist.html" function="ParseAMGDiscography">http://www.allmusic.com/artist/\1</url></details>" dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist-discography.html" function="ParseAMGDiscography">http://www.allmusic.com/artist/\1/discography</url></details>" dest="5"> <expression clear="yes" noclean="1"/> </RegExp> </GetAMGDiscographyByAMGID> @@ -10,7 +10,7 @@ <expression /> </RegExp> <RegExp input="$$1" output="<album><year>\1</year><title>\2</title><label>\3</label></album>" dest="3"> - <expression repeat="yes" clear="yes" trim="1"><td class="year[^"]*"(?:\stitle="[^"]*")*\s*data-sort-value="[^>]*>([^<]*)</td>[^<]*<td class=".*?title="([^"]*)</expression> + <expression repeat="yes" clear="yes" trim="1"><td\sclass="year[^"]*"(?:\stitle="[^"]*")*\s*data-sort-value="[^>]*>\s*([^<]*)</td>[^<]*<td\sclass=".*?title="([^"]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -62,20 +62,6 @@ </RegExp> </ParseAMGFallbackBiography> - <GetAMGArtistNameByAMGID dest="5"> - <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistName">http://www.allmusic.com/artist/\1</url></details>" dest="5"> - <expression noclean="1"/> - </RegExp> - </GetAMGArtistNameByAMGID> - <ParseAMGArtistName dest="5"> - <RegExp input="$$2" output="<details>\1</details>" dest="5"> - <RegExp input="$$1" output="<name>\1</name>" dest="2"> - <expression noclean="1">http://schema.org/MusicGroup">[^<]*<span itemprop="name">([^<]*)</span></expression> - </RegExp> - <expression noclean="1"/> - </RegExp> - </ParseAMGArtistName> - <GetAMGArtistLifeSpanByAMGID dest="5" clearbuffers="no"> <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistLifeSpan">http://www.allmusic.com/artist/\1</url></details>" dest="5"> <expression noclean="1"/> @@ -90,16 +76,16 @@ <expression /> </RegExp> <RegExp input="$$1" output="<born>\1 \2</born>" dest="11+"> - <expression trim="1,2"><dt>\s*Born[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Born\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$1" output="<died>\1 \2</died>" dest="11+"> - <expression trim="1,2"><dt>\s*Died[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Died\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$1" output="<formed>\1</formed>" dest="11+"> - <expression trim="1,2"><dt>\s*Formed[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Formed\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$1" output="<disbanded>\1</disbanded>" dest="11+"> - <expression trim="1,2"><dt>\s*Disbanded[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Disbanded\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$11" output="$$12" dest="2"> <RegExp input="$INFO[lifespanfbsource]" output="<chain function="GetMBFallbackLafeSpanByMBID">$$8</chain>" dest="12"> @@ -128,16 +114,16 @@ <expression /> </RegExp> <RegExp input="$$1" output="<born>\1 \2</born>" dest="2"> - <expression trim="1,2"><dt>\s*Born[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Born\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$1" output="<died>\1 \2</died>" dest="2+"> - <expression trim="1,2"><dt>\s*Died[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Died\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$1" output="<formed>\1</formed>" dest="2"> - <expression trim="1,2"><dt>\s*Formed[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Formed\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <RegExp input="$$1" output="<disbanded>\1</disbanded>" dest="2+"> - <expression trim="1,2"><dt>\s*Disbanded[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)?</expression> + <expression trim="1,2"><h4>\s*Disbanded\s*</h4>\s*<div>(.*?\d{4})\s*([^<]*)?</expression> </RegExp> <expression noclean="1"/> </RegExp> @@ -154,7 +140,7 @@ <expression /> </RegExp> <RegExp input="$$1" output="<yearsactive>\1</yearsactive>" dest="2"> - <expression trim="1" noclean="1"><dd class="active">([^<]*)<</expression> + <expression trim="1" noclean="1"><h\d>Active</h\d>[^>]*>([^<]*)<</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -174,10 +160,10 @@ <expression /> </RegExp> <RegExp input="$$1" output="\1" dest="6"> - <expression noclean="1"><dt>Genres</dt>(.*?)</dd></expression> + <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression> </RegExp> - <RegExp input="$$6" output="<genre>\2</genre>" dest="11"> - <expression repeat="yes" noclean="1"><li><a href="/genre/[^"]*">(<strong>)?([^<]*)</expression> + <RegExp input="$$6" output="<genre>\1</genre>" dest="11"> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/genre/[^"]*">([^<]*)</expression> </RegExp> <RegExp input="$$11" output="$$12" dest="2"> <RegExp input="$INFO[genresfbsource]" output="<chain function="GetLastFMFallbackArtistGenresByMBID">$$8</chain>" dest="12"> @@ -209,10 +195,10 @@ <expression /> </RegExp> <RegExp input="$$1" output="\1" dest="6"> - <expression noclean="1"><dt>Genres</dt>(.*?)</dd></expression> + <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression> </RegExp> - <RegExp input="$$6" output="<genre>\2</genre>" dest="2"> - <expression repeat="yes" noclean="1"><li><a href="/genre/[^"]*">(<strong>)?([^<]*)</expression> + <RegExp input="$$6" output="<genre>\1</genre>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/genre/[^"]*">([^<]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -232,10 +218,10 @@ <expression /> </RegExp> <RegExp input="$$1" output="\1" dest="7"> - <expression noclean="1"><dt>Styles</dt>(.*?)</dd></expression> + <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression> </RegExp> <RegExp input="$$7" output="<style>\1</style>" dest="11"> - <expression repeat="yes" noclean="1"><li><a href="/style/[^"]*">([^<]*)</expression> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/style/[^"]*">([^<]*)</expression> </RegExp> <RegExp input="$$11" output="$$12" dest="2"> <RegExp input="$INFO[stylesfbsource]" output="<chain function="GetLastFMFallbackArtistStylesByMBID">$$8</chain>" dest="12"> @@ -264,10 +250,10 @@ <expression /> </RegExp> <RegExp input="$$1" output="\1" dest="7"> - <expression noclean="1"><dt>Styles</dt>(.*?)</dd></expression> + <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression> </RegExp> <RegExp input="$$7" output="<style>\1</style>" dest="2"> - <expression repeat="yes" noclean="1"><li><a href="/style/[^"]*">([^<]*)</expression> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/style/[^"]*">([^<]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -284,10 +270,10 @@ <expression /> </RegExp> <RegExp input="$$1" output="\1" dest="10"> - <expression noclean="1"><h4>artist moods</h4>(.*?)</ul></expression> + <expression noclean="1">>Artists\sMoods</h\d*>(.*?)</ul></expression> </RegExp> <RegExp input="$$10" output="<mood>\1</mood>" dest="2"> - <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a></li></expression> + <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a>\s*</li></expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -307,7 +293,7 @@ <expression /> </RegExp> <RegExp input="$$1" output="\1" dest="4"> - <expression noclean="1"><h4>photo gallery</h4>(.*?)<h4></expression> + <expression noclean="1"><h\d>Photo\sGallery</h\d>(.*?)<h2\sclass="artist-name"</expression> </RegExp> <RegExp input="$$4" output="<thumb>http://cps-static.rovicorp.com/3/JPG_1080/\1</thumb>" dest="2"> <expression repeat="yes" noclean="1"><img src="http://cps-static.rovicorp.com/3/JPG_[^/]*/([^"]*)</expression> @@ -366,8 +352,8 @@ </GetAMGAlbumRatingByAMGID> <ParseAMGAlbumRating dest="5"> <RegExp input="$$2" output="<details>\1</details>" dest="5"> - <RegExp input="$$1" output="<rating max="5.0">\1</rating>" dest="2"> - <expression noclean="1">itemprop="rating">([0-9^]*)</expression> + <RegExp input="$$1" output="<rating max="10.0">\1</rating>" 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="<details>\1</details>" dest="5"> <RegExp input="$$1" output="\1" dest="6"> - <expression noclean="1"><dd class="genres">(.*?)</dd></expression> + <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression> </RegExp> <RegExp input="$$6" output="<genre>\1</genre>" dest="2"> - <expression repeat="yes" trim="1" noclean="1"><li>[^>]*>([^<]*)</a></li></expression> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/genre/[^"]*">([^<]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -415,10 +401,10 @@ <ParseAMGAlbumStyles dest="5"> <RegExp input="$$2" output="<details>\1</details>" dest="5"> <RegExp input="$$1" output="\1" dest="7"> - <expression noclean="1"><dd class="styles">(.*?)</dd></expression> + <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression> </RegExp> <RegExp input="$$7" output="<style>\1</style>" dest="2"> - <expression repeat="yes" trim="1" noclean="1"><li>[^>]*>([^<]*)</a></li></expression> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/style/[^"]*">([^<]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -432,10 +418,10 @@ <ParseAMGAlbumMoods dest="5"> <RegExp input="$$2" output="<details>\1</details>" dest="5"> <RegExp input="$$1" output="\1" dest="8"> - <expression trim="1" noclean="1">>\s*<h4>album moods</h4>(.*?)</ul></expression> + <expression trim="1" noclean="1">>\s*<h4>Album\sMoods</h4>(.*?)</section></expression> </RegExp> <RegExp input="$$8" output="<mood>\1</mood>" dest="2"> - <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a></li></expression> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/mood/[^"]*">([^<]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -449,10 +435,10 @@ <ParseAMGAlbumThemes dest="5"> <RegExp input="$$2" output="<details>\1</details>" dest="5"> <RegExp input="$$1" output="\1" dest="4"> - <expression noclean="1"><h4>album themes</h4>(.*?)</ul></expression> + <expression trim="1" noclean="1">>\s*<h4>Themes</h4>(.*?)</ul></expression> </RegExp> <RegExp input="$$4" output="<theme>\1</theme>" dest="2"> - <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a></li></expression> + <expression repeat="yes" noclean="1"><a\shref="http://www.allmusic.com/theme/[^"]*">([^<]*)</expression> </RegExp> <expression noclean="1" /> </RegExp> @@ -480,7 +466,7 @@ <ParseAMGAlbumThumbs dest="5"> <RegExp input="$$2" output="<details>\1</details>" dest="5"> <RegExp input="$$1" output="<thumb>http://cps-static.rovicorp.com/3/JPG_500/\1</thumb>" dest="2"> - <expression noclean="1"><meta property="og:image" content="http://cps-static.rovicorp.com/3/JPG_[^/]*/([^"]*)</expression> + <expression noclean="1">"http://cps-static.rovicorp.com/3/JPG_[^/]*/([^"]*)</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="<details><url function="Parse480pTrailer" cache="hd-trailers-\1.xml">http://xbmc.hd-trailers.net/movie/\1</url></details>" 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="<details><url function="Parse720pTrailer" cache="hd-trailers-\1.xml">http://xbmc.hd-trailers.net/movie/\1</url></details>" 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="<details><url function="Parse1080pTrailer" cache="hd-trailers-\1.xml">http://xbmc.hd-trailers.net/movie/\1</url></details>" 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="<details><trailer>\1</trailer></details>" dest="5"> + <RegExp input="$$6" output="<details>\1</details>" dest="5"> <!--fetch 480p trailer link from hdtrailers.net--> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6"> - <expression noclean="1">">(Theatrical )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res480p</expression> - </RegExp> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6+"> - <expression noclean="1">">(Teaser )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res480p</expression> + <RegExp input="$$1" output="<trailer>http://pdl.stream.aol.com/\1</trailer>" dest="6"> + <expression noclean="1">http://pdl\.stream\.aol\.com/([^"]*?_480p_dl.mov)"\srel="lightbox\[res480p</expression> </RegExp> <expression noclean="1" /> </RegExp> </Parse480pTrailer> <Parse720pTrailer dest="5"> - <RegExp input="$$6" output="<details><trailer>\1</trailer></details>" dest="5"> + <RegExp input="$$6" output="<details>\1</details>" 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&pt=rd&sid=\2" dest="6"> - <expression noclean="1">">(Theatrical )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res480p</expression> - </RegExp> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6+"> - <expression noclean="1">">(Teaser )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res480p</expression> + <RegExp input="$$1" output="<trailer>http://pdl.stream.aol.com/\1</trailer>" dest="6"> + <expression noclean="1">http://pdl\.stream\.aol\.com/([^"]*?_480p_dl.mov)"\srel="lightbox\[res480p</expression> </RegExp> <!--Fetch 720p trailer link from hdtrailers.net--> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6"> - <expression noclean="1">">(Theatrical )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res720p</expression> - </RegExp> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6+"> - <expression noclean="1">">(Teaser )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res720p</expression> + <RegExp input="$$1" output="<trailer>http://pdl.stream.aol.com/\1</trailer>" dest="6"> + <expression noclean="1">http://pdl\.stream\.aol\.com/([^"]*?_720p_dl.mov)"\srel="lightbox\[res720p</expression> </RegExp> <expression noclean="1" /> </RegExp> </Parse720pTrailer> <Parse1080pTrailer dest="5"> - <RegExp input="$$6" output="<details><trailer>\1</trailer></details>" dest="5"> + <RegExp input="$$6" output="<details>\1</details>" 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&pt=rd&sid=\2" dest="6"> - <expression noclean="1">">(Theatrical )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res480p</expression> - </RegExp> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6+"> - <expression noclean="1">">(Teaser )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res480p</expression> + <RegExp input="$$1" output="<trailer>http://pdl.stream.aol.com/\1</trailer>" dest="6"> + <expression noclean="1">http://pdl\.stream\.aol\.com/([^"]*?_480p_dl.mov)"\srel="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&pt=rd&sid=\2" dest="6"> - <expression noclean="1">">(Theatrical )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res720p</expression> - </RegExp> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6+"> - <expression noclean="1">">(Teaser )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res720p</expression> + <!--Fetch 720p trailer link from hdtrailers.net--> + <RegExp input="$$1" output="<trailer>http://pdl.stream.aol.com/\1</trailer>" dest="6"> + <expression noclean="1">http://pdl\.stream\.aol\.com/([^"]*?_720p_dl.mov)"\srel="lightbox\[res720p</expression> </RegExp> <!--Fetch 1080p trailer link from hdtrailers.net--> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6"> - <expression noclean="1">">(Theatrical )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res1080p</expression> - </RegExp> - <RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&pt=rd&sid=\2" dest="6+"> - <expression noclean="1">">(Teaser )?Trailer</span></td>.*?sid=(\d*)" rel="lightbox\[res1080p</expression> + <RegExp input="$$1" output="<trailer>http://pdl.stream.aol.com/\1</trailer>" dest="6"> + <expression noclean="1">http://pdl\.stream\.aol\.com/([^"]*?_1080p_dl.mov)"\srel="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="<details><url function="ParseHTBThumbs" post="yes" cache="htb-images-\1.xml">http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&aid=1,5</url></details>" dest="5"> + <RegExp input="$$1" output="<details><url function="ParseHTBThumbs" post="yes" cache="htb-images-\1.xml">http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&aid=1,5</url></details>" dest="5"> <expression noclean="1" /> </RegExp> </GetHTBThumbsByMBID> <GetHTBThumbs dest="5"> - <RegExp input="$$1" output="<details><url function="ParseHTBThumbs" post="yes" cache="htb-images-\1.xml">http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&default_operator=and&aid=1,5</url></details>" dest="5"> + <RegExp input="$$1" output="<details><url function="ParseHTBThumbs" post="yes" cache="htb-images-\1.xml">http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&default_operator=and&aid=1,5</url></details>" dest="5"> <expression noclean="1" /> </RegExp> </GetHTBThumbs> @@ -14,7 +14,7 @@ <RegExp input="" output="" dest="13"> <expression /> </RegExp> - <RegExp input="$$1" output="<thumb preview="http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail">http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize</thumb>" dest="13"> + <RegExp input="$$1" output="<thumb preview="http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail">http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize</thumb>" dest="13"> <expression repeat="yes" noclean="1"><id>([^<]+)</id>\n[^<]+<aid>5</aid></expression> </RegExp> <expression noclean="1" /> @@ -22,12 +22,12 @@ </ParseHTBThumbs> <GetHTBFanartByMBID dest="5" clearbuffers="no"> - <RegExp input="$$1" output="<details><url function="ParseHTBFanart" post="yes" cache="htb-images-\1.xml">http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&aid=1,5</url></details>" dest="5"> + <RegExp input="$$1" output="<details><url function="ParseHTBFanart" post="yes" cache="htb-images-\1.xml">http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?mbid=\1&aid=1,5</url></details>" dest="5"> <expression noclean="1" /> </RegExp> </GetHTBFanartByMBID> <GetHTBFanart dest="5"> - <RegExp input="$$1" output="<details><url function="ParseHTBFanart" post="yes" cache="htb-images-\1.xml">http://htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&default_operator=and&aid=1,5</url></details>" dest="5"> + <RegExp input="$$1" output="<details><url function="ParseHTBFanart" post="yes" cache="htb-images-\1.xml">http://htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/searchXML?keywords=\1&default_operator=and&aid=1,5</url></details>" dest="5"> <expression noclean="1" /> </RegExp> </GetHTBFanart> @@ -39,7 +39,7 @@ <RegExp input="" output="" dest="14"> <expression /> </RegExp> - <RegExp input="$$1" output="<thumb preview="http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail">http://www.htbackdrops.com/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize</thumb>" dest="14"> + <RegExp input="$$1" output="<thumb preview="http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/thumbnail">http://www.htbackdrops.org/api/7681a907c805e0670330c694e788e8e8/download/\1/fullsize</thumb>" dest="14"> <expression repeat="yes" noclean="1"><id>([^<]+)</id>\n[^<]+<aid>1</aid></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="<details>\1</details>" dest="5"> <RegExp input="$$1" output="<rating>\1.\2</rating>" dest="2"> - <expression><a\shref="criticreviews[^"]*?"\stitle[^>]*?>\s(\d)(\d*)</expression> + <expression><a\shref="criticreviews[^"]*?"\stitle[^>]*?>\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="<details>\1</details>" dest="5"> <RegExp input="$$1" output="<track><position>\1</position><title>\4</title><duration>\2</duration></track>" dest="2"> - <expression repeat="yes"><track><position>(\d+)</position><number>\d*</number>(?:<length>(\d*?)\d{3}</length>)*(?:<recording id="([^"]*)">)*<title>([^<]*)<</expression> + <expression repeat="yes"><track[^>]+><position>(\d+)</position><number>\d*</number>(?:<length>(\d*?)\d{3}</length>)*(?:<recording id="([^"]*)">)*<title>([^<]*)<</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":"(.*?)","</expression> </RegExp> @@ -149,6 +152,9 @@ <RegExp input="" output="" dest="11"> <expression /> </RegExp> + <RegExp input="" output="" dest="12"> + <expression /> + </RegExp> <RegExp input="$$1" output="<formed>\2 (\1)</formed>" dest="11"> <expression fixchars="2" noclean="1">intFormedYear":"([^"]*).*?strCountry":"([^"]*)</expression> </RegExp> @@ -190,6 +196,9 @@ <RegExp input="" output="" dest="11"> <expression /> </RegExp> + <RegExp input="" output="" dest="12"> + <expression /> + </RegExp> <RegExp input="$$1" output="<formed>\2 (\1)</formed>" dest="11"> <expression fixchars="2" noclean="1">intFormedYear":"([^"]*).*?strCountry":"([^"]*)</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":"([^"]*)</expression> </RegExp> @@ -286,6 +298,25 @@ </RegExp> </ParseTADBAlbumReview> + <GetTADBAlbumRating dest="5"> + <RegExp input="$$1" output="<details><url function="ParseTADBAlbumRating" cache="tadb-\1-album.json">http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetTADBAlbumRating> + <GetTADBAlbumRatingByMBID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url function="ParseTADBAlbumRating">http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album-mb.php?i=\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetTADBAlbumRatingByMBID> + <ParseTADBAlbumRating dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="<rating max="10.0">\1</rating>" dest="2"> + <expression fixchars="1">intScore":"(.*?)","</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseTADBAlbumRating> + <GetTADBAlbumTitleByID dest="5"> <RegExp input="$$1" output="<details><url function="ParseTADBAlbumTitle" cache="tadb-\1-album.json">http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1</url></details>" 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">"cast":\[([^\]]*)</expression> </RegExp> - <RegExp input="$$7" output="<actor><name>\1</name><role>\2</role><thumb>http://cf2.imgobject.com/t/p/original\3</thumb></actor>" dest="2"> - <expression repeat="yes" fixchars="1">"name":"([^"]*)","character":"([^"]*)","order":[0-9]*,"cast_id":[0-9]*,"profile_path":"([^"]*)"</expression> + <RegExp input="$$7" output="<actor><name>\1</name><role>\2</role><order>\3</order><thumb>http://cf2.imgobject.com/t/p/original\4</thumb></actor>" dest="2"> + <expression repeat="yes" fixchars="1">"name":"([^"]*)","character":"([^"]*)","order":([0-9]*),"cast_id":[0-9]*,"profile_path":"([^"]*)"</expression> </RegExp> - <RegExp input="$$7" output="<actor><name>\1</name><role>\2</role></actor>" dest="2+"> - <expression repeat="yes" fixchars="1">"name":"([^"]*)","character":"([^"]*)","order":[0-9]*,"cast_id":[0-9]*,"profile_path":null</expression> + <RegExp input="$$7" output="<actor><name>\1</name><role>\2</role><order>\3</order></actor>" dest="2+"> + <expression repeat="yes" fixchars="1">"name":"([^"]*)","character":"([^"]*)","order":([0-9]*),"cast_id":[0-9]*,"profile_path":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 Binary files differindex a7ad3ebb84..8eb53e5994 100644 --- a/addons/service.xbmc.versioncheck/icon.png +++ b/addons/service.xbmc.versioncheck/icon.png 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__) |