Browse Source

Results where original query is in result bumps it to the top; added "feeling lucky" option

no_compress
Raphael Roberts 7 years ago
parent
commit
1801f06749
  1. 4
      main.py
  2. 4
      search.py

4
main.py

@ -90,6 +90,7 @@ if __name__ == "__main__":
parser.add_argument('arg',nargs = '+',metavar = '(stop-id | cross streets)') parser.add_argument('arg',nargs = '+',metavar = '(stop-id | cross streets)')
parser.add_argument('-r','--route',default = None) parser.add_argument('-r','--route',default = None)
parser.add_argument('-d','--direction',default = None) parser.add_argument('-d','--direction',default = None)
parser.add_argument('-l','--lucky',action='store_true',help = 'picks first result')
args = parser.parse_args() args = parser.parse_args()
args.arg = ' '.join(args.arg) args.arg = ' '.join(args.arg)
if not args.arg.isdecimal(): if not args.arg.isdecimal():
@ -109,6 +110,9 @@ if __name__ == "__main__":
#direction #direction
stops = ctabus.get_stops(route,direction)['stops'] stops = ctabus.get_stops(route,direction)['stops']
s = StopSearch(args.arg) s = StopSearch(args.arg)
if args.lucky:
stop_id = sorted(stops,key=lambda stop: s(stop['stpnm']))[0]['stpid']
else:
stop_id = gen_list(stops,'stpid','stpnm',key = s) stop_id = gen_list(stops,'stpid','stpnm',key = s)
else: else:
stop_id = args.arg stop_id = args.arg

4
search.py

@ -28,6 +28,8 @@ class StopSearch(Search):
if paren: if paren:
paren = paren.group('data') paren = paren.group('data')
ret.append(editdistance(self.query,paren)) ret.append(editdistance(self.query,paren))
if self.raw_lower in stop:
ret = (item - 100 for item in ret)
return min( return min(
ret ret
) )
@ -40,4 +42,4 @@ if __name__ == "__main__":
names = [stop['stpnm'] for stop in data['stops']] names = [stop['stpnm'] for stop in data['stops']]
while True: while True:
q = StopSearch(input('Search: ')) q = StopSearch(input('Search: '))
print('\n'.join(sorted(names,key=q)))
print('\n'.join(sorted(names,key=q)),end='\n'*3)
Loading…
Cancel
Save