The branch, frodo has been updated
via 2e69068f3d3fedaae6d942feeeba47fd79773f67 (commit)
from a44aac04d6bef609be9aefd255e8f31aa9229cf2 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=2e69068f3d3fedaae6d942feeeba47fd79773f67
commit 2e69068f3d3fedaae6d942feeeba47fd79773f67
Author: Martijn Kaijser <[email protected]>
Date: Wed Aug 21 21:51:15 2013 +0200
[script.episodeHunter] 1.0.4
diff --git a/script.episodeHunter/README.md b/script.episodeHunter/README.md
index 8bf2256..180c37b 100644
--- a/script.episodeHunter/README.md
+++ b/script.episodeHunter/README.md
@@ -2,10 +2,14 @@ EpisodeHunter
=============
Plugin for XBMC.
-Automatic scrobble what you are watching to episodehunter.tv
+Automatic scrobble what you are watching to episodehunter.tv
-This plugin is under beta testning.
+You are required to have a EpisodeHunter account for this plugin.
+Register on episodehunter.tv
+
+This plugin is under beta testing.
No more feature is planned.
+
However, if you have any suggestions or problem, please
visit episodehunter.uservoice.com or
contact us on [email protected]
diff --git a/script.episodeHunter/ToDo b/script.episodeHunter/ToDo
index 6e71d3e..03dd18f 100644
--- a/script.episodeHunter/ToDo
+++ b/script.episodeHunter/ToDo
@@ -1,11 +1,10 @@
-* This plugin is under beta testning *
+* This plugin is under beta testing *
* No more feature is planned *
* However, if you have suggestions, please *
* visit episodehunter.uservoice.com or *
* contact episodehunter on [email protected] *
-Check if user has correct user data before upload
Notify user when scroble
Convert .xml to .po
diff --git a/script.episodeHunter/addon.py b/script.episodeHunter/addon.py
index dbe42a5..ad78c33 100644
--- a/script.episodeHunter/addon.py
+++ b/script.episodeHunter/addon.py
@@ -163,7 +163,7 @@ class EHPlayer(xbmc.Player):
self.valid_user = False
if responce['status'] != 200:
# If the user settings are wrong, this message is only
shown when a user start playing media
- notification(self.name, self.language(10035) + ": " +
str(responce['data'])) # 'Error:'
+ notification(self.name, self.language(32018) + ": " +
str(responce['data'])) # 'Error:'
else:
Debug("watching: responce is None :(")
diff --git a/script.episodeHunter/addon.xml b/script.episodeHunter/addon.xml
index 4cd6317..861a080 100644
--- a/script.episodeHunter/addon.xml
+++ b/script.episodeHunter/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="script.episodeHunter" version="1.0.3" name="EpisodeHunter"
provider-name="Episodehunter.tv">
+<addon id="script.episodeHunter" version="1.0.4" name="EpisodeHunter"
provider-name="Episodehunter.tv">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.simplejson" version="2.0.10"/>
@@ -10,10 +10,12 @@
<extension point="xbmc.service" name="episodeHunter.service"
library="addon.py"/>
<extension point="xbmc.addon.metadata">
<summary>EpisodeHunter</summary>
- <description>EpisodeHunter
-Episodehunter keeps automatically a record of what you are watching and can
there by keep a comprehensive history of all TV shows and movies you have
watched and gives tips on what to see next.
+ <description>
+Episodehunter keeps automatically a record of what you are watching and can
there by keep a comprehensive history of all TV shows and movies you have
watched and give tips on what to see next.
+You are required to have an EpisodeHunter account for this plugin.
+Create an account on episodehunter.tv
-This plugin is under beta testning.
+This plugin is under beta testing.
No more feature is planned.
However, if you have any suggestions or problem, please
visit episodehunter.uservoice.com or
diff --git a/script.episodeHunter/changelog.txt
b/script.episodeHunter/changelog.txt
index 0e364ce..2e4ef75 100644
--- a/script.episodeHunter/changelog.txt
+++ b/script.episodeHunter/changelog.txt
@@ -1,3 +1,5 @@
+Version 1.0.4:
+ Added debug option in settings
Version 1.0.2:
More quick bug fix
Version 1.0.1:
@@ -18,13 +20,13 @@ Version 0.9.5:
Version 0.9.4:
Bugfix
Version 0.9.2:
- Update the license file
- Some bugfix
- Remove default_value.py
+ Update the license file
+ Some bugfix
+ Remove default_value.py
Version 0.9.1:
- Added offline support and drop password (using api key instead)
+ Added offline support and drop password (using api key instead)
Version 0.8.7:
- BugFix
+ BugFix
Version 0.8.6:
BugFix: Fix that movie scrobbles again
Version 0.8.5:
@@ -35,8 +37,8 @@ Version 0.3.0:
Version 0.2.1:
Update to API r2
Version 0.2.0:
- Alpha testning
+ Alpha testing
Version 0.1.1:
Can now scrobbler movies ond tv shows
Version 0.0.1:
- The first verson of episodeHunter! Like a boss
+ The first version of episodeHunter! Like a boss
diff --git a/script.episodeHunter/connection.py
b/script.episodeHunter/connection.py
index efb420b..9c35d0b 100644
--- a/script.episodeHunter/connection.py
+++ b/script.episodeHunter/connection.py
@@ -27,7 +27,7 @@ class Connection(object):
self.connection = HTTPConn(self.URL, 80)
except socket.timeout:
Debug("makeConnection: timeout")
- notification(self.name, self.language(10055))
+ notification(self.name, self.language(32038), 1)
# Connection timeout
self.connection = None
# Contact EpisodeHunter
@@ -58,7 +58,7 @@ class Connection(object):
Debug("The data has left XBMC: " + request)
except socket.error:
Debug("makeRequest: Socket error, unable to connect")
- notification(self.name, self.language(10056))
# 'Socket error, unable to connect'
+ notification(self.name, self.language(32045), 1)
# 'Socket error, unable to connect'
return None
# And off we go
@@ -66,7 +66,7 @@ class Connection(object):
self.connection.go()
except Exception:
Debug("makeRequest: Unable to send data")
- notification(self.name, self.language(10061))
# 'Unable to send data'
+ notification(self.name, self.language(32041), 1)
# 'Unable to send data'
return None
# Wait for the respond, timeout after 15s
@@ -82,7 +82,7 @@ class Connection(object):
i = i + 1
if i >= 15:
Debug("makeRequest: Connection timeout")
- notification(self.name, self.language(10055))
+ notification(self.name, self.language(32038), 1)
# Connection timeout
return None
# Ladies and gentlemen, we have a result
@@ -91,7 +91,7 @@ class Connection(object):
raw = response.read()
except Exception:
Debug("Unable to read responce")
- notification(self.name, self.language(10062))
+ notification(self.name, self.language(32042), 1)
# Unable to read response
return None
finally:
try:
@@ -105,13 +105,13 @@ class Connection(object):
data = json.loads(raw)
except ValueError:
Debug("makeRequest: Bad JSON responce: " + raw)
- notification(self.name, self.language(10057))
+ notification(self.name, self.language(32039), 1)
# Bad JSON response from episodehunter.tv
return None
# if 'status' in data and 'data' in data:
# if data['status'] != 200:
# Debug("makeRequest: Error: " + str(data['data']))
- # notification(self.name, self.language(10035) + ": " +
str(data['data'])) # 'Error'
+ # notification(self.name, self.language(32018) + ": " +
str(data['data'])) # 'Error'
# return None
return data
@@ -131,7 +131,7 @@ class Connection(object):
elif 'status' in responce and 'data' in responce:
if responce['status'] != 200:
Debug("getMoviesFromEP: Error: " + str(responce['data']))
- notification(self.name, self.language(10035) + ": " +
str(responce['data'])) # 'Error'
+ notification(self.name, self.language(32018) + ": " +
str(responce['data'])) # 'Error'
return None
if 'value' in responce:
@@ -148,7 +148,7 @@ class Connection(object):
elif 'status' in responce and 'data' in responce:
if responce['status'] != 200:
Debug("getWatchedTVShowsFromEH: Error: " +
str(responce['data']))
- notification(self.name, self.language(10035) + ": " +
str(responce['data'])) # 'Error'
+ notification(self.name, self.language(32018) + ": " +
str(responce['data'])) # 'Error'
return None
if 'value' in responce:
diff --git a/script.episodeHunter/default.py b/script.episodeHunter/default.py
index 174d586..2a7cbfc 100644
--- a/script.episodeHunter/default.py
+++ b/script.episodeHunter/default.py
@@ -15,7 +15,7 @@ def menu():
_settings.openSettings()
return
- options = [_language(10024), _language(10026), _language(10023)] #
[Movie, TV, Settings]
+ options = [_language(32009), _language(32010), _language(32011)] #
[Movie, TV, Settings]
while True:
select = xbmcgui.Dialog().select(_name, options)
diff --git a/script.episodeHunter/helper.py b/script.episodeHunter/helper.py
index b37522d..6c8a7d0 100644
--- a/script.episodeHunter/helper.py
+++ b/script.episodeHunter/helper.py
@@ -4,20 +4,26 @@ import xbmcgui
_name = "EpisodeHunter"
-debug = True
-
def Debug(msg):
+ settings = xbmcaddon.Addon("script.episodeHunter")
+ debug = settings.getSetting("debug")
if debug:
try:
print _name + ": " + msg
except Exception:
- print _name + ": You are trying to print some bad string, " +
msg.encode("utf-8", "ignore")
+ try:
+ print _name + ": You are trying to print some bad string, " +
msg.encode("utf-8", "ignore")
+ except Exception:
+ print _name + ": You are trying to print a bad string, I can
not even print it"
+
-def notification(header, message):
+def notification(header, message, level=0):
settings = xbmcaddon.Addon("script.episodeHunter")
- xbmc.executebuiltin("XBMC.Notification(%s,%s,%i,%s)" % (header, message,
5000, settings.getAddonInfo("icon")))
+ debug = settings.getSetting("debug")
+ if debug or level == 0:
+ xbmc.executebuiltin("XBMC.Notification(%s,%s,%i,%s)" % (header,
message, 5000, settings.getAddonInfo("icon")))
# Do we have username and api key?
@@ -29,27 +35,27 @@ def isSettingsOkey(daemon=False, silent=False):
if silent:
return False
elif daemon:
- notification(_name, language(10063))
+ notification(_name, language(32014))
else:
- xbmcgui.Dialog().ok(_name, language(10063))
+ xbmcgui.Dialog().ok(_name, language(32014))
return False
elif settings.getSetting("username") == "":
if silent:
return False
if daemon:
- notification(_name, language(10030))
+ notification(_name, language(32012))
else:
- xbmcgui.Dialog().ok(_name, language(10030))
+ xbmcgui.Dialog().ok(_name, language(32012))
return False
elif settings.getSetting("api_key") == "":
if silent:
return False
if daemon:
- notification(_name, language(10031))
+ notification(_name, language(32013))
else:
- xbmcgui.Dialog().ok(_name, language(10031))
+ xbmcgui.Dialog().ok(_name, language(32013))
return False
return True
diff --git a/script.episodeHunter/resources/language/English/strings.xml
b/script.episodeHunter/resources/language/English/strings.xml
index 27c896f..123bd5f 100644
--- a/script.episodeHunter/resources/language/English/strings.xml
+++ b/script.episodeHunter/resources/language/English/strings.xml
@@ -1,60 +1,61 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- Settings Headline -->
- <string id="10001">General</string>
- <string id="10002">Scrobbling</string>
+ <string id="32000">General</string>
+ <string id="32001">Scrobbling</string>
- <!-- Settings submeny -->
- <string id="10011">Username</string>
- <string id="10012">API key</string>
- <string id="10013">Scrobble Movies</string>
- <string id="10014">Scrobble TV Episodes</string>
- <string id="10015">Percent watched to scrobble item</string>
- <string id="10060">Offline</string>
+ <!-- Settings sub-menu -->
+ <string id="32002">Username</string>
+ <string id="32003">API key</string>
+ <string id="32004">Scrobble Movies</string>
+ <string id="32005">Scrobble TV Episodes</string>
+ <string id="32006">Percent watched to scrobble item</string>
+ <string id="32007">Offline</string>
+ <string id="32008">Debug</string>
- <!-- Headline meny -->
- <string id="10024">Sync watched Movies</string>
- <string id="10026">Sync watched TV</string>
- <string id="10023">Settings</string>
+ <!-- Headline menu -->
+ <string id="32009">Sync watched Movies</string>
+ <string id="32010">Sync watched TV</string>
+ <string id="32011">Settings</string>
<!-- Helper*.py -->
- <string id="10030">No username found, please fill in your username</string>
- <string id="10031">No api key found, please fill in your api key</string>
- <string id="10063">No username or api key found, please fill in your user
details</string>
- <string id="10032">Can not connect, timeout</string>
- <string id="10033">Can not connect, socket error</string>
- <string id="10034">Error: Bad responce</string>
- <string id="10035">Error</string>
- <string id="10036">Bad JSON responce</string>
- <string id="10037">Error responce</string>
- <string id="10038">Checking XBMC Database for new watched Movies</string>
- <string id="10039">Progress Aborted</string>
- <string id="10040">Movies will be added as watched on
EpisodeHunter</string>
- <string id="10041">Error uploading watched movies</string>
- <string id="10042">No new watched movies to update for
EpisodeHunter</string>
- <string id="10043">Checking EpisodeHunter Database for new watched
Movies</string>
- <string id="10044">Movies will be added as watched</string>
- <string id="10045">Movies updated on XBMC</string>
- <string id="10046">No new watched movies to update for xbmc</string>
- <string id="10047">Checking XBMC Database for new watched Episodes</string>
- <string id="10048">Episodes will be added as watched</string>
- <string id="10049">Episodes sucessfully updated at EpisodeHunter</string>
- <string id="10050">Error uploading watched TVShows</string>
- <string id="10051">No new watched episodes in XBMC library to
update</string>
- <string id="10052">TVShow Episodes will be set as watched on XBMC</string>
- <string id="10053">Updating XBMC Database</string>
- <string id="10054">No new watched episodes on EpisodeHunter to
update</string>
- <string id="10055">Connection timeout</string>
- <string id="10056">Socket error, unable to connect</string>
- <string id="10057">Bad JSON responce from episodehunter.tv</string>
- <string id="10058">Movie sucessfully updated at EpisodeHunter</string>
- <string id="10061">Unable to send data</string>
- <string id="10062">Unable to read responce</string>
- <string id="10064">Uploading shows to episodehunter</string>
- <string id="10065">Uploading movies to episodehunter</string>
+ <string id="32012">No username found, please fill in your username</string>
+ <string id="32013">No api key found, please fill in your api key</string>
+ <string id="32014">No username or api key found, please fill in your user
details</string>
+ <string id="32015">Can not connect, timeout</string>
+ <string id="32016">Can not connect, socket error</string>
+ <string id="32017">Error: Bad response</string>
+ <string id="32018">Error</string>
+ <string id="32019">Bad JSON response</string>
+ <string id="32020">Error response</string>
+ <string id="32021">Checking XBMC Database for new watched Movies</string>
+ <string id="32022">Progress Aborted</string>
+ <string id="32023">Movies will be added as watched on
EpisodeHunter</string>
+ <string id="32024">Error uploading watched movies</string>
+ <string id="32025">No new watched movies to update for
EpisodeHunter</string>
+ <string id="32026">Checking EpisodeHunter Database for new watched
Movies</string>
+ <string id="32027">Movies will be added as watched</string>
+ <string id="32028">Movies updated on XBMC</string>
+ <string id="32029">No new watched movies to update for XBMC</string>
+ <string id="32030">Checking XBMC Database for new watched Episodes</string>
+ <string id="32031">Episodes will be added as watched</string>
+ <string id="32032">Episodes successfully updated at EpisodeHunter</string>
+ <string id="32033">Error uploading watched TVShows</string>
+ <string id="32034">No new watched episodes in XBMC library to
update</string>
+ <string id="32035">TVShow Episodes will be set as watched on XBMC</string>
+ <string id="32036">Updating XBMC Database</string>
+ <string id="32037">No new watched episodes on EpisodeHunter to
update</string>
+ <string id="32038">Connection timeout</string>
+ <string id="32045">Socket error, unable to connect</string>
+ <string id="32039">Bad JSON response from episodehunter.tv</string>
+ <string id="32040">Movie successfully updated at EpisodeHunter</string>
+ <string id="32041">Unable to send data</string>
+ <string id="32042">Unable to read response</string>
+ <string id="32043">Uploading shows to episodehunter.tv</string>
+ <string id="32044">Uploading movies to episodehunter.tv</string>
<!-- Service -->
- <string id="10059">Check username and password</string>
+ <string id="32046">Check username and password</string>
</strings>
diff --git a/script.episodeHunter/resources/settings.xml
b/script.episodeHunter/resources/settings.xml
index 3d27835..aeb3fae 100644
--- a/script.episodeHunter/resources/settings.xml
+++ b/script.episodeHunter/resources/settings.xml
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
- <category label="10001"><!-- General -->
- <setting id="username" type="text" label="10011" default="" />
- <setting id="api_key" type="text" label="10012" default="" />
- <setting id="offline" type="bool" label="10060" default="false"/>
+ <category label="32000"><!-- General -->
+ <setting id="username" type="text" label="32002" default="" />
+ <setting id="api_key" type="text" label="32003" default="" />
+ <setting id="offline" type="bool" label="32007" default="false" />
+ <setting id="debug" type="bool" label="32008" default="false" />
</category>
- <category label="10002"><!-- Scrobbling -->
- <setting id="scrobble_movie" type="bool" label="10013" default="true"/>
- <setting id="scrobble_episode" type="bool" label="10014"
default="true"/>
- <setting id="scrobble_min_view_time" type="slider" label="10015"
range="0,5,100" default="85"/>
+ <category label="32001"><!-- Scrobbling -->
+ <setting id="scrobble_movie" type="bool" label="32004" default="true"
/>
+ <setting id="scrobble_episode" type="bool" label="32005"
default="true" />
+ <setting id="scrobble_min_view_time" type="slider" label="32006"
range="0,5,100" default="85" />
</category>
</settings>
diff --git a/script.episodeHunter/sync.py b/script.episodeHunter/sync.py
index eb0a239..45e1dab 100644
--- a/script.episodeHunter/sync.py
+++ b/script.episodeHunter/sync.py
@@ -17,7 +17,7 @@ def syncSeenMovies(gui=True):
if gui:
progress = xbmcgui.DialogProgress()
- progress.create(_name, _language(10038)) # "Checking XBMC Database
for new watched Movies"
+ progress.create(_name, _language(32021)) # "Checking XBMC Database
for new watched Movies"
connection = Connection()
@@ -40,7 +40,7 @@ def syncSeenMovies(gui=True):
if gui:
progress.update(100 / num_movies * i)
if progress.iscanceled():
- xbmcgui.Dialog().ok(_name, _language(10039)) # "Progress
Aborted"
+ xbmcgui.Dialog().ok(_name, _language(32022)) # "Progress
Aborted"
break
try:
imdb_id = movie['imdbnumber']
@@ -110,30 +110,30 @@ def syncSeenMovies(gui=True):
if num_seen_movies > 0:
if gui:
- choice = xbmcgui.Dialog().yesno(_name, str(num_seen_movies) + " "
+ _language(10040), set_as_seen_title) # 'Movies will be added as watched on
EpisodeHunter'
+ choice = xbmcgui.Dialog().yesno(_name, str(num_seen_movies) + " "
+ _language(32023), set_as_seen_title) # 'Movies will be added as watched on
EpisodeHunter'
else:
choice = 0
if choice == 1 or choice is True: # I belive
this is OS bedending
- progress.update(50, _language(10065)) # 'Uploading
movies to episodehunter'
+ progress.update(50, _language(32044)) # 'Uploading
movies to episodehunter'
data = connection.setMoviesSeen(set_as_seen)
if data is None:
Debug("Error uploading seen movies: response is None")
if gui:
- xbmcgui.Dialog().ok(_name, _language(10041), "") # 'Error
uploading watched movies'
+ xbmcgui.Dialog().ok(_name, _language(32024), "") # 'Error
uploading watched movies'
elif 'status' in data:
if data['status'] == 400:
Debug("successfully uploaded seen movies")
if gui:
- xbmcgui.Dialog().ok(_name, _language(10058)) #
'Movie sucessfully updated to EpisodeHunter'
+ xbmcgui.Dialog().ok(_name, _language(32040)) #
'Movie sucessfully updated to EpisodeHunter'
elif data['status'] == 300:
Debug("Error uploading seen movies: " + str(data['data']))
if gui:
- xbmcgui.Dialog().ok(_name, _language(10041),
str(data['data'])) # 'Error uploading watched movies'
+ xbmcgui.Dialog().ok(_name, _language(32024),
str(data['data'])) # 'Error uploading watched movies'
else:
if gui:
- xbmcgui.Dialog().ok(_name, _language(10042)) # 'No new watched
movies to update for EpisodeHunter'
+ xbmcgui.Dialog().ok(_name, _language(32025)) # 'No new watched
movies to update for EpisodeHunter'
if gui:
progress.close()
@@ -146,7 +146,7 @@ def syncSeenTVShows(gui=True):
if gui: # Are we syncing in a GUI?
progress = xbmcgui.DialogProgress() # Create a dialog
- progress.create(_name, _language(10047)) # And put a title on it
(Checking XBMC Database for new watched Episodes)
+ progress.create(_name, _language(32030)) # And put a title on it
(Checking XBMC Database for new watched Episodes)
connection = Connection() # Create a connection
@@ -178,7 +178,7 @@ def syncSeenTVShows(gui=True):
if gui:
progress.update(100 / number_tvshows * i)
if progress.iscanceled():
- xbmcgui.Dialog().ok(_name, _language(10039)) # "Progress
Aborted"
+ xbmcgui.Dialog().ok(_name, _language(32022)) # "Progress
Aborted"
break
seasons = getSeasonsFromXBMC(xbmc_tvshow) # Get a list
of seasons
@@ -268,7 +268,7 @@ def syncSeenTVShows(gui=True):
if count > 0:
if gui:
- choice = xbmcgui.Dialog().yesno(_name, str(count) + " " +
_language(10048), set_as_seen_title) # String: Episodes will be added as
watched
+ choice = xbmcgui.Dialog().yesno(_name, str(count) + " " +
_language(32031), set_as_seen_title) # String: Episodes will be added as
watched
else:
choice = 0
@@ -278,7 +278,7 @@ def syncSeenTVShows(gui=True):
n = len(set_as_seen)
i = -1
- progress.update(0, _language(10064)) # Uploading shows to
episodehunter
+ progress.update(0, _language(32043)) # Uploading shows to
episodehunter
for show in set_as_seen:
i += 1
@@ -301,17 +301,17 @@ def syncSeenTVShows(gui=True):
if error is None:
if gui:
- xbmcgui.Dialog().ok(_name, _language(10049)) #
Episodes sucessfully updated to EpisodeHunter
+ xbmcgui.Dialog().ok(_name, _language(32032)) #
Episodes sucessfully updated to EpisodeHunter
else:
- notification(_name, _language(10049)) #
Episodes sucessfully updated to EpisodeHunter
+ notification(_name, _language(32032)) #
Episodes sucessfully updated to EpisodeHunter
else:
if gui:
- xbmcgui.Dialog().ok(_name, _language(10050), error) #
Error uploading watched TVShows
+ xbmcgui.Dialog().ok(_name, _language(32033), error) #
Error uploading watched TVShows
else:
- notification(_name, _language(10050) + str(error)) #
Error uploading watched TVShows
+ notification(_name, _language(32033) + str(error)) #
Error uploading watched TVShows
else:
if gui:
- xbmcgui.Dialog().ok(_name, _language(10051)) #
No new watched episodes in XBMC library to update
+ xbmcgui.Dialog().ok(_name, _language(32034)) #
No new watched episodes in XBMC library to update
if gui:
progress.close()
-----------------------------------------------------------------------
Summary of changes:
script.episodeHunter/README.md | 8 +-
script.episodeHunter/ToDo | 3 +-
script.episodeHunter/addon.py | 2 +-
script.episodeHunter/addon.xml | 10 +-
script.episodeHunter/changelog.txt | 16 ++--
script.episodeHunter/connection.py | 18 ++--
script.episodeHunter/default.py | 2 +-
script.episodeHunter/helper.py | 28 ++++--
.../resources/language/English/strings.xml | 97 ++++++++++----------
script.episodeHunter/resources/settings.xml | 17 ++--
script.episodeHunter/sync.py | 34 ++++----
11 files changed, 125 insertions(+), 110 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights,
analysis and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons