Unicode os.walk as backup

This commit is contained in:
Ruud
2012-02-11 21:52:31 +01:00
parent 9090f3ac69
commit e769c5e595
2 changed files with 21 additions and 9 deletions
+19 -7
View File
@@ -5,6 +5,7 @@ from couchpotato.core.helpers.variable import getExt, getImdb, tryInt
from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin
from couchpotato.core.settings.model import File
from couchpotato.environment import Env
from enzyme.exceptions import NoParserError, ParseError
import enzyme
import logging
@@ -143,10 +144,21 @@ class Scanner(Plugin):
# Scan all files of the folder if no files are set
if len(files) == 0:
files = []
for root, dirs, walk_files in os.walk(toUnicode(folder)):
for filename in walk_files:
files.append(os.path.join(root, filename))
try:
files = []
for root, dirs, walk_files in os.walk(toUnicode(folder)):
for filename in walk_files:
files.append(os.path.join(root, filename))
except:
try:
files = []
folder = toUnicode(folder).encode(Env.get('encoding'))
log.info('Trying to convert unicode to str path: %s, %s' % (folder, type(folder)))
for root, dirs, walk_files in os.walk(folder):
for filename in walk_files:
files.append(os.path.join(root, filename))
except:
log.error('Failed getting files from %s: %s' % (folder, traceback.format_exc()))
for file_path in files:
@@ -287,9 +299,9 @@ class Scanner(Plugin):
break
# Leftover "sorted" files
for type in group['files']:
if not type is 'leftover':
group['files']['leftover'] -= set(group['files'][type])
for file_type in group['files']:
if not file_type is 'leftover':
group['files']['leftover'] -= set(group['files'][file_type])
# Delete the unsorted list
del group['unsorted_files']
+2 -2
View File
@@ -91,7 +91,7 @@ class Settings(object):
return tryInt(self.p.get(section, option))
def getUnicode(self, section, option):
value = self.p.get(section, option)
value = self.p.get(section, option).decode('unicode_escape')
return toUnicode(value).strip()
def getValues(self):
@@ -153,7 +153,7 @@ class Settings(object):
# See if a value handler is attached, use that as value
new_value = fireEvent('setting.save.%s.%s' % (section, option), value, single = True)
self.set(section, option, new_value if new_value else value)
self.set(section, option, (new_value if new_value else value).encode('unicode_escape'))
self.save()
return jsonified({