case friendly mharmor args

main
Bryce Allen 11 years ago
parent 8c1f40e93c
commit d41c5380a9

@ -23,9 +23,13 @@ def parse_args(argv):
parser.add_argument("-d", "--min-defense", type=int,
help="Only include armors with min defense")
parser.add_argument("-t", "--type",
help="Head, Body, Arms, Waist, or Legs")
help="Head, Body, Arms, Waist, or Legs",
type=str_title)
parser.add_argument("-r", "--resist",
help="fire, water, thunder, ice, or dragon. Show and use as secondary sort key instead of defense")
help="fire, water, thunder, ice, or dragon."
" Show and use as secondary sort key instead of"
" defense",
type=str_lower)
parser.add_argument("skills", nargs="+",
help="One or more armor skills to search for")
@ -39,6 +43,10 @@ def find_armors(args):
skill_ids = [] # preserve arg order
decorations = {}
for skill_name in args.skills:
# TODO: handle common mispellings. Some skills like FreeElemnt
# can't simply be title'd, but lower().title() could be a useful
# first pass. Another option would be to slirp in the full list
# and use difflib to search it.
sid = db.get_skill_tree_id(skill_name)
if sid is None:
raise ValueError("Skill '%s' not found" % skill_name)
@ -100,6 +108,14 @@ def find_armors(args):
print " ", a.one_line_skills_u(args.skills)
def str_lower(x):
return str(x).lower()
def str_title(x):
return str(x).title()
if __name__ == '__main__':
args = parse_args(None)

Loading…
Cancel
Save