skip to navigation
skip to content

Custom-Interactive-Console 1.0

Create you own interactive shell

The module helps to create a custom interactive shell similar to the python
interactive shell

exmaple usage
$ ./semanticsbml_console.py -q ’c 0;a 0’ -p ../../../
release_25September2007_sbmls/...
...curated/BIOMD0000000090.xml
semanticSBML main menu
l list all loaded models
o [FILENAME] open a model
d [DIR] open all models in the directory (without arguments last used)
c [MODEL_NR] display check results for a model
a [MODEL_NR] annotate a model with database identifiers
e export a svg image of a model
m [[MODEL_NR1] , ..] merge 2 or more models by inserting a list of models
s save model(s)
v save model(s) as
r [MODEL_NR] remove model
about about this software
i ID -SBML Generate SBML files from Database Identifiers
commands: help, dir, rec, prec, play, hist, q, exit
you can use ctrl+D (win ctr+Z) to exit
###executing### c 0

example integration:
create a main menu:
self._locals = {
'l':(self.listFiles,'List Models'),
'i2s':(Id2Sbml_view,'ID -> SBML'),
'd':(self.openDirectory,'Open Directory')
}
self._help="
<<< semanticSBML main menu >>>
l list all loaded models
d [DIR] open all models in the directory (without arguments last used)
i2s ID - SBML Generate SBML files from Database Identifiers"

cc = CustomConsole(self._locals,self._help).run()


a submenu can be created like this:

class Id2Sbml_view():
def __init__(self):
help=" ID -> SBML
e [ID1 ID2] Enter a List of KEGG Reaction Identifiers
q exit this menu"
cc = CustomConsole({'e':(self.slotNext_l,'insert list'),'q':
(self.exit,'exit')},help).run('...')

also user input can be returned directly without connecting it to a function::
input = CustomConsole().raw_input('Are you sure you want to do this? y/n:')
this function should be used instead of the native python raw_input since its
input is captured and can be replayed