Compare commits

...
42 Commits
Author SHA1 Message Date
Ruud 6772b9d965 Don't migrate when db is closed 2014-07-17 23:09:26 +02:00
Ruud 5df14d67e1 One up 2014-07-17 22:28:32 +02:00
Ruud 73abd1f022 Merge branch 'refs/heads/master' into desktop 2014-07-17 22:27:23 +02:00
Ruud e75a8529c9 Try fix migration failure from 2.5.1 2014-07-17 22:26:23 +02:00
Ruud 07a7f8cbcf Change fanart api url 2014-07-16 10:32:02 +02:00
Ruud 9b35a0fb20 Only trigger onClose when it's set 2014-07-08 21:21:22 +02:00
Ruud 0622e6e5ab One up 2014-06-29 23:16:09 +02:00
Ruud f16931906f Don't remove pyc files when using desktop updater 2014-06-29 23:15:36 +02:00
Ruud 45b2dff6d2 Merge branch 'refs/heads/develop' 2014-06-29 11:01:09 +02:00
Ruud 30d56b5d2c Merge branch 'refs/heads/develop' 2014-06-29 00:02:55 +02:00
Ruud 5ff6824ae9 Merge branch 'refs/heads/develop' 2014-06-25 18:26:10 +02:00
Ruud 0210859155 Merge branch 'refs/heads/develop' 2014-06-25 09:17:12 +02:00
Ruud 665478db13 Merge branch 'refs/heads/develop' 2014-06-23 23:45:03 +02:00
Ruud 84c366ab54 Merge branch 'master' of github.com:RuudBurger/CouchPotatoServer 2014-06-23 20:47:30 +02:00
Ruud 908e5eae77 Merge branch 'refs/heads/develop' 2014-06-23 20:47:06 +02:00
Ruud 1d448f3d9c Merge branch 'refs/heads/develop' 2014-06-23 14:29:20 +02:00
Ruud 338b5f427a Merge branch 'refs/heads/develop' 2014-06-23 13:37:50 +02:00
Ruud 59e3e73c4c Merge branch 'refs/heads/develop' 2014-06-23 01:19:05 +02:00
Ruud cb2614127c Merge branch 'refs/heads/develop' 2014-06-22 21:14:44 +02:00
Ruud fdbd826917 Merge branch 'refs/heads/develop' 2014-06-22 20:35:30 +02:00
Ruud 31daf4915e Merge branch 'refs/heads/develop' 2014-06-20 21:31:48 +02:00
Ruud 4ca7691afd Merge branch 'refs/heads/develop' 2014-06-20 21:08:33 +02:00
Ruud 64d3ecd9b8 Merge branch 'refs/heads/develop' 2014-06-20 14:52:15 +02:00
Ruud d55df3240f Merge branch 'refs/heads/develop' 2014-06-20 14:14:26 +02:00
Ruud 52214e4938 Merge branch 'refs/heads/develop' 2014-06-20 12:22:13 +02:00
Ruud b45307e493 Merge branch 'refs/heads/develop' 2014-06-11 23:51:05 +02:00
Ruud 4320369448 Merge branch 'refs/heads/develop' 2014-06-11 10:15:31 +02:00
Ruud f560dc093c Merge branch 'refs/heads/develop' 2014-06-10 22:54:14 +02:00
Ruud d26a2b1480 Merge branch 'refs/heads/develop' 2014-06-07 20:44:49 +02:00
Ruud e11b07b559 Don't save profile order twice 2014-06-06 17:26:45 +02:00
Ruud b6ee8ef4d4 Merge branch 'refs/heads/develop' 2014-06-06 11:24:24 +02:00
Ruud f80559d380 Merge branch 'refs/heads/develop' 2014-06-03 22:31:20 +02:00
Ruud 8530b00e7b Merge branch 'refs/heads/develop' 2014-06-03 17:18:11 +02:00
Ruud 5851e1e69f Merge branch 'refs/heads/develop' 2014-06-02 23:51:01 +02:00
Ruud 686bfd62eb Merge branch 'refs/heads/develop' 2014-06-02 15:10:29 +02:00
Ruud 9b82603c26 Merge branch 'refs/heads/develop' 2014-06-02 14:20:50 +02:00
Ruud f41792915f Merge branch 'refs/heads/develop' 2014-06-02 12:59:47 +02:00
Ruud 2fa77fb610 Merge branch 'refs/heads/develop' 2014-06-02 10:40:07 +02:00
Ruud e64d0e33fc Merge branch 'refs/heads/develop' 2014-06-01 14:31:39 +02:00
Ruud b168643600 Merge branch 'refs/heads/develop'
Conflicts:
	couchpotato/core/helpers/variable.py
