X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=scotty;h=ca7922cbdd66f422f3fc27ef0daf0ee394dc17f9;hb=HEAD;hp=32eb1bc29c4417b098197b12af8538b76973b9be;hpb=115d1a65f22b7e07b11a4a02b734114d6b6bc8f2;p=pywienerlinien diff --git a/scotty b/scotty index 32eb1bc..ca7922c 100755 --- a/scotty +++ b/scotty @@ -1,17 +1,23 @@ #!/usr/bin/env python # -*- coding: UTF-8 -*- -import argparse import sys +from gotovienna import argparse from gotovienna.utils import * from gotovienna.routing import * parser = argparse.ArgumentParser(description='Get public transport route for Vienna') -parser.add_argument('-ot', metavar='type', type=str, help='origin type: %s' % ' | '.join(POSITION_TYPES), default='stop', choices=POSITION_TYPES) -parser.add_argument('-dt', metavar='type', type=str, help='destination type: %s' % ' | '.join(POSITION_TYPES), default='stop', choices=POSITION_TYPES) -parser.add_argument('origin', nargs='?', help='origin station name') -parser.add_argument('destination', nargs='?', help='destination station name') +parser.add_argument('-ot', metavar='type', type=str, + help='origin type: %s' % ' | '.join(POSITION_TYPES), + default=None, choices=POSITION_TYPES) +parser.add_argument('-dt', metavar='type', type=str, + help='destination type: %s' % ' | '.join(POSITION_TYPES), + default=None, choices=POSITION_TYPES) +parser.add_argument('origin', nargs='?', + help='origin station name') +parser.add_argument('destination', nargs='?', + help='destination station name') args = parser.parse_args() @@ -32,7 +38,7 @@ def do_search(args): return sParser(result.read()) -print >>sys.stderr, 'Searching...', +print >>sys.stderr, 'Searching...\n', parser = do_search(args) print >>sys.stderr, 'done.' @@ -70,29 +76,34 @@ if parser.state == PageType.RESULT: l = '' while not l == 'q': for idx, overview in enumerate(overviews): - if not overview['date'] or not overview['time']: + timespan = overview['timespan'] + if not timespan: # XXX: Bogus data for e.g. Pilgramgasse->Karlsplatz?! continue - - print '%d. [%s] %s-%s (%s)' % (idx + 1, - overview['date'], - overview['time'][0], - overview['time'][1], - overview['duration']) + + str_timespan = timespan[0].strftime('[%Y-%d-%m] %H:%M') + str_timespan += '-' + timespan[1].strftime('%H:%M') + timedelta = timespan[1] - timespan[0] + print '%d. %s (%s)' % (idx + 1, + str_timespan, + timedelta) + print 'q. Quit' l = sys.stdin.readline().strip() print - print '~' * 100 + print '~' * 79 if l.isdigit() and int(l) <= len(details): for detail in details[int(l) - 1]: - if detail['time'] and detail['station']: - time = '%s - %s' % (detail['time'][0].strftime(TIMEFORMAT), detail['time'][1].strftime(TIMEFORMAT)) - print '[%s] %s\n%s' % (time, ' -> '.join(detail['station']), '\n'.join(detail['info'])) + if detail['timespan'] and detail['station']: + time = '%s - %s' % (detail['timespan'][0].strftime(TIMEFORMAT), + detail['timespan'][1].strftime(TIMEFORMAT)) + print '[%s] %s\n%s' % (time, + ' -> '.join(detail['station']), + '\n'.join(detail['info'])) else: print '\n'.join(detail['info']) - print '-' * 100 + print '-' * 79 print else: print 'Error - unknown page returned.' -