Skip to content

Commit 46d6d18

Browse files
Resolve circular imports and restore top-level imports (#462)
1 parent e2b8c46 commit 46d6d18

File tree

5 files changed

+23
-31
lines changed

5 files changed

+23
-31
lines changed

linode_api4/objects/linode.py

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@
1111
from linode_api4 import util
1212
from linode_api4.common import load_and_validate_keys
1313
from linode_api4.errors import UnexpectedResponseError
14-
from linode_api4.objects import (
15-
Base,
16-
DerivedBase,
17-
Image,
18-
JSONObject,
19-
Property,
20-
Region,
21-
)
22-
from linode_api4.objects.base import MappedObject
14+
from linode_api4.objects.base import Base, MappedObject, Property
15+
from linode_api4.objects.dbase import DerivedBase
2316
from linode_api4.objects.filtering import FilterableAttribute
24-
from linode_api4.objects.networking import IPAddress, IPv6Range, VPCIPAddress
25-
from linode_api4.objects.serializable import StrEnum
17+
from linode_api4.objects.image import Image
18+
from linode_api4.objects.networking import (
19+
Firewall,
20+
IPAddress,
21+
IPv6Range,
22+
VPCIPAddress,
23+
)
24+
from linode_api4.objects.nodebalancer import NodeBalancer
25+
from linode_api4.objects.region import Region
26+
from linode_api4.objects.serializable import JSONObject, StrEnum
2627
from linode_api4.objects.vpc import VPC, VPCSubnet
2728
from linode_api4.paginated_list import PaginatedList
2829

@@ -1618,9 +1619,6 @@ def firewalls(self):
16181619
:returns: A List of Firewalls of the Linode Instance.
16191620
:rtype: List[Firewall]
16201621
"""
1621-
from linode_api4.objects import ( # pylint: disable=import-outside-toplevel
1622-
Firewall,
1623-
)
16241622

16251623
result = self._client.get(
16261624
"{}/firewalls".format(Instance.api_endpoint), model=self
@@ -1640,9 +1638,6 @@ def nodebalancers(self):
16401638
:returns: A List of Nodebalancers of the Linode Instance.
16411639
:rtype: List[Nodebalancer]
16421640
"""
1643-
from linode_api4.objects import ( # pylint: disable=import-outside-toplevel
1644-
NodeBalancer,
1645-
)
16461641

16471642
result = self._client.get(
16481643
"{}/nodebalancers".format(Instance.api_endpoint), model=self

linode_api4/objects/networking.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
from linode_api4.common import Price, RegionPrice
55
from linode_api4.errors import UnexpectedResponseError
6-
from linode_api4.objects import Base, DerivedBase, JSONObject, Property, Region
6+
from linode_api4.objects.base import Base, Property
7+
from linode_api4.objects.dbase import DerivedBase
8+
from linode_api4.objects.region import Region
9+
from linode_api4.objects.serializable import JSONObject
710

811

912
class IPv6Pool(Base):

linode_api4/objects/nodebalancer.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,10 @@
33

44
from linode_api4.common import Price, RegionPrice
55
from linode_api4.errors import UnexpectedResponseError
6-
from linode_api4.objects import (
7-
Base,
8-
DerivedBase,
9-
MappedObject,
10-
Property,
11-
Region,
12-
)
6+
from linode_api4.objects.base import Base, MappedObject, Property
7+
from linode_api4.objects.dbase import DerivedBase
138
from linode_api4.objects.networking import Firewall, IPAddress
9+
from linode_api4.objects.region import Region
1410

1511

1612
class NodeBalancerType(Base):

linode_api4/objects/volume.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from linode_api4.common import Price, RegionPrice
22
from linode_api4.errors import UnexpectedResponseError
3-
from linode_api4.objects import Base, Instance, Property, Region
3+
from linode_api4.objects.base import Base, Property
4+
from linode_api4.objects.linode import Instance, Region
5+
from linode_api4.objects.region import Region
46

57

68
class VolumeType(Base):

linode_api4/objects/vpc.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from linode_api4.errors import UnexpectedResponseError
55
from linode_api4.objects import Base, DerivedBase, Property, Region
6+
from linode_api4.objects.networking import VPCIPAddress
67
from linode_api4.objects.serializable import JSONObject
78
from linode_api4.paginated_list import PaginatedList
89

@@ -110,11 +111,6 @@ def ips(self) -> PaginatedList:
110111
:rtype: PaginatedList of VPCIPAddress
111112
"""
112113

113-
# need to avoid circular import
114-
from linode_api4.objects import ( # pylint: disable=import-outside-toplevel
115-
VPCIPAddress,
116-
)
117-
118114
return self._client._get_and_filter(
119115
VPCIPAddress, endpoint="/vpcs/{}/ips".format(self.id)
120116
)

0 commit comments

Comments
 (0)