Re: Probleem met uitpakken .rar bestanden
Posted: July 1st, 2012, 8:35 am
Hoe kan ik daar achter komen? Als ik een echo doe van de $PATH variabele dan krijg ik de volgende output:
root@VANCOUVER:/# echo $PATH
/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
De programma´s par2, unrar en unzip zijn allemaal in /opt/bin geinstalleerd.
Met het script van Sander (zie onder) krijg ik de volgende output:
root@VANCOUVER:/opt/share/SABnzbd# /opt/bin/python2.5 path_testing.py
par2
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/par2
nice
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/nice
blabla
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
None
root@VANCOUVER:/opt/share/SABnzbd# /opt/bin/python2.6 path_testing.py
par2
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/par2
nice
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/nice
blabla
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
None
Volgens mij zou SAB in theorie de progamma´s unrar, unzip en par2 moeten kunnen vinden, maar dat deed ie dus niet. Nu ik de verwijzing hard heb staan in newsunpack.py pakt SAB het wel goed op.
Ik denk zelf dat het iets te maken heeft met het feit dat python 2.5 de Cheetah filters niet kan vinden. Maar ik heb er te weinig verstand van om hier iets zinnigs over te zeggen.
root@VANCOUVER:/# echo $PATH
/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
De programma´s par2, unrar en unzip zijn allemaal in /opt/bin geinstalleerd.
Met het script van Sander (zie onder) krijg ik de volgende output:
Code: Select all
import os
def find_on_path(targets):
""" Search the PATH for a program and return full path """
if False:
paths = os.getenv('PATH').split(';')
else:
paths = os.getenv('PATH').split(':')
print targets
print paths
if isinstance(targets, basestring):
targets = ( targets, )
for path in paths:
for target in targets:
target_path = os.path.abspath(os.path.join(path, target))
if os.path.isfile(target_path) and os.access(target_path,
os.X_OK):
return target_path
return None
print find_on_path('par2')
print find_on_path('nice')
print find_on_path('blabla')par2
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/par2
nice
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/nice
blabla
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
None
root@VANCOUVER:/opt/share/SABnzbd# /opt/bin/python2.6 path_testing.py
par2
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/par2
nice
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
/opt/bin/nice
blabla
['/opt/bin', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin']
None
Volgens mij zou SAB in theorie de progamma´s unrar, unzip en par2 moeten kunnen vinden, maar dat deed ie dus niet. Nu ik de verwijzing hard heb staan in newsunpack.py pakt SAB het wel goed op.
Ik denk zelf dat het iets te maken heeft met het feit dat python 2.5 de Cheetah filters niet kan vinden. Maar ik heb er te weinig verstand van om hier iets zinnigs over te zeggen.
