CSAir

.idea
    .name 13 B
    Assignment2.0.iml 295 B
    dictionaries
       lantay77.xml 357 B
    encodings.xml 171 B
    misc.xml 348 B
    modules.xml 289 B
    runConfigurations
       Server.xml 1008 B
       Unittests_in_Tests.xml 1 KB
    scopes
       scope_settings.xml 143 B
    vcs.xml 189 B
    workspace.xml 59 KB
CSAir.py 11 KB
CSAir_helpers.py 9 KB
CSAir_json.py 7 KB
CSAir_server.py 5 KB
Graph
    DiGraph.py 9 KB
    Edge.py 518 B
    Node.py 360 B
Location.py 1 KB
ManualTestPlan.odt 441 KB
ManualTestPlan.pdf 1029 KB
Query.py 2 KB
README 499 B
Server.py 8 KB
Tests
    expected
       brief_print_expected.txt 13 B
       continents_expected.txt 58 B
       expected.json 1 KB
       hubs_expected.txt 70 B
       list_expected.txt 28 B
       longest_expected.txt 36 B
       other_expected.txt 205 B
       print_expected.txt 130 B
       shortest_expected.txt 37 B
    invalid.json 15 KB
    out
       brief_print_test.txt 13 B
       continents_test.txt 58 B
       hubs_test.txt 70 B
       list_test.txt 28 B
       longest_test.txt 36 B
       other_test.txt 205 B
       out.json 1 KB
       print_test.txt 130 B
       shortest_test.txt 37 B
    testCSAir.py 3 KB
    testFunctionsForServer.py 1 KB
    testGraph.py 1 KB
    testLocation.py 938 B
    testServer.py 6 KB
    test_2.1.py 8 KB
    valid.json 871 B
    valid2.json 582 B
add_city_post.py 800 B
changes 633 B
cmi_hub.json 1 KB
map_data.json 15 KB
map_data_r2.json 15 KB
static
    bootstrap.js 59 KB
    css
       bootstrap-theme.css 20 KB
       bootstrap-theme.css.map 22 KB
       bootstrap-theme.min.css 18 KB
       bootstrap.css 129 KB
       bootstrap.css.map 215 KB
       bootstrap.min.css 106 KB
       starter-template.css 186 B
    fonts
       glyphicons-halflings-regular.eot 19 KB
       glyphicons-halflings-regular.svg 61 KB
       glyphicons-halflings-regular.ttf 40 KB
       glyphicons-halflings-regular.woff 22 KB
    js
       bootstrap.js 59 KB
       bootstrap.min.js 31 KB
templates
    city.html 13 KB
    routes.html 10 KB
uploads
Query.py
from CSAir import *
import sys

graph = load_initial_json()

print("Welcome to the CSAir query interface! Type help for commands!\n")

command_list = "Command list:\n" \
               "help: Displays this command list.\n" \
               "exit: Closes the query interface.\n" \
               "list: Lists cities with CSAir routes.\n" \
               "continents: Displays a list of continents and cities with CSAir routes.\n" \
               "lookup <code>: View detailed information of a location.\n" \
               "showmap: Show the map of the routes at http://www.gcmap.com.\n" \
               "stats: Displays various statistics.\n" \
               "hubs: Displays the hub cities.\n" \
               "\n" \
               "remove city: Delete a city.\n" \
               "remove route: Delete a route.\n" \
               "add city: Add a city.\n" \
               "add route: Add a route.\n" \
               "edit <code>: Edit an existing city.\n" \
               "\n" \
               "save <filename>: Save the data to a file.\n" \
               "merge <filename>: Load new data and combine it with current data.\n" \
               "\n" \
               "route info: Specify a route to display total distance, cost, and time.\n" \
               "route shortest: Generate the shortest route between two cities and display the route information.\n" \
               "\n" \
               "server: Start the web server.\n"

prompt = ">"

print(command_list)
print("\n" + prompt, end="")

for line in sys.stdin:
    line = line.rstrip('\n')

    if line == "help":
        print(command_list)

    elif line == "list":
        list_locations(graph)

    elif line[:7] == "lookup ":
        print(lookup(graph, line[7:]))

    elif line == "showmap":
        url = generate_map_url(graph)
        show_map(url)

    elif line == "stats":
        print(print_longest(graph))
        print(print_shortest(graph))
        print(print_average(graph))
        print(print_smallest_city(graph))
        print(print_largest_city(graph))
        print(print_average_city(graph))

    elif line == "continents":
        print(print_continents(graph))

    elif line == "hubs":
        print(print_hubs(graph))

    elif line == "add city":
        add_city(graph)

    elif line == "add route":
        add_route(graph)

    elif line == "remove city":
        remove_city(graph)

    elif line == "remove route":
        remove_route(graph)

    elif line[:5] == "edit ":
        edit_city(graph, line[5:])

    elif line[:5] == "save ":
        save_json(graph, line[5:])

    elif line[:6] == "merge ":
        merge_json(graph, line[6:])

    elif line == "route info":
        route_info(graph)

    elif line == "route shortest":
        route_shortest(graph)

    elif line == "exit":
        break

    else:
        print("Invalid command, type 'help' for commands.")

    print("\n" + prompt, end="")


print("Closing query!")