text: #!/usr/bin/env python3
  
  import sys
  import argparse
  import json
  
  import _pathfix
  
  from mhapi.db import MHDB
  from mhapi.model import ModelJSONEncoder, get_costs
  
  
  def parse_args(argv):
      parser = argparse.ArgumentParser(description=
          "Determine the different paths for making a weapons and the cost"
          " and parts required for each path."
      )
      parser.add_argument("-j", "--json", action="store_true",
                          default=False,
                          help="output as json instead of plaintext")
      parser.add_argument("weapon",
                          help="Full name of weapon")
      return parser.parse_args(argv)
  
  
  if __name__ == '__main__':
      args = parse_args(None)
  
      db = MHDB()
  
      weapon = db.get_weapon_by_name(args.weapon, True)
      if not weapon:
          raise ValueError("Weapon '%s' not found" % name)
      costs = get_costs(db, weapon)
      if args.json:
          for cost in costs:
              cost["path"] = [dict(name=w.name, id=w.id)
                              for w in cost["path"]]
          json.dump(costs, sys.stdout, cls=ModelJSONEncoder, indent=2)
      else:
          for cost in costs:
              components = cost["components"]
              print("=", ", ".join([w.name for w in cost["path"]]))
              print("  Zenny", cost["zenny"])
              for item_name in sorted(components.keys()):
                  print("%20s %2d" % (item_name, components[item_name]))
              print()
  