Skip to content

Commit 03374f0

Browse files
committed
Switch to absolute imports for Python3 compatability
Part of google#412 Started by: futurize -nw -f libfuturize.fixes.fix_absolute_import . And followed up by fixing a few local problems.
1 parent 14ee635 commit 03374f0

27 files changed

+125
-96
lines changed

extensions/googletransit/__init__.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from agency import *
18-
from fareattribute import *
19-
from route import *
20-
from setup_extension import *
21-
from stop import *
17+
from __future__ import absolute_import
18+
from .agency import *
19+
from .fareattribute import *
20+
from .route import *
21+
from .setup_extension import *
22+
from .stop import *

extensions/googletransit/agency.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
import extension_util
17+
from __future__ import absolute_import
18+
19+
from . import extension_util
1820
import transitfeed
1921

2022
class Agency(transitfeed.Agency):

extensions/googletransit/extension_util.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from pybcp47 import Bcp47LanguageParser
17+
from __future__ import absolute_import
18+
from .pybcp47 import Bcp47LanguageParser
1819
from transitfeed import problems as problems_class
1920
from transitfeed import util
2021

extensions/googletransit/pybcp47/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from bcp47languageparser import *
17+
from __future__ import absolute_import
18+
from .bcp47languageparser import *

extensions/googletransit/pybcp47/testpybcp47.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@
1616

1717
# Unit tests for the bcp47languageparser module.
1818

19+
from __future__ import absolute_import
1920
import codecs
2021
import os
2122
import unittest
2223

23-
from bcp47languageparser import Bcp47LanguageParser
24+
from .bcp47languageparser import Bcp47LanguageParser
2425

2526
class PyBcp47TestCase(unittest.TestCase):
2627
bcp47parser = Bcp47LanguageParser()

extensions/googletransit/setup_extension.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
import transitfeed
1819

19-
import agency
20-
import fareattribute
21-
import route
22-
import stop
20+
from . import agency
21+
from . import fareattribute
22+
from . import route
23+
from . import stop
2324

2425
def GetGtfsFactory(factory = None):
2526
if not factory:

transitfeed/__init__.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -56,33 +56,34 @@
5656
TimeToSecondsSinceMidnight(): Convert HH:MM:SS into seconds since midnight.
5757
FormatSecondsSinceMidnight(s): Formats number of seconds past midnight into a string
5858
"""
59+
from __future__ import absolute_import
5960

6061
# util needs to be imported before problems because otherwise the loading order
6162
# of this module is Agency -> Problems -> Util -> Trip and trip tries to
6263
# use problems.default_problem_reporter as a default argument (which fails
6364
# because problems.py isn't fully loaded yet). Loading util first solves this as
6465
# problems.py gets fully loaded right away.
6566
# TODO: Solve this problem cleanly
66-
from util import *
67-
from agency import *
68-
from fareattribute import *
69-
from farerule import *
70-
from frequency import *
71-
from gtfsfactory import *
72-
from gtfsfactoryuser import *
73-
from gtfsobjectbase import *
74-
from loader import *
75-
from problems import *
76-
from route import *
77-
from schedule import *
78-
from serviceperiod import *
79-
from shape import *
80-
from shapelib import *
81-
from shapeloader import *
82-
from shapepoint import *
83-
from stop import *
84-
from stoptime import *
85-
from transfer import *
86-
from trip import *
67+
from .util import *
68+
from .agency import *
69+
from .fareattribute import *
70+
from .farerule import *
71+
from .frequency import *
72+
from .gtfsfactory import *
73+
from .gtfsfactoryuser import *
74+
from .gtfsobjectbase import *
75+
from .loader import *
76+
from .problems import *
77+
from .route import *
78+
from .schedule import *
79+
from .serviceperiod import *
80+
from .shape import *
81+
from .shapelib import *
82+
from .shapeloader import *
83+
from .shapepoint import *
84+
from .stop import *
85+
from .stoptime import *
86+
from .transfer import *
87+
from .trip import *
8788

8889
from transitfeed.version import __version__

transitfeed/agency.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from gtfsobjectbase import GtfsObjectBase
18-
from problems import default_problem_reporter
19-
import util
17+
from __future__ import absolute_import
18+
from .gtfsobjectbase import GtfsObjectBase
19+
from .problems import default_problem_reporter
20+
from . import util
2021

2122
class Agency(GtfsObjectBase):
2223
"""Represents an agency in a schedule.

transitfeed/fareattribute.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from gtfsobjectbase import GtfsObjectBase
18-
from problems import default_problem_reporter
19-
import util
17+
from __future__ import absolute_import
18+
from .gtfsobjectbase import GtfsObjectBase
19+
from .problems import default_problem_reporter
20+
from . import util
2021

2122
class FareAttribute(GtfsObjectBase):
2223
"""Represents a fare type."""

transitfeed/farerule.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from problems import default_problem_reporter
18-
from gtfsobjectbase import GtfsObjectBase
17+
from __future__ import absolute_import
18+
from .problems import default_problem_reporter
19+
from .gtfsobjectbase import GtfsObjectBase
1920

2021
class FareRule(GtfsObjectBase):
2122
"""This class represents a rule that determines which itineraries a

transitfeed/frequency.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from gtfsobjectbase import GtfsObjectBase
18-
import util
17+
from __future__ import absolute_import
18+
from .gtfsobjectbase import GtfsObjectBase
19+
from . import util
1920

2021
class Frequency(GtfsObjectBase):
2122
"""This class represents a period of a trip during which the vehicle travels

