class DstDir:
def __init__ (self, path, cue='', src='', dirs=[], other=[]):
self.path = path
self.cue = cue
self.src = src
self.dirs = dirs
self.other = other
def makeFlac (self):
cuebreakpoints = subprocess.Popen(["cuebreakpoints", self.cue],
stdout=subprocess.PIPE)
cmd = ("shnsplit -O always -i wv -o " +
"'flac flac -V -8 -e -p -o %f -' -t -%n " + self.src)
print cmd
shnsplit = subprocess.Popen(cmd,
stdin=cuebreakpoints.stdout,
stdout=subprocess.PIPE)
print shnsplit.communicate()
Этот велосипед рассыпается при попытке запустить shnsplit, мотивируя тем, что не находит файл. Вот только файл этот совершенно точно есть, что подтверждает os.path.exists(). Может надо спецсимволы как-то заэкранировать?
egr@big:~/soundKonverter$ ./split_iso.wv.py /srv/audio/Aquarium\ Diskografy/02\ Aquarium\ Incognito/
/srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp
Ok!
DOING STAFF
Path: /srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp
Source: /srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.wv True
.cue file: /srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.wv.cue
Dirs:
/srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/scans.zadushevnye.pesni
Other files:
/srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.wv.cue
/srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.jpg
/srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.cue
/srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.LOG
shnsplit -O always -i wv -o 'flac flac -V -8 -e -p -o %f -' -t -%n /srv/audio/Aquarium Diskografy/02 Aquarium Incognito/tmp/mnt/BG_&_Anna_Karenina's_quartet_-_Soul-felt_songs.wv
Traceback (most recent call last):
File "/home/egr/soundKonverter/split_iso.wv.py", line 95, in <module>
WDir.makeFlac()
File "/home/egr/soundKonverter/split_iso.wv.py", line 22, in makeFlac
stdout=subprocess.PIPE)
File "/usr/lib/python2.5/subprocess.py", line 594, in __init__
errread, errwrite)
File "/usr/lib/python2.5/subprocess.py", line 1149, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory