The branch, eden has been updated
via 58ebaf2b0287911b99767b19d277844dd1167b02 (commit)
from b61d2061366110ca92cc124d64f810d5d16fd58e (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=58ebaf2b0287911b99767b19d277844dd1167b02
commit 58ebaf2b0287911b99767b19d277844dd1167b02
Author: Martijn Kaijser <[email protected]>
Date: Wed Jan 30 18:52:02 2013 +0100
[script.speedfaninfo] 0.5.1
diff --git a/script.speedfaninfo/CHANGELOG.txt
b/script.speedfaninfo/CHANGELOG.txt
index cbf8630..dd19d10 100644
--- a/script.speedfaninfo/CHANGELOG.txt
+++ b/script.speedfaninfo/CHANGELOG.txt
@@ -1,35 +1,43 @@
-0.3.5 11/21/2012
+v.0.4.1
+- added compact display option
+- added logic to keep script from being started multiple times
+- updated language files from Transifex
+
+v.0.4.0
+- updated language files from Transifex
+
+v.0.3.5
-changed the way the degree sign is displayed as old way didn't work either on
OSX or with Frodo (not sure which)
-included new language files for XBMC Frodo and added addon to transifex
translation engine
-0.3.4 03/03/2012
+v.0.3.4
-added support for languages that use comma as the ordinal separator for
decimals
-0.3.3 02/10/2012
+v.0.3.3
-First public release
-Added visual notice if there is no log file location defined or no log file
in the defined location
-Fixed a typo in one of the verbose logging outputs
-added a README file with instructions on how to setup the SpeedFan log file
-0.3.2 02/03/2012
+v.0.3.2
-Fixed issue with voltage headings not displaying correctly. Required a
change in the way you format the SpeedFan log, but since nobody is using it at
this point but me, it doesn't matter. '-)
-Fixed the way the setting.xml passes the temperature scale to default.py so
that the code is a little easier to read.
-0.3.1 02/02/2012
+v.0.3.1
-Fixes to logging engine
-Updated display XML to be skin independent (mostly having to do with font
settings)
-Moved all text strings into language file so that the plugin can be localized
-Added icon
-0.3.0 01/31/2012
+v.0.3.0
-Implemented new logging engine to make it easier to have a basic log for day
to day use and full log for troubleshooting
-updated code to make better use of boolean objects
-0.2.0 01/30/2012
+v.0.2.0
-Added ability to update screen based on arbitary interval (set by user)
-0.1.1 01/29/2012
+v.0.1.1
-Fixed some code issues that caused the script not to work on Windows (that's
what you get when you develop on a Mac and deploy to Windows)
-0.1.0 01/28/2012
+v.0.1.0
-Initial internal release
\ No newline at end of file
diff --git a/script.speedfaninfo/addon.xml b/script.speedfaninfo/addon.xml
index cb30ab8..c430c40 100644
--- a/script.speedfaninfo/addon.xml
+++ b/script.speedfaninfo/addon.xml
@@ -1,15 +1,39 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.speedfaninfo"
- name="SpeedFan Information Display" version="0.3.5"
provider-name="kylejohnson (pkscuot)">
- <requires>
- <import addon="xbmc.python" version="2.0"/>
- </requires>
- <extension point="xbmc.python.script" library="default.py">
- <provides>executable</provides>
- </extension>
- <extension point="xbmc.addon.metadata">
- <summary lang="en">Display information from your SpeedFan log.</summary>
- <description lang="en">Parses and displays information from the SpeedFan
log. While this plugin works on any platform, SpeedFan only works on Windows,
so it is optimally built for people using XBMC on Windows. Please see
readme.txt for information on how to configure your SpeedFan log so that the
plugin can parse it properly.</description>
- <platform>all</platform>
- </extension>
-</addon>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="script.speedfaninfo"
+ name="SpeedFan Information Display" version="0.4.1"
provider-name="kylejohnson (pkscuot)">
+ <requires>
+ <import addon="xbmc.python" version="2.0"/>
+ </requires>
+ <extension point="xbmc.python.script" library="default.py">
+ <provides>executable</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="be">Display information from your SpeedFan log.</summary>
+ <summary lang="da">Vis information fra din SpeedFan log.</summary>
+ <summary lang="de">Zeige Informationen aus deinem SpeedFan Log.</summary>
+ <summary lang="el">Î Ïοβολή ÏληÏοÏοÏιÏν αÏÏ Ïο
αÏÏείο καÏαγÏαÏÎ®Ï ÏοÏ
SpeedFan.</summary>
+ <summary lang="en">Display information from your SpeedFan log.</summary>
+ <summary lang="es">Muestra información del log de SpeedFan</summary>
+ <summary lang="es_MX">Muestra información desde tu log de
SpeedFan</summary>
+ <summary lang="he">××¦× ××× ×¢× ×××× ×¨×ש×× ×××ר×ת
××××רר</summary>
+ <summary lang="hu">Ventilátor-sebesség napló megjelenÃtése</summary>
+ <summary lang="pl">WyÅwietla infromacje z dziennika SpeedFan</summary>
+ <summary lang="pt">Exibe informação do seu log do Speedfan.</summary>
+ <summary lang="pt_BR">Mostrar informações de seu log SpeedFan</summary>
+ <summary lang="sv">Visar information från din SpeedFan logg.</summary>
+ <description lang="be">Parses and displays information from the SpeedFan
log. While this plugin works on any platform, SpeedFan only works on Windows,
so it is optimally built for people using XBMC on Windows. Please see
readme.txt for information on how to configure your SpeedFan log so that the
plugin can parse it properly.</description>
+ <description lang="da">Henter og viser information fra SpeedFan log'en.
Selvom dette plugin virker på alle platforme, fungerer SpeedFan kun i Windows,
så det er skabt for folk, som kører XBMC på Windows. Se venligst readme.txt
for information om hvordan du opsætter din SpeedFan log, så plugin'et kan
læse den korrekt.</description>
+ <description lang="de">Analysiert und zeigt Informationen vom SpeedFan
log. Während dieses Plugin auf allen Plattformen funktioniert, läuft SpeedFan
nur unter Windows, also ist es optimal für, die, die XBMC unter Windows
nutzen. Bitte lieà die readme.txt für Informationen, wie SpeedFan
konfiguriert werden muss, dass das Plugin den Log korrekt analysieren
kann.</description>
+ <description lang="el">ÎναλÏει και ÏÏοβάλλει
ÏληÏοÏοÏÎ¯ÎµÏ Î±ÏÏ Ïο αÏÏείο καÏαγÏαÏÎ®Ï ÏοÏ
SpeedFan. ÎÎ½Ï Î±Ï
ÏÏ Ïο plugin δοÏ
λεÏει Ïε
οÏοιαδήÏοÏε ÏλαÏÏÏÏμα, Ïο SpeedFan δοÏ
λεÏει
μÏνο Ïε Windows, ÏÏ
νεÏÏÏ ÎµÎ¯Î½Î±Î¹ ÏÏιαγμÎνο για
ανθÏÏÏοÏ
Ï ÏοÏ
ÏÏηÏιμοÏοιοÏν Ïο XBMC Ïε Windows.
ÎείÏε Ïο readme.txt για ÏληÏοÏοÏÎ¯ÎµÏ ÏÏεÏικά με
Ïη ÏÏθμιÏη ÏοÏ
αÏÏείοÏ
καÏαγÏαÏÎ®Ï ÏοÏ
SpeedFan
οÏÏÏÏ ÏÏÏε Ïο plugin να μÏοÏÎÏει να Ïο
αναλÏÏει ÏÏÏÏά.</description>
+ <description lang="en">Parses and displays information from the SpeedFan
log. While this plugin works on any platform, SpeedFan only works on Windows,
so it is optimally built for people using XBMC on Windows. Please see
readme.txt for information on how to configure your SpeedFan log so that the
plugin can parse it properly.</description>
+ <description lang="es">Analiza y muestra información del log de SpeedFan.
Aunque este complemento funciona en cualquier plataforma, Speedfan sólo
funciona en Windows, por lo que está optimizado para el público que utiliza
XBMC en Windows. Por favor, lea el fichero readme.txt para obtener información
de cómo configurar el log de SpeedFan, de forma que el complemento la
interprete correctamente.</description>
+ <description lang="es_MX">Parsea y muestra información desde el log de
SpeedFan. Mientras este plugin funciona en cualquier plataforma, SpeedFan
funciona solamente en Windows, asà que está construido de manera óptima para
personas que usan XBMC en Windows. Para información en como configurar el log
de SpeedFan para que el plugin pueda parsearlo de manera adecuada, revisar
readme.txt.</description>
+ <description lang="he">××¢×× ××צ×× ××××¢ ××××× ×¨×ש××
××××רר. ×××× ×©×ª×סף ×× ×¢××× ×¢× ×× ×¤××פ×ר××
ר×ש×× ×××ר×ת ××××רר ×¢××× ×¨×§ ×¢× ×ער××ת
×××סס×ת ××× ××ס,×× ×©×ª×סף ×× × ×× × ×¢××ר ×ער××ת
XBMC ×××סס×ת ××× ××ס, ×××§×©× ×§×¨× ×§×××¥ readme.txt
×××××¢ × ×סף ×¢× ×××¦× ×××××ר ר×ש×× ××××ר×ת
××××רר ×× ×©×ת×סף ×××× ××¢×× ×ת ×××××¢ × ×××
×.</description>
+ <description lang="hu">Feldolgozza és megjelenÃti a
ventilátor-sebesség napló adatait. Habár ez a plugin működik az összes
platformon, a SpeedFan csak Windowson fut. Ezért ez a plugin elsÅsorban az
XBMC-t Windowson futtató felhasználóknak készült. Annak érdekében, hogy
az információkat megfelelÅen dolgozzuk fel, olvassa el a readme.txt fájlt,
hogy SpeedFan naplót megfelelÅen beállÃthassa.</description>
+ <description lang="pl">Analizuje i wyÅwietla informacje z dziennika
SpeedFan. Podczas gdy ten plugin dziaÅa na każdej platformie, SpeedFan
dziaÅa tylko na Windowsie, wiÄc optymalne jest to by korzystaÄ z niego tylko
na tej platformie. ProszÄ zobaczyÄ readme.txt sÄ
tam informacje jak
skonfigurowaÄ dziennik SpeedFan tak żeby wtyczka mogÅÄ
analizowaÄ go
prawidÅowo.</description>
+ <description lang="pt">Recolhe e exibe informação do log do Speedfan.
Apesar deste plugin funcionar em qualquer plataforma, o Speedfan apenas
funciona no Windows. Por favor verifique o readme.txt para obter informação
sobre como configurar o seu log do Speedfan, para o plugin poder analisá-lo
correctamente.</description>
+ <description lang="pt_BR">Analisa e apresenta a informação de log
SpeedFan. Embora este plugin funciona em qualquer plataforma, SpeedFan só
funciona no Windows, por isso é construÃdo para as pessoas que utilizam o
XBMC no Windows. Por favor, veja readme.txt para obter informações sobre como
configurar o log SpeedFan para que o plugin possa analisá-lo
corretamente.</description>
+ <description lang="sv">Analyserar och visar information från SpeedFan
loggen. Trots att detta tillägg fungerar på alla plattformar, fungerar
SpeedFan endast på Windows, så det är optimerat för folk som använder XBMC
på Windows. Läs readme.txt för mer information hur du konfigurerar din
SpeedFan logg så att tillägget kan analysera det riktigt.</description>
+ <platform>all</platform>
+ </extension>
+</addon>
diff --git a/script.speedfaninfo/default.py b/script.speedfaninfo/default.py
index 1b2756b..bf676a2 100644
--- a/script.speedfaninfo/default.py
+++ b/script.speedfaninfo/default.py
@@ -12,6 +12,7 @@ __author__ = __addon__.getAddonInfo('author')
__version__ = __addon__.getAddonInfo('version')
__addonpath__ = __addon__.getAddonInfo('path')
__addondir__ = xbmc.translatePath( __addon__.getAddonInfo('profile') )
+__addonicon__ = xbmc.translatePath('%s/icon.png' % __addonpath__
).decode("utf-8")
__icon__ = __addon__.getAddonInfo('icon')
__localize__ = __addon__.getLocalizedString
@@ -32,7 +33,7 @@ class SpeedFanInfoWindow(xbmcgui.WindowXMLDialog):
def __init__(self, *args, **kwargs):
# and define it as self
lw.log('running __init__ from SpeedFanInfoWindow class', 'verbose')
-
+
def onInit(self):
#tell the object to go read the log file, parse it, and put it into
listitems for the XML
lw.log('running inInit from SpeedFanInfoWindow class', 'verbose')
@@ -54,6 +55,7 @@ class SpeedFanInfoWindow(xbmcgui.WindowXMLDialog):
def populateFromLog(self):
#get all this stuff into list info items for the window
+ lw.log('attempting to add info of ' +
xbmcgui.Window(xbmcgui.getCurrentWindowId()).getProperty("panel.compact") ,
'verbose')
lw.log('running populateFromLog from SpeedFanInfoWindow class',
'verbose')
#create new log parser and logger obejects
lw.log('create new LogParser object', 'verbose')
@@ -108,24 +110,31 @@ class SpeedFanInfoWindow(xbmcgui.WindowXMLDialog):
item = xbmcgui.ListItem(label=title)
item.setProperty('istitle','true')
self.getControl(120).addItem(item)
- #now add all the data (we want two columns to make good use of the
page)
- lw.log('add all the data to the two column format', 'verbose')
- nextside = 'left'
- for onething in things:
- if(nextside == 'left'):
- left_label = onething[0]
- left_value = onething[1]
- nextside = 'right'
- else:
- item = xbmcgui.ListItem(label=left_label,label2=onething[0])
+ #now add all the data (we want two columns inf full mode and one
column for compact)
+ if (__addon__.getSetting('show_compact') == "true"):
+ lw.log('add all the data to the one column format', 'verbose')
+ for onething in things:
+ item = xbmcgui.ListItem(label=onething[0],label2='')
+ item.setProperty('value',onething[1])
+ self.getControl(120).addItem(item)
+ else:
+ lw.log('add all the data to the two column format', 'verbose')
+ nextside = 'left'
+ for onething in things:
+ if(nextside == 'left'):
+ left_label = onething[0]
+ left_value = onething[1]
+ nextside = 'right'
+ else:
+ item =
xbmcgui.ListItem(label=left_label,label2=onething[0])
+ item.setProperty('value',left_value)
+ item.setProperty('value2',onething[1])
+ nextside = 'left'
+ self.getControl(120).addItem(item)
+ if(nextside == 'right'):
+ item = xbmcgui.ListItem(label=left_label,label2='')
item.setProperty('value',left_value)
- item.setProperty('value2',onething[1])
- nextside = 'left'
self.getControl(120).addItem(item)
- if(nextside == 'right'):
- item = xbmcgui.ListItem(label=left_label,label2='')
- item.setProperty('value',left_value)
- self.getControl(120).addItem(item)
class LogParser():
def __init__(self):
@@ -148,9 +157,9 @@ class LogParser():
except IOError:
lw.log('no log file found', 'standard')
if(__addon__.getSetting('log_location') == ''):
- xbmc.executebuiltin('XBMC.Notification("Log File Error", "No
log file location defined.", 6000)')
+ xbmc.executebuiltin('XBMC.Notification("Log File Error", "No
log file location defined.", 6000, '+ __addonicon__ +')')
else:
- xbmc.executebuiltin('XBMC.Notification("Log File Error", "No
log file in defined location.", 6000)')
+ xbmc.executebuiltin('XBMC.Notification("Log File Error", "No
log file in defined location.", 6000, ' + __addonicon__ + ')')
return
lw.log('opened logfile ' + log_file, 'verbose')
#get the first and last line of the log file
@@ -258,21 +267,33 @@ def updateWindow(name, w):
w.populateFromLog()
#run the script
-#create a new object to get all the work done
-lw.log('attempting to create main script object', 'verbose')
-w = SpeedFanInfoWindow("speedfaninfo-main.xml", __addonpath__, "Default")
-lw.log('main script object created', 'attempting to create worker thread'
'verbose')
-#create and start a separate thread for the looping process that updates the
window
-t1 = Thread(target=updateWindow,args=("thread 1",w))
-t1.setDaemon(True)
-lw.log('worker thread created', 'attempting to start worker thread' 'verbose')
-t1.start()
-lw.log('worker thread started', 'request window open via doModal', 'verbose')
-#create and open the window
-w.doModal()
-#just some cleanup
-lw.log('attempting to delete main object', 'attempting to delete worker
thread', 'verbose')
-del t1
-del w
-lw.log('main object deleted', 'worker thread deleted', 'exiting script',
'verbose')
-del lw
\ No newline at end of file
+if ( xbmcgui.Window(10000).getProperty("speedfan.running") == "true" ):
+ lw.log('script already running, aborting second run attempt', 'standard')
+ xbmc.executebuiltin('XBMC.Notification("Runtime Error", "Script already
running.", 6000, ' + __addonicon__ + ')')
+else:
+ xbmcgui.Window(10000).setProperty( "speedfan.running", "true" )
+ lw.log('attempting to create main script object', 'verbose')
+ if (__addon__.getSetting('show_compact') == "true"):
+ transparency_image = "speedfan-panel-compact-" +
str(int(round(float(__addon__.getSetting('transparency'))))) + ".png"
+ xbmcgui.Window(10000).setProperty("speedfan.panel.compact",
transparency_image)
+ #create a new object to get all the work done
+ w = SpeedFanInfoWindow("speedfaninfo-compact.xml", __addonpath__,
"Default")
+ else:
+ #create a new object to get all the work done
+ w = SpeedFanInfoWindow("speedfaninfo-main.xml", __addonpath__,
"Default")
+ lw.log('main script object created', 'attempting to create worker thread'
'verbose')
+ #create and start a separate thread for the looping process that updates
the window
+ t1 = Thread(target=updateWindow,args=("thread 1",w))
+ t1.setDaemon(True)
+ lw.log('worker thread created', 'attempting to start worker thread'
'verbose')
+ t1.start()
+ lw.log('worker thread started', 'request window open via doModal',
'verbose')
+ #create and open the window
+ w.doModal()
+ #just some cleanup
+ lw.log('attempting to delete main object', 'attempting to delete worker
thread', 'verbose')
+ del t1
+ del w
+ lw.log('main object deleted', 'worker thread deleted', 'exiting script',
'verbose')
+ del lw
+ xbmcgui.Window(10000).setProperty( "speedfan.running", "false" )
\ No newline at end of file
diff --git a/script.speedfaninfo/resources/language/English/strings.xml
b/script.speedfaninfo/resources/language/English/strings.xml
index 7c3c1c1..f8899c4 100644
--- a/script.speedfaninfo/resources/language/English/strings.xml
+++ b/script.speedfaninfo/resources/language/English/strings.xml
@@ -4,11 +4,12 @@
<!-- Report language file syntax bugs at: [email protected] -->
<strings>
- <!-- Plugin Settings -->
<string id="30000">SpeedFan Log Folder</string>
<string id="30001">Enable Verbose Logging</string>
<string id="30002">Log Temperature Scale</string>
<string id="30003">Window Update Interval (in seconds)</string>
+ <string id="30004">Use Compact Display</string>
+ <string id="30005"> Background Transparency</string>
<string id="30100">Temperature Information</string>
<string id="30101">Fan Speed Information</string>
<string id="30102">Voltage Information</string>
diff --git a/script.speedfaninfo/resources/settings.xml
b/script.speedfaninfo/resources/settings.xml
index 14e2275..266c3f4 100644
--- a/script.speedfaninfo/resources/settings.xml
+++ b/script.speedfaninfo/resources/settings.xml
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settings>
+ <setting id="show_compact" type="bool" label="30004" default="false" />
+ <setting id="transparency" type="slider" label="30005" default="70"
range="10,10,100" visible="eq(-1,true)" enable="eq(-1,true)" option="int" />
<setting id="log_location" type="folder" label="30000" default="" />
<setting id="temp_scale" type="labelenum" label="30002"
values="Celcius|Farenheit" default="0" />
<setting id="update_delay" type ="labelenum" label="30003"
values="10|20|30|40|50|60|90|120|180|240" default="30" />
-----------------------------------------------------------------------
Summary of changes:
script.speedfaninfo/CHANGELOG.txt | 26 ++-
script.speedfaninfo/addon.xml | 54 ++++--
script.speedfaninfo/default.py | 95 ++++++----
.../resources/language/Danish/strings.xml | 16 ++
.../resources/language/English/strings.po | 47 -----
.../resources/language/English/strings.xml | 3 +-
.../resources/language/German/strings.xml | 16 ++
.../resources/language/Greek/strings.xml | 16 ++
.../resources/language/Hungarian/strings.xml | 16 ++
.../resources/language/Italian/strings.xml | 16 ++
.../resources/language/Polish/strings.xml | 16 ++
.../language/Portuguese (Brazil)/strings.xml | 16 ++
.../resources/language/Portuguese/strings.xml | 14 ++
.../resources/language/Slovak/strings.xml | 16 ++
.../resources/language/Spanish/strings.xml | 14 ++
.../resources/language/Swedish/strings.xml | 16 ++
script.speedfaninfo/resources/settings.xml | 2 +
.../skins/Default/720p/speedfaninfo-compact.xml | 184 ++++++++++++++++++++
.../Default/media/speedfan-panel-compact-10.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-100.png | Bin 0 -> 3983 bytes
.../Default/media/speedfan-panel-compact-20.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-30.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-40.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-50.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-60.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-70.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-80.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-90.png | Bin 0 -> 3984 bytes
28 files changed, 474 insertions(+), 109 deletions(-)
create mode 100644 script.speedfaninfo/resources/language/Danish/strings.xml
delete mode 100644 script.speedfaninfo/resources/language/English/strings.po
create mode 100644 script.speedfaninfo/resources/language/German/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Greek/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Hungarian/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Italian/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Polish/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Portuguese
(Brazil)/strings.xml
create mode 100644
script.speedfaninfo/resources/language/Portuguese/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Slovak/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Spanish/strings.xml
create mode 100644 script.speedfaninfo/resources/language/Swedish/strings.xml
create mode 100644
script.speedfaninfo/resources/skins/Default/720p/speedfaninfo-compact.xml
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-10.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-100.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-20.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-30.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-40.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-50.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-60.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-70.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-80.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-90.png
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons