Fix marshal data corrupted documents
This commit is contained in:
@@ -70,28 +70,45 @@ class Release(Plugin):
|
||||
db = get_db()
|
||||
|
||||
# Get (and remove) parentless releases
|
||||
releases = db.all('release', with_doc = True)
|
||||
releases = db.all('release', with_doc = False)
|
||||
media_exist = []
|
||||
reindex = 0
|
||||
for release in releases:
|
||||
if release.get('key') in media_exist:
|
||||
continue
|
||||
|
||||
try:
|
||||
|
||||
try:
|
||||
doc = db.get('id', release.get('_id'))
|
||||
except RecordDeleted:
|
||||
reindex += 1
|
||||
continue
|
||||
|
||||
db.get('id', release.get('key'))
|
||||
media_exist.append(release.get('key'))
|
||||
|
||||
try:
|
||||
if release['doc'].get('status') == 'ignore':
|
||||
release['doc']['status'] = 'ignored'
|
||||
db.update(release['doc'])
|
||||
if doc.get('status') == 'ignore':
|
||||
doc['status'] = 'ignored'
|
||||
db.update(doc)
|
||||
except:
|
||||
log.error('Failed fixing mis-status tag: %s', traceback.format_exc())
|
||||
except ValueError:
|
||||
log.debug('Deleted corrupted document "%s": %s', (release.get('key'), traceback.format_exc(0)))
|
||||
corrupted = db.get('id', release.get('key'), with_storage = False)
|
||||
db._delete_id_index(corrupted.get('_id'), corrupted.get('_rev'), None)
|
||||
reindex += 1
|
||||
except RecordDeleted:
|
||||
db.delete(release['doc'])
|
||||
log.debug('Deleted orphaned release: %s', release['doc'])
|
||||
db.delete(doc)
|
||||
log.debug('Deleted orphaned release: %s', doc)
|
||||
reindex += 1
|
||||
except:
|
||||
log.debug('Failed cleaning up orphaned releases: %s', traceback.format_exc())
|
||||
|
||||
if reindex > 0:
|
||||
db.reindex()
|
||||
|
||||
del media_exist
|
||||
|
||||
# get movies last_edit more than a week ago
|
||||
|
||||
Reference in New Issue
Block a user