65 lines
1.4 KiB
Python
65 lines
1.4 KiB
Python
|
import sys
|
||
|
import getopt
|
||
|
|
||
|
|
||
|
class Enum(set):
|
||
|
def __getattr__(self, name):
|
||
|
if name in self:
|
||
|
return name
|
||
|
raise AttributeError
|
||
|
|
||
|
class MetaDataStyle:
|
||
|
CBI = 0
|
||
|
CIX = 1
|
||
|
|
||
|
|
||
|
class Options:
|
||
|
|
||
|
def __init__(self):
|
||
|
self.data_style = MetaDataStyle.CBI
|
||
|
self.no_gui = False
|
||
|
|
||
|
# Some defaults for testing
|
||
|
self.series_name = '' #'Watchmen'
|
||
|
self.issue_number = '' #'1'
|
||
|
self.filename = '' # "Watchmen #01.cbz"
|
||
|
|
||
|
def parseCmdLineArgs(self):
|
||
|
|
||
|
# parse command line options
|
||
|
try:
|
||
|
opts, args = getopt.getopt(sys.argv[1:], "cht:s:i:vf:", ["cli", "help", "type=", "series=", "issue=", "verbose", "file" ])
|
||
|
except (getopt.error, msg):
|
||
|
print( msg )
|
||
|
print( "for help use --help" )
|
||
|
sys.exit(2)
|
||
|
# process options
|
||
|
for o, a in opts:
|
||
|
if o in ("-h", "--help"):
|
||
|
print( __doc__ )
|
||
|
sys.exit(0)
|
||
|
if o in ("-v", "--verbose"):
|
||
|
print( "Verbose output!" )
|
||
|
if o in ("-c", "--cli"):
|
||
|
self.no_gui = True
|
||
|
if o in ("-s", "--series"):
|
||
|
self.series_name = a
|
||
|
if o in ("-i", "--issue"):
|
||
|
self.issue_number = a
|
||
|
if o in ("-f", "--file"):
|
||
|
self.filename = a
|
||
|
if o in ("-t", "--type"):
|
||
|
if a == "cr":
|
||
|
self.data_style = MetaDataStyle.CIX
|
||
|
elif a == "cbl":
|
||
|
self.data_style = MetaDataStyle.CBI
|
||
|
else:
|
||
|
print( __doc__ )
|
||
|
sys.exit(0)
|
||
|
|
||
|
# process arguments
|
||
|
for arg in args:
|
||
|
process(arg) # process() is defined elsewhere
|
||
|
|
||
|
return opts
|
||
|
|