Code Duplication    Length = 27-28 lines in 2 locations

bbarchivist/scriptutils.py 2 locations

@@ 143-170 (lines=28) @@
140
141
    :param addition: What to add.
142
    :type addition: str
143
    """
144
    verarg = [arg for arg in parser._actions if isinstance(arg, argparse._VersionAction)][0]
145
    verarg.version = "{1}{0}".format(addition, verarg.version)
146
    return parser
147
148
149
def return_radio_version(osversion, radioversion=None):
150
    """
151
    Increment radio version, if need be.
152
153
    :param osversion: OS version.
154
    :type osversion: str
155
156
    :param radioversion: Radio version, None if incremented.
157
    :type radioversion: str
158
    """
159
    if radioversion is None:
160
        radioversion = utilities.increment(osversion, 1)
161
    return radioversion
162
163
164
def return_sw_checked(softwareversion, osversion):
165
    """
166
    Check software existence, return boolean.
167
168
    :param softwareversion: Software release version.
169
    :type softwareversion: str
170
171
    :param osversion: OS version.
172
    :type osversion: str
173
    """
@@ 114-140 (lines=27) @@
111
112
    :param scriptname: Script name, 'bb-something'.
113
    :type scriptname: str
114
115
    :param scriptdesc: Script description, i.e. scriptname -h.
116
    :type scriptdesc: str
117
118
    :param target: Path to file to execute.
119
    :type target: str
120
121
    :param version: Version of target.
122
    :type version: str
123
    """
124
    parser = default_parser(scriptname, scriptdesc)
125
    capver = "|{0}".format(version)
126
    parser = external_version(parser, capver)
127
    parser.parse_known_args(sys.argv[1:])
128
    if utilities.is_windows():
129
        subprocess.call([target] + sys.argv[1:])
130
    else:
131
        print("Sorry, Windows only.")
132
133
134
def external_version(parser, addition):
135
    """
136
    Modify the version string of argparse.ArgumentParser, adding something.
137
138
    :param parser: Parser to modify.
139
    :type parser: argparse.ArgumentParser
140
141
    :param addition: What to add.
142
    :type addition: str
143
    """