Source code for synapse.lib.cmdr

import synapse.lib.cli as s_cli

import synapse.cmds.boss as s_cmds_boss
import synapse.cmds.cron as s_cmds_cron
import synapse.cmds.hive as s_cmds_hive
import synapse.cmds.cortex as s_cmds_cortex
import synapse.cmds.trigger as s_cmds_trigger

cmdsbycell = {
    'cell': (
        s_cmds_hive.HiveCmd,
        s_cmds_boss.PsCmd,
        s_cmds_boss.KillCmd,
    ),

    'cortex': (
        s_cmds_cron.At,
        s_cmds_cron.Cron,
        s_cmds_cortex.Log,
        s_cmds_boss.PsCmd,
        s_cmds_boss.KillCmd,
        s_cmds_hive.HiveCmd,
        s_cmds_cortex.StormCmd,
        s_cmds_trigger.Trigger,
    ),
}

[docs]async def getItemCmdr(cell, outp=None, color=False, **opts): ''' Construct and return a cmdr for the given remote cell. Args: cell: Cell proxy being commanded. outp: Output helper object. color (bool): If true, enable colorized output. **opts: Additional options pushed into the Cmdr locs. Examples: Get the cmdr for a proxy:: cmdr = await getItemCmdr(foo) Returns: s_cli.Cli: A Cli instance with Cmds loaeded into it. ''' cmdr = await s_cli.Cli.anit(cell, outp=outp) if color: cmdr.colorsenabled = True typename = await cell.getCellType() for ctor in cmdsbycell.get(typename, ()): cmdr.addCmdClass(ctor) return cmdr
[docs]async def runItemCmdr(item, outp=None, color=False, **opts): ''' Create a cmdr for the given item and run the cmd loop. Args: item: Cell proxy being commanded. outp: Output helper object. color (bool): If true, enable colorized output. **opts: Additional options pushed into the Cmdr locs. Notes: This function does not return while the command loop is run. Examples: Run the Cmdr for a proxy:: await runItemCmdr(foo) Returns: None: This function returns None. ''' cmdr = await getItemCmdr(item, outp=outp, color=color, **opts) await cmdr.runCmdLoop()