def main():
    parser = argparse.ArgumentParser(
        description='import CSV data into Topogram')
    parser.add_argument('filename',
                        action="store",
                        default=None,
                        help='CSV file path')
    parser.add_argument('--base-url',
                        default='http://localhost:3000',
                        help='Base URL for Topogram API endpoint')
    parser.add_argument('--user', default=None, help='Username')
    parser.add_argument('--password', default=None, help='Password')
    parser.add_argument('--title',
                        default="Test",
                        help='Title of the document')
    parser.add_argument('--verbose', default=False, help='Log')

    args = parser.parse_args()

    print args.base_url
    client = TopogramAPIClient(args.base_url,
                               args.user,
                               args.password,
                               debug=args.verbose)

    #check if the file exists
    if not os.path.isfile(args.filename):
        raise ValueError("CSV File '%s' doesn't exist" % args.filename)

    # parse data
    data = parse_data(args.filename)
 def test_has_active_connection(self):
     self.assertRaises(
         ConnectionError,
         lambda: TopogramAPIClient("http://localhost:5000", debug=True))
 def setUpClass(self):
     # init client
     self.client = TopogramAPIClient(test_server_url, debug=True)
     self.session = session()
    if len(existing_edges):
        topogram.delete_edges([n["_id"] for n in existing_edges])
        print "%s edges deleted" % len(existing_edges)

    r = topogram.create_nodes(topogram_ID, nodes)
    print r
    print "%s nodes created." % len(r["data"])
    r = topogram.create_edges(topogram_ID, edges)
    print "%s edges created." % len(r["data"])

    print "done. Topogram has been updated. Check it at %s/topograms/%s" % (
        TOPOGRAM_URL, topogram_ID)


# connect to the topogram instance (pass debug=True params for more info )
topogram = TopogramAPIClient(TOPOGRAM_URL)  #, debug=True)

# create a new user
try:
    topogram.create_user(USER, PASSWORD)
except ValueError:
    print "> User has already been created."

# login a new user if needed
resp_user_login = topogram.user_login(USER, PASSWORD)
print resp_user_login

assert (resp_user_login["status"] == "success")
assert (resp_user_login["status_code"] == 200)

create_topogram("Geo-time network", my_nodes, my_edges)