Browse Source

Updater version

pull/152/head
Ruud 13 years ago
parent
commit
b944cc610d
  1. 19
      couchpotato/core/_base/_core/main.py
  2. 6
      couchpotato/core/_base/updater/main.py

19
couchpotato/core/_base/_core/main.py

@ -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
couchpotato/core/_base/updater/main.py

@ -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())

Loading…
Cancel
Save