diff --git a/.gitignore b/.gitignore index 4870e80..1a4bdfd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/cta_api_key.json +/cta_api_key /output __pycache__ *.pyc diff --git a/ctabus.py b/ctabus.py index 3fc0a19..6727cac 100644 --- a/ctabus.py +++ b/ctabus.py @@ -2,11 +2,10 @@ from urllib.parse import urlencode from requests import get import json import datetime -import argparse -from editdistance import eval as editdistance test = False test = True -api = "***REMOVED***" +with open('cta_api_key') as file: + api = file.read() def get_data(type,api_key = api,**args): base_url = "http://www.ctabustracker.com/bustime/api/v2/{type}?{query}" @@ -33,12 +32,4 @@ def get_directions(route,api_key = api): def get_stops(route,direction,api_key = api): return get_data('getstops',api_key,rt = route,dir=direction) - -if __name__ == "__main__": - if test: - data = get_times('4752') - else: - parser = argparse.ArgumentParser(prog = 'ctabus') - parser.add_argument('arg',metavar = 'stop-id | cross streets') - parser.add_argument('-r','--route') - parser.add_argument('-d','--direction') \ No newline at end of file + diff --git a/main.py b/main.py new file mode 100644 index 0000000..4e23b19 --- /dev/null +++ b/main.py @@ -0,0 +1,10 @@ +from argparse import parser +parser = argparse.ArgumentParser(prog = 'ctabus') +parser.add_argument('arg',metavar = 'stop-id | cross streets') +parser.add_argument('-r','--route') +parser.add_argument('-d','--direction') +args = parser.parse_args() +if args.arg.isdecimal(): + pass +else: + pass \ No newline at end of file diff --git a/search.py b/search.py new file mode 100644 index 0000000..53d93fc --- /dev/null +++ b/search.py @@ -0,0 +1,22 @@ +from editdistance import eval as editdistance +import re +import json +class StopSearch: + def __init__(self,query): + parts = re.split(r' ?(?:and|&) ?',query) + self.query = ' & '.join(parts) + self.query_reversed = ' & '.join(reversed(parts)) + def __call__(self,stop): + stop = stop.lower() + return min( + editdistance(self.query,stop), + editdistance(self.query_reversed,stop) + ) + def __str__(self): + return '{}|{}'.format(self.query,self.query_reversed) + def __repr__(self): + return str(self) +if __name__ == "__main__": + with open('stops_out.json') as file: + data = json.load(file) + names = [stop['stpnm'] for stop in data['stops']] \ No newline at end of file