I am trying to install sonospy on a Proxmox lxc container with debian. The first step after
is to create the database with
./scan.py -d sonospy.db /mnt/vnas/music
But it aborts with
root@sonospy:/etc/sonospy/sonospy/errors# cat ErrorDump-20200722-182413.txt
<type 'exceptions.UnicodeDecodeError'>
Python 2.7.16: /usr/bin/python
Wed Jul 22 18:24:13 2020
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/etc/sonospy/sonospy/gettags.py in <module>()
2937
2938 if __name__ == "__main__":
2939 status = main()
2940 sys.exit(status)
2941
status undefined
main = <function main>
/etc/sonospy/sonospy/gettags.py in main(argv=None)
2932 for path in args:
2933 if path.endswith(os.sep): path = path[:-1]
2934 process_dir(path.decode(enc), options, database)
2935 filelog.close_log_files()
2936 return 0
global process_dir = <function process_dir>
path = '/mnt/vnas/music'
path.decode = <built-in method decode of str object>
global enc = 'ANSI_X3.4-1968'
options = <Values at 0x7fa825c1c950: {'verbose': False, 'd...quiet': False, 'exclude': None, 'extract': None}>
database = '/etc/sonospy/sonospy/sonospy.db'
/etc/sonospy/sonospy/gettags.py in process_dir(scanpath=u'/mnt/vnas/music', options=<Values at 0x7fa825c1c950: {'verbose': False, 'd...quiet': False, 'exclude': None, 'extract': None}>, database='/etc/sonospy/sonospy/sonospy.db')
275
276 visitedpaths = []
277 for filepath, dirs, files in os.walk(scanpath, followlinks=follow_symlinks):
278
279 filepath = os.path.abspath(os.path.realpath(filepath))
filepath = u'/mnt/vnas/music'
dirs = [u'Classical', u'Hungarian', u'Jazz', u'R&B', u'World']
files = []
global os = <module 'os' from '/usr/lib/python2.7/os.pyc'>
os.walk = <function walk>
scanpath = u'/mnt/vnas/music'
followlinks undefined
global follow_symlinks = False
/usr/lib/python2.7/os.py in walk(top=u'/mnt/vnas/music', topdown=True, onerror=None, followlinks=False)
294 new_path = join(top, name)
295 if followlinks or not islink(new_path):
296 for x in walk(new_path, topdown, onerror, followlinks):
297 yield x
298 if not topdown:
x undefined
global walk = <function walk>
new_path = u'/mnt/vnas/music/Classical'
topdown = True
onerror = None
followlinks = False
/usr/lib/python2.7/os.py in walk(top=u'/mnt/vnas/music/Classical', topdown=True, onerror=None, followlinks=False)
284 dirs, nondirs = [], []
285 for name in names:
286 if isdir(join(top, name)):
287 dirs.append(name)
288 else:
isdir = <function isdir>
join = <function join>
top = u'/mnt/vnas/music/Classical'
name = 'Bart\xc3\xb3k Quartet'
/usr/lib/python2.7/posixpath.py in join(a=u'/mnt/vnas/music/Classical', *p=('Bart\xc3\xb3k Quartet',))
71 path += b
72 else:
73 path += '/' + b
74 return path
75
path = u'/mnt/vnas/music/Classical'
b = 'Bart\xc3\xb3k Quartet'
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
__class__ = <type 'exceptions.UnicodeDecodeError'>
__delattr__ = <method-wrapper '__delattr__' of exceptions.UnicodeDecodeError object>
__dict__ = {}
__doc__ = 'Unicode decoding error.'
__format__ = <built-in method __format__ of exceptions.UnicodeDecodeError object>
__getattribute__ = <method-wrapper '__getattribute__' of exceptions.UnicodeDecodeError object>
__getitem__ = <method-wrapper '__getitem__' of exceptions.UnicodeDecodeError object>
__getslice__ = <method-wrapper '__getslice__' of exceptions.UnicodeDecodeError object>
__hash__ = <method-wrapper '__hash__' of exceptions.UnicodeDecodeError object>
__init__ = <method-wrapper '__init__' of exceptions.UnicodeDecodeError object>
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of exceptions.UnicodeDecodeError object>
__reduce_ex__ = <built-in method __reduce_ex__ of exceptions.UnicodeDecodeError object>
__repr__ = <method-wrapper '__repr__' of exceptions.UnicodeDecodeError object>
__setattr__ = <method-wrapper '__setattr__' of exceptions.UnicodeDecodeError object>
__setstate__ = <built-in method __setstate__ of exceptions.UnicodeDecodeError object>
__sizeof__ = <built-in method __sizeof__ of exceptions.UnicodeDecodeError object>
__str__ = <method-wrapper '__str__' of exceptions.UnicodeDecodeError object>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__unicode__ = <built-in method __unicode__ of exceptions.UnicodeDecodeError object>
args = ('ascii', '/Bart\xc3\xb3k Quartet', 5, 6, 'ordinal not in range(128)')
encoding = 'ascii'
end = 6
message = ''
object = '/Bart\xc3\xb3k Quartet'
reason = 'ordinal not in range(128)'
start = 5
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "./gettags.py", line 2939, in <module>
status = main()
File "./gettags.py", line 2934, in main
process_dir(path.decode(enc), options, database)
File "./gettags.py", line 277, in process_dir
for filepath, dirs, files in os.walk(scanpath, followlinks=follow_symlinks):
File "/usr/lib/python2.7/os.py", line 296, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 286, in walk
if isdir(join(top, name)):
File "/usr/lib/python2.7/posixpath.py", line 73, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
Can anyone please help me, to solve this issue? Probably caused by false locale settings?
cu Henrik