2014-05-31 22:50:02 +02:00
Ruud 240283405e variable 'year' referenced before assignment 2014-05-07 11:50:36 +02:00
Ruud b69f8b7ed5 Files not properly send to sabnzbd 2014-03-19 22:33:14 +01:00
7 changed files with 54 additions and 12 deletions
+4 -1
View File
@@ -163,6 +163,7 @@ class CouchPotatoApp(wx.App, SoftwareUpdate):
events = {} events = {}
restart = False restart = False
closing = False closing = False
triggered_onClose = False
def OnInit(self): def OnInit(self):
@@ -198,7 +199,9 @@ class CouchPotatoApp(wx.App, SoftwareUpdate):
self.closing = True self.closing = True
self.frame.tbicon.onTaskBarClose(event) self.frame.tbicon.onTaskBarClose(event)
onClose = self.events.get('onClose') onClose = self.events.get('onClose')
if onClose and not self.triggered_onClose:
self.triggered_onClose = True
onClose(event) onClose(event)
def afterShutdown(self, restart = False): def afterShutdown(self, restart = False):
+1 -1
View File
@@ -143,7 +143,7 @@ class Updater(Plugin):
} }
def doShutdown(self, *args, **kwargs): def doShutdown(self, *args, **kwargs):
if not Env.get('dev'): if not Env.get('dev') and not Env.get('desktop'):
removePyc(Env.get('app_dir'), show_logs = False) removePyc(Env.get('app_dir'), show_logs = False)
return super(Updater, self).doShutdown(*args, **kwargs) return super(Updater, self).doShutdown(*args, **kwargs)
+32 -1
View File
@@ -3,10 +3,11 @@ import os
import time import time
import traceback import traceback
from CodernityDB.database import RecordNotFound
from CodernityDB.index import IndexException, IndexNotFoundException, IndexConflict from CodernityDB.index import IndexException, IndexNotFoundException, IndexConflict
from couchpotato import CPLog from couchpotato import CPLog
from couchpotato.api import addApiView from couchpotato.api import addApiView
from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.event import addEvent, fireEvent, fireEventAsync
from couchpotato.core.helpers.encoding import toUnicode, sp from couchpotato.core.helpers.encoding import toUnicode, sp
from couchpotato.core.helpers.variable import getImdb, tryInt from couchpotato.core.helpers.variable import getImdb, tryInt
@@ -226,6 +227,34 @@ class Database(object):
from couchpotato import Env from couchpotato import Env
db = self.getDB() db = self.getDB()
# Try fix for migration failures on desktop
if Env.get('desktop'):
try:
list(db.all('profile', with_doc = True))
except RecordNotFound:
failed_location = '%s_failed' % db.path
old_db = os.path.join(Env.get('data_dir'), 'couchpotato.db.old')
if not os.path.isdir(failed_location) and os.path.isfile(old_db):
log.error('Corrupt database, trying migrate again')
db.close()
# Rename database folder
os.rename(db.path, '%s_failed' % db.path)
# Rename .old database to try another migrate
os.rename(old_db, old_db[:-4])
fireEventAsync('app.restart')
else:
log.error('Migration failed and couldn\'t recover database. Please report on GitHub, with this message.')
db.reindex()
return
# Check size and compact if needed
size = db.get_db_details().get('size') size = db.get_db_details().get('size')
prop_name = 'last_db_compact' prop_name = 'last_db_compact'
last_check = int(Env.prop(prop_name, default = 0)) last_check = int(Env.prop(prop_name, default = 0))
@@ -303,6 +332,8 @@ class Database(object):
log.info('Getting data took %s', time.time() - migrate_start) log.info('Getting data took %s', time.time() - migrate_start)
db = self.getDB() db = self.getDB()
if not db.opened:
return
# Use properties # Use properties
properties = migrate_data['properties'] properties = migrate_data['properties']
@@ -14,7 +14,7 @@ autoload = 'FanartTV'
class FanartTV(MovieProvider): class FanartTV(MovieProvider):
urls = { urls = {
'api': 'http://api.fanart.tv/webservice/movie/b28b14e9be662e027cfbc7c3dd600405/%s/JSON/all/1/2' 'api': 'http://webservice.fanart.tv/v3/movies/%s?api_key=b28b14e9be662e027cfbc7c3dd600405'
} }
MAX_EXTRAFANART = 20 MAX_EXTRAFANART = 20
@@ -36,9 +36,8 @@ class FanartTV(MovieProvider):
fanart_data = self.getJsonData(url) fanart_data = self.getJsonData(url)
if fanart_data: if fanart_data:
name, resource = fanart_data.items()[0] log.debug('Found images for %s', fanart_data.get('name'))
log.debug('Found images for %s', name) images = self._parseMovie(fanart_data)
images = self._parseMovie(resource)
except: except:
log.error('Failed getting extra art for %s: %s', log.error('Failed getting extra art for %s: %s',
@@ -95,7 +94,7 @@ class FanartTV(MovieProvider):
for image in images: for image in images:
if tryInt(image.get('likes')) > highscore: if tryInt(image.get('likes')) > highscore:
highscore = tryInt(image.get('likes')) highscore = tryInt(image.get('likes'))
image_url = image.get('url') image_url = image.get('url') or image.get('href')
return image_url return image_url
@@ -118,7 +117,9 @@ class FanartTV(MovieProvider):
if tryInt(image.get('likes')) > highscore: if tryInt(image.get('likes')) > highscore:
highscore = tryInt(image.get('likes')) highscore = tryInt(image.get('likes'))
best = image best = image
image_urls.append(best.get('url')) url = best.get('url') or best.get('href')
if url:
image_urls.append(url)
pool.remove(best) pool.remove(best)
return image_urls return image_urls
+7
View File
@@ -87,6 +87,13 @@ def runCouchPotato(options, base_path, args, data_dir = None, log_dir = None, En
# Do db stuff # Do db stuff
db_path = sp(os.path.join(data_dir, 'database')) db_path = sp(os.path.join(data_dir, 'database'))
old_db_path = os.path.join(data_dir, 'couchpotato.db')
# Remove database folder if both exists
if os.path.isdir(db_path) and os.path.isfile(old_db_path):
db = SuperThreadSafeDatabase(db_path)
db.open()
db.destroy()
# Check if database exists # Check if database exists
db = SuperThreadSafeDatabase(db_path) db = SuperThreadSafeDatabase(db_path)
+2 -2
View File
@@ -1,6 +1,6 @@
#define MyAppName "CouchPotato" #define MyAppName "CouchPotato"
#define MyAppVer "2.5.0" #define MyAppVer "2.5.2"
#define MyAppBit "win32" #define MyAppBit "win32"
//#define MyAppBit "win-amd64" //#define MyAppBit "win-amd64"
[Setup] [Setup]
+1 -1
View File
@@ -1,2 +1,2 @@
VERSION = '2.5.0' VERSION = '2.5.2'
BRANCH = 'desktop' BRANCH = 'desktop'