Skip to content

Commit 20ed35b

Browse files
committed
Fix lint warnings
1 parent 2a87d0f commit 20ed35b

File tree

6 files changed

+54
-46
lines changed

6 files changed

+54
-46
lines changed

.pylintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ignored-classes=Header
44
[SIMILARITIES]
55

66
# Minimum lines number of a similarity.
7-
min-similarity-lines=20
7+
min-similarity-lines=7
88

99
[MISCELLANEOUS]
1010
# List of note tags to take in consideration, separated by a comma.

test/test_hobeta.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,29 @@
1717
import tempfile
1818
from collections import namedtuple
1919
from zxtools import hobeta
20+
from zxtools import safe_parse_args
2021

2122

2223
class TestHobeta(unittest.TestCase):
2324
def test_args_parser(self):
25+
args_parser = hobeta.create_parser()
2426
with self.assertRaises(SystemExit):
25-
hobeta.parse_args(("-h", "-v"))
27+
safe_parse_args(args_parser, ["-h", "-v"])
2628

2729
with self.assertRaises(SystemExit):
28-
hobeta.parse_args(())
30+
safe_parse_args(args_parser, [])
2931

3032
temp_in_file = tempfile.mkstemp()[1]
3133
input_file = open(temp_in_file, "w")
3234
input_file.close()
3335
temp_out_file = tempfile.mkstemp()[1]
3436
try:
35-
args = hobeta.parse_args(("info", temp_in_file))
37+
args = safe_parse_args(args_parser, ["info", temp_in_file])
3638
self.assertEqual(args.func, hobeta.show_info)
3739
args.hobeta_file.close()
3840

39-
args = hobeta.parse_args(("strip", temp_in_file, temp_out_file))
41+
args = safe_parse_args(args_parser,
42+
["strip", temp_in_file, temp_out_file])
4043
self.assertEqual(args.func, hobeta.strip_header)
4144
args.hobeta_file.close()
4245
args.output_file.close()

test/test_zeus2txt.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,30 @@
1818
import logging
1919

2020
from zxtools import zeus2txt
21+
from zxtools import safe_parse_args
2122

2223

2324
class TestZeus2Txt(unittest.TestCase):
2425
def test_args_parser(self):
26+
args_parser = zeus2txt.create_parser()
27+
2528
with self.assertRaises(SystemExit):
26-
zeus2txt.parse_args(("-h", "-v"))
29+
safe_parse_args(args_parser, ["-h", "-v"])
2730

2831
with self.assertRaises(SystemExit):
29-
zeus2txt.parse_args(())
32+
safe_parse_args(args_parser, [])
3033

3134
temp_in_file = tempfile.mkstemp()[1]
3235
input_file = open(temp_in_file, "w")
3336
input_file.close()
3437
temp_out_file = tempfile.mkstemp()[1]
3538
try:
36-
args = zeus2txt.parse_args(("info", temp_in_file))
39+
args = safe_parse_args(args_parser, ["info", temp_in_file])
3740
self.assertEqual(args.func, zeus2txt.show_info)
3841
args.zeus_file.close()
3942

40-
args = zeus2txt.parse_args(("convert",
41-
temp_in_file, temp_out_file))
43+
args = safe_parse_args(args_parser,
44+
["convert", temp_in_file, temp_out_file])
4245
self.assertEqual(args.func, zeus2txt.convert_file)
4346
args.zeus_file.close()
4447
args.output_file.close()

zxtools/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,33 @@
99
#
1010
""" Global contants is here"""
1111

12+
import sys
13+
import logging
14+
1215
__version__ = '1.0.23'
1316
CHUNK_SIZE = 512 * 1024 # 512 KBytes
17+
18+
19+
def safe_parse_args(parser, args):
20+
"""Safely parse arguments"""
21+
try:
22+
options = parser.parse_args(args)
23+
if len(args) == 0:
24+
raise ValueError
25+
except ValueError:
26+
parser.print_help()
27+
sys.exit(0)
28+
29+
return options
30+
31+
32+
def default_main(parser):
33+
""" Default entry point implementation """
34+
args = safe_parse_args(parser, sys.argv[1:])
35+
if args.verbose:
36+
logging.basicConfig(level=logging.DEBUG)
37+
38+
if hasattr(args, 'func'):
39+
args.func(args)
40+
41+
return args

zxtools/hobeta.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
""" Hobeta file utils """
1111

1212
import os
13-
import sys
1413
import logging
1514
import struct
1615
from collections import namedtuple
1716
import argparse
1817

1918
from zxtools import CHUNK_SIZE
19+
from zxtools import default_main
2020

2121
HEADER_FMT = '<8sBHHBBH'
2222
Header = namedtuple(
@@ -121,7 +121,7 @@ def strip_header(parsed_args):
121121
return bytes_to_copy-length
122122

123123

124-
def parse_args(args):
124+
def create_parser():
125125
""" Parse command line arguments """
126126
parser = argparse.ArgumentParser(description="Hobeta files converter")
127127
parser.add_argument(
@@ -155,25 +155,12 @@ def parse_args(args):
155155
help="Show Hobeta header format description")
156156
help_parser.set_defaults(func=hobeta_help)
157157

158-
try:
159-
options = parser.parse_args(args)
160-
if len(args) == 0:
161-
raise ValueError
162-
except ValueError:
163-
parser.print_help()
164-
sys.exit(0)
165-
166-
return options
158+
return parser
167159

168160

169161
def main():
170-
""" Entry point """
171-
args = parse_args(sys.argv[1:])
172-
if args.verbose:
173-
logging.basicConfig(level=logging.DEBUG)
174-
175-
if hasattr(args, 'func'):
176-
args.func(args)
162+
"""Entry point"""
163+
return default_main(create_parser())
177164

178165

179166
if __name__ == '__main__':

zxtools/zeus2txt.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111

1212
import argparse
1313
import logging
14-
import sys
1514
import io
1615

1716
from zxtools import CHUNK_SIZE
17+
from zxtools import default_main
1818

1919
CODE_ALIGN_WIDTH = 35
2020

@@ -109,7 +109,7 @@ def convert_file(parsed_args):
109109
output.close()
110110

111111

112-
def parse_args(args):
112+
def create_parser():
113113
""" Parse command line arguments """
114114
parser = argparse.ArgumentParser(
115115
description="Zeus Z80 assembler files converter")
@@ -140,25 +140,12 @@ def parse_args(args):
140140
action='store_true', help="Include original code in the output file")
141141
convert_parser.set_defaults(func=convert_file)
142142

143-
try:
144-
options = parser.parse_args(args)
145-
if len(args) == 0:
146-
raise ValueError
147-
except ValueError:
148-
parser.print_help()
149-
sys.exit(0)
150-
151-
return options
143+
return parser
152144

153145

154146
def main():
155-
""" Entry point """
156-
args = parse_args(sys.argv[1:])
157-
if args.verbose:
158-
logging.basicConfig(level=logging.DEBUG)
159-
160-
if hasattr(args, 'func'):
161-
args.func(args)
147+
"""Entry point"""
148+
default_main(create_parser())
162149

163150

164151
if __name__ == '__main__':

0 commit comments

Comments
 (0)