@@ -36,15 +36,19 @@ def __init__(self):
3636 self ._geometryPorcessing = colored .blue ('Geometry processing during conversion' )
3737 self ._colorProcessing = colored .blue ('Color processing during conversion' )
3838 self ._imgSeqNumbering = colored .blue ('Image Sequence Numbering' )
39- self .processingOptions = colored .blue ('Processing options' )
39+ self ._processingOptions = colored .blue ('Processing options' )
40+ self ._tuttleVersion = colored .green ('TuttleOFX project [v' + str (tuttle .TUTTLE_HOST_VERSION_MAJOR )+ '.' + str (tuttle .TUTTLE_HOST_VERSION_MINOR )+ '.' + str (tuttle .TUTTLE_HOST_VERSION_MICRO )+ ']' )
41+ self ._tuttleWebSite = colored .green ('http://www.tuttleofx.org/' )
4042 if clintVersion >= '0.3.3' :
4143 self ._pluginOption .bold = True
4244 self ._generatorsAndViewers .bold = True
4345 self ._imgSeqConversion .bold = True
4446 self ._geometryPorcessing .bold = True
4547 self ._colorProcessing .bold = True
4648 self ._imgSeqNumbering .bold = True
47- self .processingOptions .bold = True
49+ self ._processingOptions .bold = True
50+ self ._tuttleVersion .bold = True
51+ self ._tuttleWebSite .bold = True
4852
4953 self .epilog = '''
5054 ''' + self ._pluginOption + '''
@@ -88,11 +92,12 @@ def __init__(self):
8892 Frames 1 to 100 padding 5: image.#####.jpg
8993 Printf style padding 4: image.%04d.jpg
9094
91- ''' + self .processingOptions + '''
95+ ''' + self ._processingOptions + '''
9296 Range process: sam do reader [email protected] // writer [email protected] --ranges 50 100 9397 Single process: sam do reader [email protected] // writer [email protected] --ranges 59 9498 Continues whatever happens: sam do reader [email protected] // writer [email protected] --continue-on-error 95- '''
99+
100+ ''' + self ._tuttleVersion + ''' ''' + self ._tuttleWebSite
96101
97102 def fillParser (self , parser ):
98103 # Arguments
@@ -155,7 +160,7 @@ def _displayPlugins(self):
155160 plugins = []
156161 for plugin in tuttle .core ().getPlugins ():
157162 plugins .append (plugin .getIdentifier ().ljust (30 ) + ' (v' + str (plugin .getVersionMajor ()) + '.' + str (plugin .getVersionMinor ()) + ')' )
158- for plugin in sorted (plugins ):
163+ for plugin in sorted (set ( plugins ) ):
159164 puts (plugin )
160165
161166 def _displayFileFormats (self ):
@@ -391,7 +396,7 @@ def _getTuttleGraph(self, splitCmdGraph):
391396 # Plugin not found
392397 if not nodeFullName :
393398 nodeFullName = splitCmdNode ._pluginId
394- self .logger .warning ('Cannot create node "' + nodeFullName + '": the node will be skipped from the command line.' )
399+ self .logger .error ('Cannot create node "' + nodeFullName + '": the node will be skipped from the command line.' )
395400 self .logger .debug (e )
396401 continue
397402 # sam-do node --help
@@ -448,11 +453,6 @@ def run(self, parser):
448453 # Parse command-line
449454 args , unknown = parser .parse_known_args ()
450455
451- # sam-do --help
452- if len (args .inputs ) == 0 and ('-h' in unknown or '--help' in unknown ):
453- self ._displayCommandLineHelp (parser )
454- exit (0 )
455-
456456 # Set sam log level
457457 self .setLogLevel (args .verbose )
458458 # set tuttle host log level
@@ -478,6 +478,11 @@ def run(self, parser):
478478 self ._displayFileFormats ()
479479 exit (0 )
480480
481+ # sam-do --help
482+ if len (args .inputs ) == 0 and (len (unknown ) == 0 or '-h' in unknown or '--help' in unknown ):
483+ self ._displayCommandLineHelp (parser )
484+ exit (0 )
485+
481486 # Add unknown options to the command line to process
482487 args .inputs .extend (unknown )
483488
@@ -532,7 +537,7 @@ def run(self, parser):
532537 try :
533538 graph .compute (nodes [- 1 ], options )
534539 except Exception as e :
535- self .logger .error ('Tuttle graph computation failed.' )
540+ self .logger .error ('Tuttle graph computation has failed.' )
536541 self .logger .debug (e )
537542 self .logger .info ('Memory usage: ' + str (int (samUtils .memoryUsageResource ())) + 'KB' )
538543
0 commit comments