Example #1
0
    def test_import_stops_txt_bom(self):
        if PY3:  # pragma: no cover
            text = (BOM_UTF8.decode('utf-8') + """\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
""")
        else:
            text = (BOM_UTF8 + b"""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
""")
        stops_txt = StringIO(text)
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 2)
        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.parent_station, station)
Example #2
0
    def test_import_stops_txt_bom(self):
        if PY3:  # pragma: no cover
            text = (BOM_UTF8.decode('utf-8') + """\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
""")
        else:
            text = (BOM_UTF8 + b"""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
""")
        stops_txt = StringIO(text)
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 2)
        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.parent_station, station)
Example #3
0
def confirm_stop_ajax(request, **kwargs):
    if request.method == 'POST':
        if request.is_ajax():
            request_params = request.POST.dict()
            try:
                valid = False
                stop_id_prefix = request_params.get('stop_id_prefix')
                stop_name = request_params.get('name')
                stop_id_suffix = list(stop_name.replace(' ', '').upper())

                while not valid:
                    random.shuffle(stop_id_suffix)
                    stop_id = stop_id_prefix + "".join(stop_id_suffix[:3])

                    valid = Stop.objects.filter(stop_id=stop_id).count() == 0

                params = {
                    'name': stop_name,
                    'stop_id': stop_id,
                    'point': request_params.get('point'),
                    'feed_id': request_params.get('feed_id')
                }
                stop = Stop(**params)
                stop.save()
                return http.HttpResponse(json.dumps({
                    'id': stop.id,
                    'name': stop.name,
                    'lat': stop.point.y,
                    'lon': stop.point.x
                }),
                                         status=201)
            except DatabaseError as e:
                return http.HttpResponse(
                    status=400, content="A problem occurred. Stop not created")
    def test_import_stops_txt_duplicate(self):
        stops_txt = StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162
FUR_CREEK_RES,Furnace Creek Resort,,36.42,-117.13
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, 'FUR_CREEK_RES')
        self.assertEqual(stop.name, 'Furnace Creek Resort (Demo)')
Example #5
0
    def test_import_stops_txt_duplicate(self):
        stops_txt = StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162
FUR_CREEK_RES,Furnace Creek Resort,,36.42,-117.13
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, 'FUR_CREEK_RES')
        self.assertEqual(stop.name, 'Furnace Creek Resort (Demo)')
    def test_import_stops_txt_parent_is_space(self):
        """If parent station is an empty string, then leave unset

        Issue #36
        """
        stops_txt = StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon,parent_station
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162," "
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.parent_station, None)
Example #7
0
    def test_import_stops_txt_parent_is_space(self):
        """If parent station is an empty string, then leave unset

        Issue #36
        """
        stops_txt = StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon,parent_station
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162," "
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.parent_station, None)
Example #8
0
    def test_import_stops_txt_bom(self):
        stops_txt = StringIO(bom_prefix_csv("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
"""))
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 2)
        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.parent_station, station)
Example #9
0
    def test_import_stops_txt_bom(self):
        stops_txt = StringIO(bom_prefix_csv("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
"""))
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 2)
        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.parent_station, station)
    def test_import_stops_txt_strip_spaces(self):
        """A whitespace-only field is treated as empty.

        From SFMTA feed.
        """
        stops_txt = StringIO("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url
98,198,2ND ST & MARKET ST, ,37.789255,-122.401225, ,%s
""" % ' ')  # Get around flake8 warning on trailing whitespace
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.name, '2ND ST & MARKET ST')
        self.assertEqual(stop.desc, '')
        self.assertEqual(stop.zone, None)
        self.assertEqual(stop.url, '')
Example #11
0
 def test_legacy_lat_long(self):
     stop1 = Stop(feed=self.feed, stop_id='STOP1')
     stop1.lat = 36.425288
     stop1.lon = -117.133162
     stop1.save()
     stop2 = Stop(feed=self.feed, stop_id='STOP2')
     stop2.lon = -117.14
     stop2.lat = 36.43
     stop2.save()
     self.assertEqual(stop1.point.coords, (-117.133162, 36.425288))
     self.assertEqual(stop1.lat, 36.425288)
     self.assertEqual(stop1.lon, -117.133162)
     self.assertEqual(stop2.point.coords, (-117.14, 36.43))
     self.assertEqual(stop2.lat, 36.43)
     self.assertEqual(stop2.lon, -117.14)
    def test_import_stops_txt_plus_point(self):
        """Test issue #70, latitude / longitude with leading plus sign."""
        stops_txt = StringIO("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,location_type,parent_station
10258,TANEU,TANNEURS,,+49.119799,+06.182966,1,
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, '10258')
        self.assertEqual(stop.code, 'TANEU')
        self.assertEqual(stop.name, 'TANNEURS')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '49.119799')
        self.assertEqual(str(stop.lon), '6.182966')
        self.assertEqual(stop.location_type, '1')
        self.assertEqual(stop.parent_station, None)
