From 03fef1f21907d0c2445dc7fc9d47a6b35a43623d Mon Sep 17 00:00:00 2001 From: Kyanos Date: Mon, 18 Apr 2016 02:13:01 -0700 Subject: [PATCH 1/2] Create a common printing function to avoid duplication The various commands differ primarily in the command name and the text printed. Add a method "print_text" to handle most of the formatting. --- src/gitgud/gitgud.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/gitgud/gitgud.py b/src/gitgud/gitgud.py index de49e3c..0ed49bd 100644 --- a/src/gitgud/gitgud.py +++ b/src/gitgud/gitgud.py @@ -15,6 +15,25 @@ def parse_args(cmdname): def fig(text): fig = pyfiglet.Figlet() return fig.renderText(text) + + @staticmethod + def print_text(command, format_str, default_qual = ""): + args = git.parse_args(command) + name = args.name or "You" + sup = args.super + if sup: + qual = "super " + else: + if default_qual: + qual = default_qual + else: + qual = "" + + text = format_str.format(name=name, + qual=qual) + if sup: + text = git.fig(text) + print(text) @staticmethod def gud(): From a255dfdebf7939bd60fb7aaecb09a7e09fbaf37e Mon Sep 17 00:00:00 2001 From: Kyanos Date: Mon, 18 Apr 2016 02:27:52 -0700 Subject: [PATCH 2/2] Refactor methods to use print_text --- src/gitgud/gitgud.py | 56 +++++++++++--------------------------------- 1 file changed, 14 insertions(+), 42 deletions(-) diff --git a/src/gitgud/gitgud.py b/src/gitgud/gitgud.py index 0ed49bd..6284360 100644 --- a/src/gitgud/gitgud.py +++ b/src/gitgud/gitgud.py @@ -37,57 +37,29 @@ def print_text(command, format_str, default_qual = ""): @staticmethod def gud(): - args = git.parse_args("good") - name = args.name or "You" - sup = args.super - text = "{name} {verb} now {qual} gud!".format(name=name, - verb="is" if args.name else "are", - qual="super" if sup else "so") - if sup: - text = git.fig(text) - print(text) + args = git.parse_args("gud") + format_str = "{{name}} {verb} now {{qual}}gud!".format(verb="is" if args.name else "are") + git.print_text(command="gud", + format_str=format_str, + default_qual="so ") @staticmethod def rekt(): - args = git.parse_args("rekt") - name = args.name or "You" - sup = args.super - text = "{name} got {qual}#rekt!".format(name=name, - qual="super " if sup else "") - if sup: - text = git.fig(text) - print(text) + git.print_text(command="rekt", + format_str="{name} got {qual}#rekt!") @staticmethod def spooked(): - args = git.parse_args("spooked") - name = args.name or "You" - sup = args.super - text = "{name} got spooked by a scary skeleton!".format(name=name) - - if sup: - text = git.fig(text) - print(text) + git.print_text(command="spooked", + format_str="{name} got spooked by a scary skeleton!") @staticmethod def job(): - args = git.parse_args("job") - name = args.name or "You" - sup = args.super - text = "{name} got a job in gitting #rekt!".format(name=name) - - if sup: - text = git.fig(text) - print(text) - + git.print_text(command="job", + format_str="{name} got a job in gitting #rekt!") + @staticmethod def money(): - args = git.parse_args("money") - name = args.name or "You" - sup = args.super - text = "{name} got money!".format(name=name) - - if sup: - text = git.fig(text) - print(text) + git.print_text(command="money", + format_str="{name} got money!")