44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
#
|
|
# General utility functions to handle Diffcalc commands
|
|
#
|
|
|
|
from gda.jython.commands.GeneralCommands import alias
|
|
|
|
try:
|
|
import gda
|
|
GDA = True
|
|
except ImportError:
|
|
GDA = False
|
|
|
|
|
|
|
|
def alias_commands(global_namespace_dict):
|
|
"""Alias commands left in global_namespace_dict by previous import from
|
|
diffcalc.
|
|
|
|
This is the equivalent of diffcmd/ipython/magic_commands() for use
|
|
when IPython is not available
|
|
"""
|
|
gnd = global_namespace_dict
|
|
global GLOBAL_NAMESPACE_DICT
|
|
GLOBAL_NAMESPACE_DICT = gnd
|
|
print "Aliasing commands"
|
|
|
|
### Alias commands in namespace ###
|
|
commands = gnd['hkl_commands_for_help']
|
|
commands += gnd['ub_commands_for_help']
|
|
if not GDA: # TODO: encapsulation issue: this should be done outside this function!
|
|
commands.append(gnd['pos'])
|
|
commands.append(gnd['scan'])
|
|
aliased_names = []
|
|
|
|
for f in commands:
|
|
# Skip section headers like 'Motion'
|
|
if not hasattr(f, '__call__'):
|
|
continue
|
|
|
|
alias(f.__name__)
|
|
aliased_names.append(f.__name__)
|
|
|
|
print "Aliased commands: " + ' '.join(aliased_names)
|