Example #13
0
    def test_import_stops_txt_stop_before_station_plus_extra(self):
        stops_txt = StringIO("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone,extra
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,,a stop
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles,a station
""")
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 2)
        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.parent_station, station)
        self.assertEqual(stop.extra_data, {'extra': 'a stop'})
        self.assertEqual(station.extra_data, {'extra': 'a station'})
        expected = {'extra_columns': {'Stop': ['extra']}}
        self.assertEqual(expected, self.feed.meta)
    def test_import_stops_txt_stop_before_station_plus_extra(self):
        stops_txt = StringIO("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone,extra
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,,a stop
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles,a station
""")
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 2)
        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.parent_station, station)
        self.assertEqual(stop.extra_data, {'extra': 'a stop'})
        self.assertEqual(station.extra_data, {'extra': 'a station'})
        expected = {'extra_columns': {'Stop': ['extra']}}
        self.assertEqual(expected, self.feed.meta)
Example #15
0
    def test_import_stops_txt_maximal(self):
        stops_txt = StringIO("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone,wheelchair_boarding
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles,1
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FEZ_CREEK_STA,,Fez Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
FEZ_CREEK_RES,FC,Fez Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FEZ_CREEK_STA,
""")
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 4)

        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        zone = Zone.objects.get(feed=self.feed, zone_id='A')
        self.assertEqual(station.code, '')
        self.assertEqual(station.name, 'Furnace Creek Station')
        self.assertEqual(station.desc, 'Our Station')
        self.assertEqual(str(station.lat), '36.425288')
        self.assertEqual(str(station.lon), '-117.133162')
        self.assertEqual(station.zone, zone)
        self.assertEqual(station.url, 'http://example.com')
        self.assertEqual(station.location_type, '1')
        self.assertEqual(station.parent_station, None)
        self.assertEqual(station.timezone, 'America/Los_Angeles')
        self.assertEqual(station.wheelchair_boarding, '1')

        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.code, 'FC')
        self.assertEqual(stop.name, 'Furnace Creek Resort')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '36.425288')
        self.assertEqual(str(stop.lon), '-117.133162')
        self.assertEqual(stop.zone, zone)
        self.assertEqual(stop.url, 'http://example.com/fcr')
        self.assertEqual(stop.location_type, '0')
        self.assertEqual(stop.parent_station, station)
        self.assertEqual(stop.timezone, '')

        stop2 = Stop.objects.get(stop_id='FEZ_CREEK_RES')
        self.assertEqual(stop2.parent_station.stop_id, 'FEZ_CREEK_STA')
    def test_import_stops_txt_maximal(self):
        stops_txt = StringIO("""\
stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,\
location_type,parent_station,stop_timezone,wheelchair_boarding
FUR_CREEK_STA,,Furnace Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles,1
FUR_CREEK_RES,FC,Furnace Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FUR_CREEK_STA,
FEZ_CREEK_STA,,Fez Creek Station,"Our Station",36.425288,-117.133162,A,\
http://example.com,1,,America/Los_Angeles
FEZ_CREEK_RES,FC,Fez Creek Resort,,36.425288,-117.133162,A,\
http://example.com/fcr,0,FEZ_CREEK_STA,
""")
        Stop.import_txt(stops_txt, self.feed)
        self.assertEqual(Stop.objects.count(), 4)

        station = Stop.objects.get(stop_id='FUR_CREEK_STA')
        zone = Zone.objects.get(feed=self.feed, zone_id='A')
        self.assertEqual(station.code, '')
        self.assertEqual(station.name, 'Furnace Creek Station')
        self.assertEqual(station.desc, 'Our Station')
        self.assertEqual(str(station.lat), '36.425288')
        self.assertEqual(str(station.lon), '-117.133162')
        self.assertEqual(station.zone, zone)
        self.assertEqual(station.url, 'http://example.com')
        self.assertEqual(station.location_type, '1')
        self.assertEqual(station.parent_station, None)
        self.assertEqual(station.timezone, 'America/Los_Angeles')
        self.assertEqual(station.wheelchair_boarding, '1')

        stop = Stop.objects.get(stop_id='FUR_CREEK_RES')
        self.assertEqual(stop.code, 'FC')
        self.assertEqual(stop.name, 'Furnace Creek Resort')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '36.425288')
        self.assertEqual(str(stop.lon), '-117.133162')
        self.assertEqual(stop.zone, zone)
        self.assertEqual(stop.url, 'http://example.com/fcr')
        self.assertEqual(stop.location_type, '0')
        self.assertEqual(stop.parent_station, station)
        self.assertEqual(stop.timezone, '')

        stop2 = Stop.objects.get(stop_id='FEZ_CREEK_RES')
        self.assertEqual(stop2.parent_station.stop_id, 'FEZ_CREEK_STA')
Example #17
0
    def test_import_stops_txt_minimal(self):
        stops_txt = StringIO.StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, 'FUR_CREEK_RES')
        self.assertEqual(stop.code, '')
        self.assertEqual(stop.name, 'Furnace Creek Resort (Demo)')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '36.425288')
        self.assertEqual(str(stop.lon), '-117.133162')
        self.assertEqual(stop.zone, None)
        self.assertEqual(stop.url, '')
        self.assertEqual(stop.location_type, '')
        self.assertEqual(stop.parent_station, None)
        self.assertEqual(stop.timezone, '')
Example #18
0
    def test_export_stops_utf8(self):
        Stop.objects.create(
            feed=self.feed, stop_id=6071,
            name=b'The Delta Caf\x82'.decode('latin1'),
            point='POINT(-95.975834 36.114554)')
        stops_txt = force_utf8(Stop.export_txt(self.feed))
        self.assertEqual(stops_txt, b"""\
stop_id,stop_name,stop_lat,stop_lon
6071,The Delta Caf\xc2\x82,36.114554,-95.975834
""")
Example #19
0
    def test_export_stops_utf8(self):
        Stop.objects.create(
            feed=self.feed, stop_id=6071,
            name=b'The Delta Caf\x82'.decode('latin1'),
            point='POINT(-95.975834 36.114554)')
        stops_txt = force_utf8(Stop.export_txt(self.feed))
        self.assertEqual(stops_txt, b"""\
stop_id,stop_name,stop_lat,stop_lon
6071,The Delta Caf\xc2\x82,36.114554,-95.975834
""")
Example #20
0
    def test_export_stops_txt_minimal(self):
        Stop.objects.create(
            feed=self.feed, stop_id='FUR_CREEK_RES',
            name='Furnace Creek Resort (Demo)',
            point="POINT(-117.133162 36.425288)")
        stops_txt = Stop.export_txt(self.feed)
        self.assertEqual(stops_txt, """\
stop_id,stop_name,stop_lat,stop_lon
FUR_CREEK_RES,Furnace Creek Resort (Demo),36.425288,-117.133162
""")
Example #21
0
    def test_import_stops_txt_minimal(self):
        stops_txt = StringIO.StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, 'FUR_CREEK_RES')
        self.assertEqual(stop.code, '')
        self.assertEqual(stop.name, 'Furnace Creek Resort (Demo)')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '36.425288')
        self.assertEqual(str(stop.lon), '-117.133162')
        self.assertEqual(stop.zone, None)
        self.assertEqual(stop.url, '')
        self.assertEqual(stop.location_type, '')
        self.assertEqual(stop.parent_station, None)
        self.assertEqual(stop.timezone, '')
Example #22
0
    def test_export_stops_txt_minimal(self):
        Stop.objects.create(
            feed=self.feed, stop_id='FUR_CREEK_RES',
            name='Furnace Creek Resort (Demo)',
            point="POINT(-117.133162 36.425288)")
        stops_txt = Stop.export_txt(self.feed)
        self.assertEqual(stops_txt, """\
stop_id,stop_name,stop_lat,stop_lon
FUR_CREEK_RES,Furnace Creek Resort (Demo),36.425288,-117.133162
""")
Example #23
0
    def test_export_stops_utf8(self):
        Stop.objects.create(
            feed=self.feed, stop_id=6071,
            name=b'The Delta Caf\x82'.decode('latin1'),
            point='POINT(-95.975834 36.114554)')
        stops_txt = Stop.export_txt(self.feed)
        if isinstance(stops_txt, text_type):  # pragma: no cover
            stops_txt = stops_txt.encode('utf-8')
        self.assertEqual(stops_txt, b"""\
stop_id,stop_name,stop_lat,stop_lon
6071,The Delta Caf\xc2\x82,36.114554,-95.975834
""")
Example #24
0
    def test_export_stops_utf8(self):
        Stop.objects.create(feed=self.feed,
                            stop_id=6071,
                            name=b'The Delta Caf\x82'.decode('latin1'),
                            point='POINT(-95.975834 36.114554)')
        stops_txt = Stop.export_txt(self.feed)
        if isinstance(stops_txt, text_type):  # pragma: no cover
            stops_txt = stops_txt.encode('utf-8')
        self.assertEqual(
            stops_txt, b"""\
stop_id,stop_name,stop_lat,stop_lon
6071,The Delta Caf\xc2\x82,36.114554,-95.975834
""")
Example #25
0
    def test_export_stops_extra_data(self):
        self.feed.meta = {'extra_columns': {'Stop': ['extra']}}
        self.feed.save()
        Stop.objects.create(
            feed=self.feed, stop_id='FUR_CREEK_RES',
            name='Furnace Creek Resort (Demo)',
            point="POINT(-117.133162 36.425288)",
            extra_data={'extra': '7'})
        stops_txt = Stop.export_txt(self.feed)
        self.assertEqual(stops_txt, """\
stop_id,stop_name,stop_lat,stop_lon,extra
FUR_CREEK_RES,Furnace Creek Resort (Demo),36.425288,-117.133162,7
""")
Example #26
0
    def test_export_stops_extra_data(self):
        self.feed.meta = {'extra_columns': {'Stop': ['extra']}}
        self.feed.save()
        Stop.objects.create(
            feed=self.feed, stop_id='FUR_CREEK_RES',
            name='Furnace Creek Resort (Demo)',
            point="POINT(-117.133162 36.425288)",
            extra_data={'extra': '7'})
        stops_txt = Stop.export_txt(self.feed)
        self.assertEqual(stops_txt, """\
stop_id,stop_name,stop_lat,stop_lon,extra
FUR_CREEK_RES,Furnace Creek Resort (Demo),36.425288,-117.133162,7
""")
Example #27
0
    def test_import_stops_txt_extra_columns(self):
        stops_txt = StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon,platform_code
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162,7
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, 'FUR_CREEK_RES')
        self.assertEqual(stop.code, '')
        self.assertEqual(stop.name, 'Furnace Creek Resort (Demo)')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '36.425288')
        self.assertEqual(str(stop.lon), '-117.133162')
        self.assertEqual(stop.zone, None)
        self.assertEqual(stop.url, '')
        self.assertEqual(stop.location_type, '')
        self.assertEqual(stop.parent_station, None)
        self.assertEqual(stop.timezone, '')
        self.assertEqual(stop.wheelchair_boarding, '')
        self.assertEqual({'platform_code': '7'}, stop.extra_data)
        expected = {'extra_columns': {'Stop': ['platform_code']}}
        self.assertEqual(expected, self.feed.meta)
    def test_import_stops_txt_extra_columns(self):
        stops_txt = StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon,platform_code
FUR_CREEK_RES,Furnace Creek Resort (Demo),,36.425288,-117.133162,7
""")
        Stop.import_txt(stops_txt, self.feed)
        stop = Stop.objects.get()
        self.assertEqual(stop.feed, self.feed)
        self.assertEqual(stop.stop_id, 'FUR_CREEK_RES')
        self.assertEqual(stop.code, '')
        self.assertEqual(stop.name, 'Furnace Creek Resort (Demo)')
        self.assertEqual(stop.desc, '')
        self.assertEqual(str(stop.lat), '36.425288')
        self.assertEqual(str(stop.lon), '-117.133162')
        self.assertEqual(stop.zone, None)
        self.assertEqual(stop.url, '')
        self.assertEqual(stop.location_type, '')
        self.assertEqual(stop.parent_station, None)
        self.assertEqual(stop.timezone, '')
        self.assertEqual(stop.wheelchair_boarding, '')
        self.assertEqual({'platform_code': '7'}, stop.extra_data)
        expected = {'extra_columns': {'Stop': ['platform_code']}}
        self.assertEqual(expected, self.feed.meta)
 def test_legacy_lat_long(self):
     stop1 = Stop(feed=self.feed, stop_id='STOP1')
     stop1.lat = 36.425288
     stop1.lon = -117.133162
     stop1.save()
     stop2 = Stop(feed=self.feed, stop_id='STOP2')
     stop2.lon = -117.14
     stop2.lat = 36.43
     stop2.save()
     self.assertEqual(stop1.point.coords, (-117.133162, 36.425288))
     self.assertEqual(stop1.lat, 36.425288)
     self.assertEqual(stop1.lon, -117.133162)
     self.assertEqual(stop2.point.coords, (-117.14, 36.43))
     self.assertEqual(stop2.lat, 36.43)
     self.assertEqual(stop2.lon, -117.14)
Example #30
0
    def test_import_stops_txt_none(self):
        stops_txt = StringIO.StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon
""")
        Stop.import_txt(stops_txt, self.feed)
        self.assertFalse(Stop.objects.exists())
Example #31
0
 def test_export_stops_txt_none(self):
     stops_txt = Stop.export_txt(self.feed)
     self.assertFalse(stops_txt)
 def test_export_stops_txt_none(self):
     stops_txt = Stop.export_txt(self.feed)
     self.assertFalse(stops_txt)
Example #33
0
    def test_import_stops_txt_none(self):
        stops_txt = StringIO.StringIO("""\
stop_id,stop_name,stop_desc,stop_lat,stop_lon
""")
        Stop.import_txt(stops_txt, self.feed)
        self.assertFalse(Stop.objects.exists())