The branch, frodo has been updated
via 2d922ad8c9d0b9fc32a5f3361c3749281839e107 (commit)
from afdbd514635af42d4d346ce7d7190a2591180a25 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=2d922ad8c9d0b9fc32a5f3361c3749281839e107
commit 2d922ad8c9d0b9fc32a5f3361c3749281839e107
Author: Martijn Kaijser <[email protected]>
Date: Thu Jun 6 12:57:42 2013 +0200
[service.xbmc.versioncheck] 0.1.7
diff --git a/service.xbmc.versioncheck/.gitignore
b/service.xbmc.versioncheck/.gitignore
index fa0349c..ebbb77a 100644
--- a/service.xbmc.versioncheck/.gitignore
+++ b/service.xbmc.versioncheck/.gitignore
@@ -3,3 +3,4 @@
.pydevproject
pysrc
*.pyc
+.settings
diff --git a/service.xbmc.versioncheck/addon.xml
b/service.xbmc.versioncheck/addon.xml
index 2c124f8..a68c138 100644
--- a/service.xbmc.versioncheck/addon.xml
+++ b/service.xbmc.versioncheck/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.xbmc.versioncheck"
name="XBMC Version Check"
- version="0.1.6"
+ version="0.1.7"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.addon" version="12.0.0"/>
diff --git a/service.xbmc.versioncheck/changelog.txt
b/service.xbmc.versioncheck/changelog.txt
index 621bc46..07b8cf4 100644
--- a/service.xbmc.versioncheck/changelog.txt
+++ b/service.xbmc.versioncheck/changelog.txt
@@ -1,5 +1,9 @@
+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
@@ -14,4 +18,4 @@ 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/service.xbmc.versioncheck/lib/aptdeamonhandler.py
b/service.xbmc.versioncheck/lib/aptdeamonhandler.py
index af50163..0123127 100644
--- a/service.xbmc.versioncheck/lib/aptdeamonhandler.py
+++ b/service.xbmc.versioncheck/lib/aptdeamonhandler.py
@@ -90,7 +90,7 @@ class AptdeamonHandler:
def upgrade_system(self):
try:
- log("Installing new version")
+ log("Upgrading system")
if self.aptclient.upgrade_system(wait=True) == "exit-success":
return True
except Exception as error:
diff --git a/service.xbmc.versioncheck/lib/common.py
b/service.xbmc.versioncheck/lib/common.py
index 6bf8c15..5579e6f 100644
--- a/service.xbmc.versioncheck/lib/common.py
+++ b/service.xbmc.versioncheck/lib/common.py
@@ -48,9 +48,14 @@ def message_upgrade_success():
__icon__))
def message_restart():
- if xbmcgui.Dialog().yesno(__addonname__, __localize__(32014)):
+ 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):
@@ -67,17 +72,14 @@ def upgrade_message(msg, upgrade):
__localize__(32001),
__localize__(32002))
# sets check to false which is checked on startup
- if xbmcgui.Dialog().yesno(__addonname__,
- __localize__(32009),
- __localize__(32010)):
+ 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:
- log(__localize__(32001) + '' + __localize__(32002))
if upgrade:
- return xbmcgui.Dialog().yesno(__addonname__, __localize__(msg))
+ return dialog_yesno(msg)
else:
xbmc.executebuiltin("XBMC.Notification(%s, %s, %d, %s)"
%(__addonname__,
__localize__(32001) + '' + __localize__(32002),
diff --git a/service.xbmc.versioncheck/lib/shellhandlerapt.py
b/service.xbmc.versioncheck/lib/shellhandlerapt.py
index d745a96..f539fee 100644
--- a/service.xbmc.versioncheck/lib/shellhandlerapt.py
+++ b/service.xbmc.versioncheck/lib/shellhandlerapt.py
@@ -31,19 +31,21 @@ class ShellHandlerApt:
def __init__(self, usesudo=False):
self.sudo = usesudo
-
-
- def _check_versions(self, package):
+ 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 not self._update_cache():
+ if update and not self._update_cache():
return False, False
try:
- if self.sudo:
- result = check_output('echo \'%s\' | sudo -S %s'
%(self._getpassword(), _cmd), shell=True).split("\n")
- else:
- result = check_output([_cmd], shell=True).split("\n")
+ 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
@@ -51,6 +53,10 @@ class ShellHandlerApt:
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")
@@ -102,10 +108,11 @@ class ShellHandlerApt:
def upgrade_system(self):
_cmd = "apt-get upgrade -y"
try:
+ log("Upgrading system")
if self.sudo:
- x = check_output('echo \'%s\' | sudo -S %s' %(pwd, cmd),
shell=True)
+ x = check_output('echo \'%s\' | sudo -S %s'
%(self._getpassword(), _cmd), shell=True)
else:
- x = check_output(cmd.split())
+ x = check_output(_cmd.split())
except Exception as error:
log("Exception while executing shell command %s: %s" %(_cmd,
error))
return False
diff --git a/service.xbmc.versioncheck/lib/versions.py
b/service.xbmc.versioncheck/lib/versions.py
index 8c1de62..50c40bb 100644
--- a/service.xbmc.versioncheck/lib/versions.py
+++ b/service.xbmc.versioncheck/lib/versions.py
@@ -83,8 +83,10 @@ def compare_version(version_installed, versionlist):
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/service.xbmc.versioncheck/resources/language/English/strings.po
b/service.xbmc.versioncheck/resources/language/English/strings.po
index 89cc8d6..3df5d56 100644
--- a/service.xbmc.versioncheck/resources/language/English/strings.po
+++ b/service.xbmc.versioncheck/resources/language/English/strings.po
@@ -73,7 +73,7 @@ msgid "Do you want to restart Xbmc to finish the upgrade?"
msgstr ""
msgctxt "#32015"
-msgid "Do you want to check for a new version?"
+msgid "Do you want to check the repository for a new version?"
msgstr ""
msgctxt "#32020"
@@ -86,4 +86,8 @@ msgstr ""
msgctxt "#32022"
msgid "Please enter your password"
+msgstr ""
+
+msgctxt "#32023"
+msgid "Linux: Upgrade complete system"
msgstr ""
\ No newline at end of file
diff --git a/service.xbmc.versioncheck/resources/settings.xml
b/service.xbmc.versioncheck/resources/settings.xml
index f4efe60..b72c184 100644
--- a/service.xbmc.versioncheck/resources/settings.xml
+++ b/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/service.xbmc.versioncheck/resources/versions.txt
b/service.xbmc.versioncheck/resources/versions.txt
index 6229d4e..b564de2 100644
--- a/service.xbmc.versioncheck/resources/versions.txt
+++ b/service.xbmc.versioncheck/resources/versions.txt
@@ -140,6 +140,13 @@
"major": "13",
"minor": "0",
"tag": "prealpha",
+ "revision": "20130531-0ccc594",
+ "extrainfo": "alpha4"
+ },
+ {
+ "major": "13",
+ "minor": "0",
+ "tag": "prealpha",
"revision": "20130430-e8fe5cf",
"extrainfo": "alpha3"
},
diff --git a/service.xbmc.versioncheck/service.py
b/service.xbmc.versioncheck/service.py
index 977f583..fd89677 100644
--- a/service.xbmc.versioncheck/service.py
+++ b/service.xbmc.versioncheck/service.py
@@ -21,7 +21,7 @@
import platform
import xbmc
import lib.common
-from lib.common import log
+from lib.common import log, dialog_yesno
from lib.common import upgrade_message as _upgrademessage
__addon__ = lib.common.__addon__
@@ -43,7 +43,7 @@ class Main:
elif sys.argv[0] and sys.argv[1] == 'started':
if xbmc.getCondVisibility('System.Platform.Linux'):
packages = ['xbmc']
- # _versionchecklinux(packages)
+ _versionchecklinux(packages)
else:
oldversion, msg = _versioncheck()
if oldversion:
@@ -65,7 +65,9 @@ def _versioncheck():
def _versionchecklinux(packages):
- if (platform.dist()[0] == "Ubuntu" or platform.dist()[0] == "Debian"):
+ if platform.dist()[0].lower() in ['ubuntu', 'debian', 'linuxmint']:
+ handler = False
+ result = False
try:
# try aptdeamon first
from lib.aptdeamonhandler import AptdeamonHandler
@@ -73,25 +75,35 @@ def _versionchecklinux(packages):
except:
# fallback to shell
# since we need the user password, ask to check for new version
first
- if _upgrademessage(32015, True):
- from lib.shellhandlerapt import ShellHandlerApt
- sudo = True
- handler = ShellHandlerApt(sudo)
+ 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)
- if handler:
- if handler.check_upgrade_available(packages[0]):
- if _upgrademessage(32012, True):
- if handler.upgrade_package(packages[0]):
- from lib.common import message_upgrade_success,
message_restart
- message_upgrade_success()
- message_restart()
- else:
- log("Error: no handler found")
-
if (__name__ == "__main__"):
-----------------------------------------------------------------------
Summary of changes:
service.xbmc.versioncheck/.gitignore | 1 +
service.xbmc.versioncheck/addon.xml | 2 +-
service.xbmc.versioncheck/changelog.txt | 6 ++-
service.xbmc.versioncheck/lib/aptdeamonhandler.py | 2 +-
service.xbmc.versioncheck/lib/common.py | 14 +++---
service.xbmc.versioncheck/lib/shellhandlerapt.py | 27 +++++++----
service.xbmc.versioncheck/lib/versions.py | 2 +
.../resources/language/English/strings.po | 6 ++-
service.xbmc.versioncheck/resources/settings.xml | 1 +
service.xbmc.versioncheck/resources/versions.txt | 7 +++
service.xbmc.versioncheck/service.py | 46 ++++++++++++-------
11 files changed, 77 insertions(+), 37 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons