[mythtv-users] User Jobs Problems Processing Command Line Options in Python
Ian Barton
lists at manor-farm.org
Wed Oct 1 10:57:42 UTC 2008
I am writing a user job script in Python. This works correctly when run
from a terminal. However, as a user job the Python getopt library seems
to be throwing a wobbly.
Sample code (write_log_entry writes debugging stuff to a text file):
try:
opts, args = getopt.getopt(sys.argv[1:], "hfvcs:v", ["help",
"filename=", "video-dir=", "channel-id=", "start-time="])
write_log_entry("Before opt")
for opt, arg in opts:
write_log_entry("arg" + arg)
if opt in ("-h", "--help"):
write_log_entry("Exit.")
useage()
sys.exit()
elif opt in ("-f", "--filename"):
filename = arg
elif opt in ("-v", "--video-dir"):
videodir = arg
elif opt in ("-c", "--channel-id"):
channel = arg
elif opt in ("-s", "--start-time"):
starttime = arg
except getopt.GetoptError, err:
write_log_entry("Error parsing command line: " + str(err))
print str(err)
sys.exit(2)
My user job is:
/usr/local/bin/test.py -f %FILE% -v %DIR% -c %CHANID% -s "%STARTTIME%"
Sample output from the debug file:
2008-10-01 11:46:05: Before opt
2008-10-01 11:46:05: arg%FILENAME%
2008-10-01 11:46:05: arg
2008-10-01 11:46:05: After for opt
Python is only seeing one argument, not four and %FILE% isn't being
expanded into a file name. I presume that sys.argv doesn't contain what
I think it does. Anyone got any suggestions?
Ian.
More information about the mythtv-users
mailing list