[Twisted-Python] Cisco-style hierarchial CLI
Phil Mayers
p.mayers at imperial.ac.uk
Sat Mar 20 11:43:36 MST 2004
All,
I'm putting together some glue-ware for a system, and would like to hide
the underlying nature of it. It's a bit of software that fits in and
around routers / switches etc. and there's a pretty common CLI for those
these days, which consists of a hierarchial context-based set of
commands, plus completion, e.g. on Cisco, although I suspect everyone is
familiar with the concept:
client: sh <question mark>
server: ip - show IP items
server: foo - show Foo items
server: bar - show Bar items
client: sh f <question mark>
server: ver - show foo version
server: connections - show foo connections
client: sh f c <question mark>
server: <cr> - show connection summary
server: <int> - show connection detail
client: sh f c 3
server: <some stuff>
Similarly, for configure mode:
client: configure
server: ok
client: subsystem
server(subsystem): ok
client: <question mark>
server(subsystem): trusted - configure trusted ports
server(subsystem): untrusted - configure untrusted ports
server(subsystem): map - map from trusted to untrusted
client: trust
server(subsystem-trusted): ok
client: <question mark>
server(subsystem-trusted): ip - add a trusted port by IP
server(subsystem-trusted): phys - add a trusted physical port
server(subsystem-trusted): vlan - add a trusted vlan
client: vlan 1
The hiearchial configure mode is mapped onto a hierarchial configuration
file, e.g. the above would generate:
subsystem
trusted
vlan 1
!
!
It's main features are:
1) Tab completion and partial -> full conversion
2) Nested modes
Relevant to twisted is I want to replace the manhole interactive
interpreter.
Any such beast exist?
--
Regards,
Phil
+------------------------------------------+
| Phil Mayers |
| Network & Infrastructure Group |
| Information & Communication Technologies |
| Imperial College |
+------------------------------------------+
More information about the Twisted-Python
mailing list