Example #1
0
    def test_import_routes_txt_duplicate(self):
        routes_txt = StringIO("""\
route_id,route_short_name,route_long_name,route_type
AB,10,Airport - Bullfrog,3
AB,11,Airport Party Bus,3
""")
        Route.import_txt(routes_txt, self.feed)
        route = Route.objects.get()  # Just one
        self.assertEqual(route.feed, self.feed)
        self.assertEqual(route.route_id, 'AB')
        self.assertEqual(route.short_name, '10')
Example #2
0
    def test_import_routes_txt_duplicate(self):
        routes_txt = StringIO("""\
route_id,route_short_name,route_long_name,route_type
AB,10,Airport - Bullfrog,3
AB,11,Airport Party Bus,3
""")
        Route.import_txt(routes_txt, self.feed)
        route = Route.objects.get()  # Just one
        self.assertEqual(route.feed, self.feed)
        self.assertEqual(route.route_id, 'AB')
        self.assertEqual(route.short_name, '10')
Example #3
0
    def test_import_routes_txt_minimal(self):
        routes_txt = StringIO.StringIO("""\
route_id,route_short_name,route_long_name,route_type
AB,10,Airport - Bullfrog,3
""")
        Route.import_txt(routes_txt, self.feed)
        route = Route.objects.get()
        self.assertEqual(route.feed, self.feed)
        self.assertEqual(route.route_id, 'AB')
        self.assertEqual(route.agency, None)
        self.assertEqual(route.short_name, '10')
        self.assertEqual(route.long_name, 'Airport - Bullfrog')
        self.assertEqual(route.desc, '')
        self.assertEqual(route.rtype, 3)
        self.assertEqual(route.url, '')
        self.assertEqual(route.color, '')
        self.assertEqual(route.text_color, '')
Example #4
0
    def test_export_routes_txt_minimal(self):
        Route.objects.create(
            feed=self.feed, route_id='AB', short_name='10',
            long_name='Airport - Bullfrog', rtype=3)
        routes_txt = Route.export_txt(self.feed)
        self.assertEqual(routes_txt, """\
route_id,route_short_name,route_long_name,route_type
AB,10,Airport - Bullfrog,3
""")
Example #5
0
    def test_import_routes_txt_maximal(self):
        routes_txt = StringIO.StringIO("""\
route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,\
route_url,route_color,route_text_color
AB,DTA,10,Airport - Bullfrog,"Our Airport Route", 3,http://example.com,\
00FFFF,000000
""")
        agency = Agency.objects.create(feed=self.feed, agency_id='DTA')
        Route.import_txt(routes_txt, self.feed)
        route = Route.objects.get()
        self.assertEqual(route.feed, self.feed)
        self.assertEqual(route.route_id, 'AB')
        self.assertEqual(route.agency, agency)
        self.assertEqual(route.short_name, '10')
        self.assertEqual(route.long_name, 'Airport - Bullfrog')
        self.assertEqual(route.desc, 'Our Airport Route')
        self.assertEqual(route.rtype, 3)
        self.assertEqual(route.url, 'http://example.com')
        self.assertEqual(route.color, '00FFFF')
        self.assertEqual(route.text_color, '000000')
Example #6
0
    def test_export_routes_txt_minimal(self):
        Route.objects.create(feed=self.feed,
                             route_id='AB',
                             short_name='10',
                             long_name='Airport - Bullfrog',
                             rtype=3)
        routes_txt = Route.export_txt(self.feed)
        self.assertEqual(
            routes_txt, """\
route_id,route_short_name,route_long_name,route_type
AB,10,Airport - Bullfrog,3
""")
Example #7
0
def new_route(request, **kwargs):
    if request.method == 'POST':
        try:
            # Build route_id
            request_params = request.POST.dict()
            # prepend zeros to the route number
            request_params['route-number'] = request_params[
                'route-number'].zfill(4)

            route_mask = "{corridor}{first-level-branch}{second-level-branch}{route-number}{gazetted}{inbound}"
            params = {
                'route_id': route_mask.format(**request_params),
                'short_name': request_params.get('route-number'),
                'desc': request_params.get('description'),
                'rtype': request_params.get('route-type'),
                'agency_id': kwargs.get('agency_id'),
                'feed_id': kwargs.get('feed_id')
            }

            route = Route(**params)
            route.save()
            route.refresh_from_db()

            # add the newly generated route_id to kwargs
            kwargs['pk'] = route.id

            return http.HttpResponseRedirect(
                reverse('route_detail', kwargs=kwargs))
        except Exception as e:
            kwargs['alert_type'] = 'alert-danger'
            kwargs[
                'error_message'] = 'An error occurred while processing your request'

    return render(request, 'myapp/new-route.html', kwargs)
Example #8
0
    def test_export_routes_txt_maximal(self):
        agency = Agency.objects.create(feed=self.feed, agency_id='DTA')
        Route.objects.create(
            feed=self.feed, agency=agency, route_id='AB', short_name='10',
            long_name='Airport - Bullfrog', desc='Our Airport Route',
            rtype=3, url='http://example.com', color='00FFFF',
            text_color='000000')
        routes_txt = Route.export_txt(self.feed)
        self.assertEqual(routes_txt, """\
route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,\
route_url,route_color,route_text_color
AB,DTA,10,Airport - Bullfrog,Our Airport Route,3,http://example.com,\
00FFFF,000000
""")
Example #9
0
    def test_export_routes_txt_maximal(self):
        agency = Agency.objects.create(feed=self.feed, agency_id='DTA')
        Route.objects.create(feed=self.feed,
                             agency=agency,
                             route_id='AB',
                             short_name='10',
                             long_name='Airport - Bullfrog',
                             desc='Our Airport Route',
                             rtype=3,
                             url='http://example.com',
                             color='00FFFF',
                             text_color='000000')
        routes_txt = Route.export_txt(self.feed)
        self.assertEqual(
            routes_txt, """\
route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,\
route_url,route_color,route_text_color
AB,DTA,10,Airport - Bullfrog,Our Airport Route,3,http://example.com,\
00FFFF,000000
""")
Example #10
0
 def test_export_routes_txt_none(self):
     routes_txt = Route.export_txt(self.feed)
     self.assertFalse(routes_txt)
Example #11
0
 def test_export_routes_txt_none(self):
     routes_txt = Route.export_txt(self.feed)
     self.assertFalse(routes_txt)