Updater version

This commit is contained in:
Ruud committed 2012-04-22 16:56:04 +02:00
1 parent d627662038
commit b944cc610d
2 files changed
+25

No files matched your search

+19
View File
@@ -8,6 +8,7 @@ from couchpotato.environment import Env
from flask import request from flask import request
from uuid import uuid4 from uuid import uuid4
import os import os
import platform
import time import time
import traceback import traceback
import webbrowser import webbrowser
@@ -32,12 +33,16 @@ class Core(Plugin):
addApiView('app.available', self.available, docs = { addApiView('app.available', self.available, docs = {
'desc': 'Check if app available.' 'desc': 'Check if app available.'
}) })
addApiView('app.version', self.versionView, docs = {
'desc': 'Get version.'
})
addEvent('app.crappy_shutdown', self.crappyShutdown) addEvent('app.crappy_shutdown', self.crappyShutdown)
addEvent('app.crappy_restart', self.crappyRestart) addEvent('app.crappy_restart', self.crappyRestart)
addEvent('app.load', self.launchBrowser, priority = 1) addEvent('app.load', self.launchBrowser, priority = 1)
addEvent('app.base_url', self.createBaseUrl) addEvent('app.base_url', self.createBaseUrl)
addEvent('app.api_url', self.createApiUrl) addEvent('app.api_url', self.createApiUrl)
addEvent('app.version', self.version)
addEvent('setting.save.core.password', self.md5Password) addEvent('setting.save.core.password', self.md5Password)
addEvent('setting.save.core.api_key', self.checkApikey) addEvent('setting.save.core.api_key', self.checkApikey)
@@ -161,3 +166,17 @@ class Core(Plugin):
def createApiUrl(self): def createApiUrl(self):
return '%s/%s' % (self.createBaseUrl(), Env.setting('api_key')) return '%s/%s' % (self.createBaseUrl(), Env.setting('api_key'))
def version(self):
ver = fireEvent('updater.info', single = True)
if os.name == 'nt': platf = 'windows'
elif 'Darwin' in platform.platform(): platf = 'osx'
else: platf = 'linux'
return '%s - %s-%s - v2' % (platf, ver.get('version')['type'], ver.get('version')['hash'])
def versionView(self):
return jsonified({
'version': self.version()
})
+6
View File
@@ -28,6 +28,7 @@ class Updater(Plugin):
fireEvent('schedule.interval', 'updater.check', self.check, hours = 6) fireEvent('schedule.interval', 'updater.check', self.check, hours = 6)
addEvent('app.load', self.check) addEvent('app.load', self.check)
addEvent('updater.info', self.info)
addApiView('updater.info', self.getInfo, docs = { addApiView('updater.info', self.getInfo, docs = {
'desc': 'Get updater information', 'desc': 'Get updater information',
@@ -57,6 +58,9 @@ class Updater(Plugin):
if self.conf('notification'): if self.conf('notification'):
fireEvent('updater.available', message = 'A new update is available', data = self.updater.getVersion()) fireEvent('updater.available', message = 'A new update is available', data = self.updater.getVersion())
def info(self):
return self.updater.info()
def getInfo(self): def getInfo(self):
return jsonified(self.updater.info()) return jsonified(self.updater.info())
@@ -161,6 +165,7 @@ class GitUpdater(BaseUpdater):
self.version = { self.version = {
'hash': output.hash[:8], 'hash': output.hash[:8],
'date': output.getDate(), 'date': output.getDate(),
'type': 'git',
} }
except Exception, e: except Exception, e:
log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s' % e) log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s' % e)
@@ -320,6 +325,7 @@ class SourceUpdater(BaseUpdater):
return { return {
'hash': commit['sha'], 'hash': commit['sha'],
'date': int(time.mktime(parse(commit['commit']['committer']['date']).timetuple())), 'date': int(time.mktime(parse(commit['commit']['committer']['date']).timetuple())),
'type': 'source',
} }
except: except:
log.error('Failed getting latest request from github: %s' % traceback.format_exc()) log.error('Failed getting latest request from github: %s' % traceback.format_exc())