transitfeed/gtfsfactory.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,23 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from agency import Agency
18-
from fareattribute import FareAttribute
19-
from farerule import FareRule
20-
from feedinfo import FeedInfo
21-
from frequency import Frequency
22-
from loader import Loader
23-
import problems
24-
from route import Route
25-
from schedule import Schedule
26-
from serviceperiod import ServicePeriod
27-
from shape import Shape
28-
from shapepoint import ShapePoint
29-
from stop import Stop
30-
from stoptime import StopTime
31-
from transfer import Transfer
32-
from trip import Trip
17+
from __future__ import absolute_import
18+
from .agency import Agency
19+
from .fareattribute import FareAttribute
20+
from .farerule import FareRule
21+
from .feedinfo import FeedInfo
22+
from .frequency import Frequency
23+
from .loader import Loader
24+
from . import problems
25+
from .route import Route
26+
from .schedule import Schedule
27+
from .serviceperiod import ServicePeriod
28+
from .shape import Shape
29+
from .shapepoint import ShapePoint
30+
from .stop import Stop
31+
from .stoptime import StopTime
32+
from .transfer import Transfer
33+
from .trip import Trip
3334

3435
class GtfsFactory(object):
3536
"""A factory for the default GTFS objects"""

transitfeed/gtfsfactoryuser.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
class GtfsFactoryUser(object):
1819
"""Base class for objects that must store a GtfsFactory in order to
1920
be able to instantiate Gtfs classes.
@@ -38,7 +39,7 @@ def GetGtfsFactory(self):
3839
# This is why the import is here and not at the top level.
3940
# When this runs, gtfsfactory should have already been loaded
4041
# by other modules, avoiding the circular imports.
41-
import gtfsfactory
42+
from . import gtfsfactory
4243
self._gtfs_factory = gtfsfactory.GetGtfsFactory()
4344
return self._gtfs_factory
4445

transitfeed/gtfsobjectbase.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from gtfsfactoryuser import GtfsFactoryUser
17+
from __future__ import absolute_import
18+
from .gtfsfactoryuser import GtfsFactoryUser
1819

1920
class GtfsObjectBase(GtfsFactoryUser):
2021
"""Object with arbitrary attributes which may be added to a schedule.

transitfeed/loader.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
import codecs
1819
import cStringIO as StringIO
1920
import csv
2021
import os
2122
import re
2223
import zipfile
2324

24-
import gtfsfactory as gtfsfactory_module
25-
import problems
26-
import util
25+
from . import gtfsfactory as gtfsfactory_module
26+
from . import problems
27+
from . import util
2728

2829
class Loader:
2930
def __init__(self,

transitfeed/problems.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
# limitations under the License.
1616

1717
from __future__ import print_function
18+
from __future__ import absolute_import
1819
import logging
1920
import time
2021

21-
import util
22+
from . import util
2223

2324
# Problem types:
2425
# Error: A data issue not allowed by the GTFS spec.

transitfeed/route.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from gtfsobjectbase import GtfsObjectBase
18-
import problems as problems_module
19-
import util
17+
from __future__ import absolute_import
18+
from .gtfsobjectbase import GtfsObjectBase
19+
from . import problems as problems_module
20+
from . import util
2021

2122
class Route(GtfsObjectBase):
2223
"""Represents a single route."""

transitfeed/schedule.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
import bisect
1819
import cStringIO as StringIO
1920
import datetime
@@ -39,10 +40,10 @@
3940
import weakref
4041
import zipfile
4142

42-
import gtfsfactory
43-
import problems as problems_module
43+
from . import gtfsfactory
44+
from . import problems as problems_module
4445
from transitfeed.util import defaultdict
45-
import util
46+
from . import util
4647

4748
class Schedule(object):
4849
"""Represents a Schedule, a collection of stops, routes, trips and

transitfeed/serviceperiod.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
import datetime
1819
import re
1920
import time
2021

21-
import problems as problems_module
22-
import util
22+
from . import problems as problems_module
23+
from . import util
2324

2425
class ServicePeriod(object):
2526
"""Represents a service, which identifies a set of dates when one or more

transitfeed/shape.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
import bisect
1819

19-
from gtfsfactoryuser import GtfsFactoryUser
20-
import problems as problems_module
21-
import util
20+
from .gtfsfactoryuser import GtfsFactoryUser
21+
from . import problems as problems_module
22+
from . import util
2223

2324
class Shape(GtfsFactoryUser):
2425
"""This class represents a geographic shape that corresponds to the route

transitfeed/shapeloader.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
from loader import Loader
17+
from __future__ import absolute_import
18+
from .loader import Loader
1819

1920
class ShapeLoader(Loader):
2021
"""A subclass of Loader that only loads the shapes from a GTFS file."""

transitfeed/shapepoint.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
# See the License for the specific language governing permissions and
1616
# limitations under the License.
1717

18+
from __future__ import absolute_import
1819
import bisect
19-
from gtfsobjectbase import GtfsObjectBase
20-
import problems as problems_module
21-
import util
20+
from .gtfsobjectbase import GtfsObjectBase
21+
from . import problems as problems_module
22+
from . import util
2223
import sys
2324

2425
class ShapePoint(GtfsObjectBase):

transitfeed/stop.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
from __future__ import absolute_import
1718
import warnings
1819

19-
from gtfsobjectbase import GtfsObjectBase
20-
import problems as problems_module
21-
import util
20+
from .gtfsobjectbase import GtfsObjectBase
21+
from . import problems as problems_module
22+
from . import util
2223

2324
class Stop(GtfsObjectBase):
2425
"""Represents a single stop. A stop must have a latitude, longitude and name.

0 commit comments

Comments
 (0)