HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/us/cli/states.py
import sys
import us


def main():
    import argparse

    parser = argparse.ArgumentParser(description="Lookup state information")
    parser.add_argument(
        "query", metavar="QUERY", nargs=1, help="name, abbreviation, or FIPS code"
    )

    args = parser.parse_args()

    state = us.states.lookup(args.query[0])

    if not state:
        sys.stdout.write("Sorry, couldn't find a matching state.\n")

    else:
        data = state.__dict__.copy()

        region = "territory" if data.pop("is_territory") else "state"

        sys.stdout.write("\n")
        sys.stdout.write(
            "*** The great %s of %s (%s) ***\n\n"
            % (region, data.pop("name"), data.pop("abbr"))
        )

        sys.stdout.write("  FIPS code: %s\n" % data.pop("fips"))

        sys.stdout.write("\n")
        sys.stdout.write("  other attributes:\n")

        for key in sorted(data.keys()):
            val = data[key]

            if isinstance(val, (list, tuple)):
                val = ", ".join(val)

            sys.stdout.write("    %s: %s\n" % (key, val))

        sys.stdout.write("\n")
        sys.stdout.write("  shapefiles:\n")
        for region, url in state.shapefile_urls().items():
            sys.stdout.write("    %s: %s\n" % (region, url))

        sys.stdout.write("\n")


if __name__ == "__main__":
    main()