summaryrefslogtreecommitdiffstats
path: root/ipa
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-24 08:07:20 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-24 08:07:20 +0000
commitac7bdf8790a6b18eccc72af5dc2c5b59133546cd (patch)
treef1b9c532b4ea3ff2a89b5b4d691ed88dab529f0d /ipa
parent744406958df66fb46ec43d80f9d788429953fda4 (diff)
downloadfreeipa-ac7bdf8790a6b18eccc72af5dc2c5b59133546cd.tar.gz
freeipa-ac7bdf8790a6b18eccc72af5dc2c5b59133546cd.tar.xz
freeipa-ac7bdf8790a6b18eccc72af5dc2c5b59133546cd.zip
338: Removed depreciated code from ipa (CLI) script
Diffstat (limited to 'ipa')
-rwxr-xr-xipa150
1 files changed, 2 insertions, 148 deletions
diff --git a/ipa b/ipa
index 2f4fdf70..31848f7b 100755
--- a/ipa
+++ b/ipa
@@ -20,160 +20,14 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
-Command Line Interface to IPA.
+Command Line Interface for IPA Administration.
-Just proof of concept stuff in here right now.
+The CLI functionality is implemented in ipalib/cli.py
"""
-import sys
from ipalib import api
from ipalib.cli import CLI
import ipalib.load_plugins
cli = CLI(api)
cli.run()
-
-sys.exit()
-
-TAB_WIDTH = 2
-
-def _(msg):
- """
- Dummy gettext function for testing.
- """
- return msg
-
-class row(object):
- def __init__(self, tab, c1, c2=None):
- assert type(tab) is int
- assert type(c1) in (str, int)
- assert type(c2) is str or c2 is None
- self.tab = tab
- self.c1 = c1
- self.c2 = c2
-
- def __len__(self):
- return len(str(self.c1))
-
- def pretty_print(self, just):
- tab = ' ' * (self.tab * TAB_WIDTH)
- if self.c2 is None:
- print '%s%s' % (tab, self.c1)
- else:
- if type(self.c1) is int:
- c1 = str(self.c1).rjust(just)
- else:
- c1 = self.c1.ljust(just)
- print '%s%s %s' % (tab, c1, self.c2)
-
-def pretty_print(rows):
- rows = tuple(rows)
- def get_lengths():
- yield 0
- for r in rows:
- if r.c2 is not None:
- yield len(r)
- max_len = max(get_lengths())
- for r in rows:
- r.pretty_print(max_len)
-
-
-def print_commands():
- print 'Commands:'
- m = api.max_cmd_len
- for cmd in api.cmd:
- print ' %s %s' % (str(cmd).ljust(m), cmd.get_doc(_))
-
-def print_help(cmd):
- print 'Help on %s' % cmd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-def print_api():
- def iter_api(tab):
- for name in api:
- ns = getattr(api, name)
- yield row(
- tab,
- name,
- repr(ns),
- )
- for i in ns:
- yield row(
- tab + 1,
- i.name,
- repr(i)
- )
-
- def iter_obj(tab):
- for obj in api.obj:
- yield row(
- tab,
- obj.name,
- repr(obj),
- )
- for (n, f) in [('mthd', '.%s()'), ('prop', '.%s')]:
- ns = getattr(obj, n)
- yield row(
- tab + 1,
- n,
- repr(ns),
- )
- for attr in ns:
- yield row(
- tab + 2,
- f % attr.name,
- repr(attr),
- )
-
- def iter_summary(tab):
- for name in api:
- ns = getattr(api, name)
- yield row(
- tab,
- len(ns),
- name
- )
-
- def print_heading(h):
- print '\n%s:' % h
- print '-' * (len(h) + 1)
-
- tab = 1
- print_heading('API Overview')
- pretty_print(iter_api(tab))
-
- print_heading('Object Details')
- pretty_print(iter_obj(tab))
-
- print_heading('Summary')
- pretty_print(iter_summary(tab))
-
-
-
-
-
-if len(sys.argv) < 2:
- print_commands()
- print 'Usage: ipa COMMAND [OPTIONS]'
- sys.exit(2)
-name= sys.argv[1]
-if name == '_api_':
- print_api()
- sys.exit()
-elif name not in api.cmd:
- print_commands()
- print 'ipa: ERROR: unknown command %r' % name
- sys.exit(2)
-api.cmd[name]()