commit:     aa706673eb76355bedfd714f5b4966ab87d1d7d6
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 26 09:41:38 2014 +0000
Commit:     Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
CommitDate: Fri Dec 26 09:41:38 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=aa706673

gkeys: Separate and sort the avaialbe actions into groups

Create false actions for the 3 groups to help improve the argparse help output.
These stubb functions can be used later to organize and print the group 
specific actions only.

---
 gkeys/gkeys/actions.py | 35 +++++++++++++++++++++++++++++++----
 gkeys/gkeys/base.py    |  3 +++
 2 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
index 4814389..ea42b6d 100644
--- a/gkeys/gkeys/actions.py
+++ b/gkeys/gkeys/actions.py
@@ -30,10 +30,16 @@ from gkeys.seedhandler import SeedHandler
 from gkeys.config import GKEY
 from gkeys.checks import SPECCHECK_SUMMARY, convert_pf, convert_yn
 
-Available_Actions = ['listcats', 'listseed', 'addseed', 'removeseed', 
'moveseed', 'fetchseed',
-            'listseedfiles', 'listkey', 'installkey', 'removekey', 'movekey',
-            'installed', 'importkey', 'verify', 'checkkey', 'sign', 
'speccheck',
-            'refreshkey']
+
+Seed_Actions = ['SEED_COMMANDS', 'addseed', 'fetchseed', 'listcats', 
'listseed', 'listseedfiles',
+    'moveseed', 'removeseed']
+
+Key_Actions = ['KEY_COMMANDS', 'checkkey', 'importkey', 'installed', 
'installkey', 'listkey',
+    'movekey', 'refreshkey', 'removekey']
+
+General_Actions = ['GENERAL_COMMANDS', 'sign','verify']
+
+Available_Actions = Seed_Actions + Key_Actions + General_Actions
 
 Action_Options = {
     'listcats': [],
@@ -54,6 +60,9 @@ Action_Options = {
     'sign': ['nick', 'name', 'keydir', 'fingerprint', 'file', 'keyring'],
     'speccheck': ['nick', 'name', 'keydir', 'fingerprint', 'category', 
'keyring', 'keyid'],
     'refreshkey': ['nick', 'name', 'keydir', 'fingerprint', 'category', 
'keyring', 'keyid'],
+    'GENERAL_COMMANDS': [],
+    'SEED_COMMANDS': [],
+    'KEY_COMMANDS': [],
 }
 
 
@@ -67,6 +76,24 @@ class Actions(object):
         self.seeds = None
 
 
+    @staticmethod
+    def SEED_COMMANDS(args):
+        '''------< seed actions >-------'''
+        pass
+
+
+    @staticmethod
+    def KEY_COMMANDS(args):
+        '''-------< key actions >--------'''
+        pass
+
+
+    @staticmethod
+    def GENERAL_COMMANDS(args):
+        '''-----< general actions >------'''
+        pass
+
+
     def listseed(self, args):
         '''Pretty-print the selected seed file(s)'''
         handler = SeedHandler(self.logger, self.config)

diff --git a/gkeys/gkeys/base.py b/gkeys/gkeys/base.py
index f9a019f..c37d536 100644
--- a/gkeys/gkeys/base.py
+++ b/gkeys/gkeys/base.py
@@ -187,6 +187,9 @@ class CliBase(object):
         if not action:
             parser.print_usage()
             sys.exit(1)
+        elif action in ['GENERAL_COMMANDS', 'KEY_COMMANDS', 'SEED_COMMANDS']:
+            parser.print_help()
+            sys.exit(1)
         return parsed_args
 
 

Reply via email to