The 'build-bash-completion' script has an enormous function which triggered a 'too many branches' lint error and was quite easily splittable in logical sub-functions.
Signed-off-by: Helga Velroyen <[email protected]> --- autotools/build-bash-completion | 52 ++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/autotools/build-bash-completion b/autotools/build-bash-completion index 9ba58ed..eca0804 100755 --- a/autotools/build-bash-completion +++ b/autotools/build-bash-completion @@ -50,15 +50,7 @@ from ganeti.tools import burnin _OPT_NAME_RE = re.compile(r"^-[a-zA-Z0-9]|--[a-z][-a-z0-9]+$") -def WritePreamble(sw, support_debug): - """Writes the script preamble. - - Helper functions should be written here. - - """ - sw.Write("# This script is automatically generated at build time.") - sw.Write("# Do not modify manually.") - +def _WriteGntLog(sw, support_debug): if support_debug: sw.Write("_gnt_log() {") sw.IncIndent() @@ -82,6 +74,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteNodes(sw): sw.Write("_ganeti_nodes() {") sw.IncIndent() try: @@ -91,6 +85,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteInstances(sw): sw.Write("_ganeti_instances() {") sw.IncIndent() try: @@ -101,6 +97,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteJobs(sw): sw.Write("_ganeti_jobs() {") sw.IncIndent() try: @@ -113,6 +111,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteOSAndIAllocator(sw): for (fnname, paths) in [ ("os", pathutils.OS_SEARCH_PATH), ("iallocator", constants.IALLOCATOR_SEARCH_PATH), @@ -128,6 +128,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteNodegroup(sw): sw.Write("_ganeti_nodegroup() {") sw.IncIndent() try: @@ -137,6 +139,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteNetwork(sw): sw.Write("_ganeti_network() {") sw.IncIndent() try: @@ -146,6 +150,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteFindFirstArg(sw): # Params: <offset> <options with values> <options without values> # Result variable: $first_arg_idx sw.Write("_ganeti_find_first_arg() {") @@ -175,6 +181,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteListOptions(sw): # Params: <list of options separated by space> # Input variable: $first_arg_idx # Result variables: $arg_idx, $choices @@ -205,6 +213,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteGntCheckopt(sw, support_debug): # Params: <long options with equal sign> <all options> # Result variable: $optcur sw.Write("_gnt_checkopt() {") @@ -234,6 +244,8 @@ def WritePreamble(sw, support_debug): sw.DecIndent() sw.Write("}") + +def _WriteGntCompgen(sw, support_debug): # Params: <compgen options> # Result variable: $COMPREPLY sw.Write("_gnt_compgen() {") @@ -247,6 +259,28 @@ def WritePreamble(sw, support_debug): sw.Write("}") +def WritePreamble(sw, support_debug): + """Writes the script preamble. + + Helper functions should be written here. + + """ + sw.Write("# This script is automatically generated at build time.") + sw.Write("# Do not modify manually.") + + _WriteGntLog(sw, support_debug) + _WriteNodes(sw) + _WriteInstances(sw) + _WriteJobs(sw) + _WriteOSAndIAllocator(sw) + _WriteNodegroup(sw) + _WriteNetwork(sw) + _WriteFindFirstArg(sw) + _WriteListOptions(sw) + _WriteGntCheckopt(sw, support_debug) + _WriteGntCompgen(sw, support_debug) + + def WriteCompReply(sw, args, cur="\"$cur\""): sw.Write("_gnt_compgen %s -- %s", args, cur) sw.Write("return") -- 1.9.1.423.g4596e3a
