import string
import subprocess
-import ceph_argparse
from ceph_argparse import \
concise_sig, descsort_key, parse_json_funcsigs, \
validate_command, find_cmd_target, \
- json_command, run_in_thread
+ json_command, run_in_thread, Flag
from ceph_daemon import admin_socket, DaemonWatcher, Termsize
if not cmd['help']:
continue
flags = cmd.get('flags', 0)
- if flags & (ceph_argparse.FLAG_OBSOLETE | ceph_argparse.FLAG_DEPRECATED | ceph_argparse.FLAG_HIDDEN):
+ if flags & (Flag.OBSOLETE | Flag.DEPRECATED | Flag.HIDDEN):
continue
concise = concise_sig(cmd['sig'])
if partial and not concise.startswith(partial):
import uuid
# Flags are from MonCommand.h
-FLAG_NOFORWARD = (1 << 0)
-FLAG_OBSOLETE = (1 << 1)
-FLAG_DEPRECATED = (1 << 2)
-FLAG_MGR = (1<<3)
-FLAG_POLL = (1 << 4)
-FLAG_HIDDEN = (1 << 5)
+class Flag:
+ NOFORWARD = (1 << 0)
+ OBSOLETE = (1 << 1)
+ DEPRECATED = (1 << 2)
+ MGR = (1<<3)
+ POLL = (1 << 4)
+ HIDDEN = (1 << 5)
KWARG_EQUALS = "--([^=]+)=(.+)"
KWARG_SPACE = "--([^=]+)"
print(save_exception[0], 'not valid: ', save_exception[1], file=sys.stderr)
raise ArgumentError("unused arguments: " + str(myargs))
- if flags & FLAG_MGR:
+ if flags & Flag.MGR:
d['target'] = ('mgr','')
- if flags & FLAG_POLL:
+ if flags & Flag.POLL:
d['poll'] = True
# Finally, success
bestcmds = []
for cmd in sigdict.values():
flags = cmd.get('flags', 0)
- if flags & FLAG_OBSOLETE:
+ if flags & Flag.OBSOLETE:
continue
sig = cmd['sig']
matched = matchnum(args, sig, partial=True)
print("Invalid command:", ex, file=sys.stderr)
print(concise_sig(sig), ': ', cmd['help'], file=sys.stderr)
else:
- bestcmds = [c for c in bestcmds if not c.get('flags', 0) & (FLAG_DEPRECATED | FLAG_HIDDEN)]
+ bestcmds = [c for c in bestcmds
+ if not c.get('flags', 0) & (Flag.DEPRECATED | Flag.HIDDEN)]
bestcmds = bestcmds[:10] # top 10
print('no valid command found; {0} closest matches:'.format(len(bestcmds)), file=sys.stderr)
for cmd in bestcmds: