Added command line options to create a new project based on a given workflow.
This commit is contained in:
68
fluents
Executable file
68
fluents
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
from getopt import getopt
|
||||
import sys
|
||||
from system import fluents, project, workflow
|
||||
import workflows
|
||||
|
||||
PROGRAM_NAME = 'fluents'
|
||||
VERSION = '0.1.0'
|
||||
|
||||
parameters = {'workflow': workflow.EmptyWorkflow}
|
||||
|
||||
def show_help():
|
||||
print 'fluent %s' % VERSION
|
||||
print 'This software is released under the GNU General Public Licence'
|
||||
print
|
||||
print 'Usage: fluent [options]'
|
||||
print
|
||||
print 'Description:'
|
||||
print ' Fluent is a lightweight data analysis application for bilinear models.'
|
||||
print
|
||||
print 'Options:'
|
||||
print ' -h --help Show this help text'
|
||||
print ' -l --list-workflows Lists available workflows'
|
||||
print ' -w --workflow=<wf> Generates a new project based on workflow wf.'
|
||||
print
|
||||
|
||||
def list_workflows():
|
||||
print 'fluent %s' % VERSION
|
||||
print
|
||||
print 'Workflows:'
|
||||
|
||||
wfs = workflow.workflow_list()
|
||||
names = [wf.name for wf in wfs]
|
||||
names.sort()
|
||||
|
||||
for n in names:
|
||||
print ' %s (%s)' % (n.id, n.name)
|
||||
|
||||
def parse_options():
|
||||
short_opts = 'hlw:'
|
||||
long_opts = ['help', 'list-workflows', 'workflow=']
|
||||
|
||||
options, params = getopt(sys.argv[1:], short_opts, long_opts)
|
||||
|
||||
for opt, val in options:
|
||||
if opt in ['-h', '--help']:
|
||||
show_help()
|
||||
elif opt in ['-l', '--list-workflows']:
|
||||
list_workflows()
|
||||
elif opt in ['-w', '--workflow']:
|
||||
wfs = workflow.workflow_list()
|
||||
for wf in wfs:
|
||||
if wf.ident == val:
|
||||
parameters['workflow'] = wf
|
||||
parameters['workflow']
|
||||
|
||||
if __name__ == '__main__':
|
||||
parse_options()
|
||||
|
||||
import gtk
|
||||
import gnome
|
||||
|
||||
gnome.program_init(PROGRAM_NAME, VERSION)
|
||||
app = fluents.FluentApp(parameters['workflow'])
|
||||
app.set_project(project.Project())
|
||||
app.show()
|
||||
gtk.main()
|
Reference in New Issue
Block a user