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 uuid import uuid4
import os
import platform
import time
import traceback
import webbrowser
@ -32,12 +33,16 @@ class Core(Plugin):
addApiView('app.available', self.available, docs = {
'desc': 'Check if app available.'
})
addApiView('app.version', self.versionView, docs = {
'desc': 'Get version.'
})
addEvent('app.crappy_shutdown', self.crappyShutdown)
addEvent('app.crappy_restart', self.crappyRestart)
addEvent('app.load', self.launchBrowser, priority = 1)
addEvent('app.base_url', self.createBaseUrl)
addEvent('app.api_url', self.createApiUrl)
addEvent('app.version', self.version)
addEvent('setting.save.core.password', self.md5Password)
addEvent('setting.save.core.api_key', self.checkApikey)
@ -161,3 +166,17 @@ class Core(Plugin):
def createApiUrl(self):
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)
addEvent('app.load', self.check)
addEvent('updater.info', self.info)
addApiView('updater.info', self.getInfo, docs = {
'desc': 'Get updater information',
@ -57,6 +58,9 @@ class Updater(Plugin):
if self.conf('notification'):
fireEvent('updater.available', message = 'A new update is available', data = self.updater.getVersion())
def info(self):
return self.updater.info()
def getInfo(self):
return jsonified(self.updater.info())
@ -161,6 +165,7 @@ class GitUpdater(BaseUpdater):
self.version = {
'hash': output.hash[:8],
'date': output.getDate(),
'type': 'git',
}
except Exception, 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 {
'hash': commit['sha'],
'date': int(time.mktime(parse(commit['commit']['committer']['date']).timetuple())),
'type': 'source',
}
except:
log.error('Failed getting latest request from github: %s' % traceback.format_exc())

Loading…
Cancel
Save