33
44from typing import List , TYPE_CHECKING , Optional
55
6+ from typing_extensions import Self
7+
68from tibiapy .models .house import HouseEntry , HousesSection , House
79
810if TYPE_CHECKING :
@@ -21,43 +23,43 @@ def __init__(self):
2123 self ._available_worlds = []
2224 self ._available_towns = []
2325
24- def world (self , world : str ):
26+ def world (self , world : str ) -> Self :
2527 self ._world = world
2628 return self
2729
28- def town (self , town : str ):
30+ def town (self , town : str ) -> Self :
2931 self ._town = town
3032 return self
3133
32- def status (self , status : HouseStatus ):
34+ def status (self , status : HouseStatus ) -> Self :
3335 self ._status = status
3436 return self
3537
36- def house_type (self , house_type : HouseType ):
38+ def house_type (self , house_type : HouseType ) -> Self :
3739 self ._house_type = house_type
3840 return self
3941
40- def order (self , order : HouseOrder ):
42+ def order (self , order : HouseOrder ) -> Self :
4143 self ._order = order
4244 return self
4345
44- def entries (self , entries : List [HouseEntry ]):
46+ def entries (self , entries : List [HouseEntry ]) -> Self :
4547 self ._entries = entries
4648 return self
4749
48- def add_entry (self , entry : HouseEntry ):
50+ def add_entry (self , entry : HouseEntry ) -> Self :
4951 self ._entries .append (entry )
5052 return self
5153
52- def available_worlds (self , available_worlds : List [str ]):
54+ def available_worlds (self , available_worlds : List [str ]) -> Self :
5355 self ._available_worlds = available_worlds
5456 return self
5557
56- def available_towns (self , available_towns : List [str ]):
58+ def available_towns (self , available_towns : List [str ]) -> Self :
5759 self ._available_towns = available_towns
5860 return self
5961
60- def build (self ):
62+ def build (self ) -> HousesSection :
6163 return HousesSection (
6264 world = self ._world ,
6365 town = self ._town ,
@@ -100,35 +102,35 @@ def __init__(self):
100102 self ._time_left = None
101103 self ._highest_bid = None
102104
103- def status (self , status : HouseStatus ):
105+ def status (self , status : HouseStatus ) -> Self :
104106 self ._status = status
105107 return self
106108
107- def type (self , type : HouseType ):
109+ def type (self , type : HouseType ) -> Self :
108110 self ._type = type
109111 return self
110112
111- def town (self , town : str ):
113+ def town (self , town : str ) -> Self :
112114 self ._town = town
113115 return self
114116
115- def size (self , size : int ):
117+ def size (self , size : int ) -> Self :
116118 self ._size = size
117119 return self
118120
119- def rent (self , rent : int ):
121+ def rent (self , rent : int ) -> Self :
120122 self ._rent = rent
121123 return self
122124
123- def time_left (self , time_left : Optional [datetime .timedelta ]):
125+ def time_left (self , time_left : Optional [datetime .timedelta ]) -> Self :
124126 self ._time_left = time_left
125127 return self
126128
127- def highest_bid (self , highest_bid : Optional [int ]):
129+ def highest_bid (self , highest_bid : Optional [int ]) -> Self :
128130 self ._highest_bid = highest_bid
129131 return self
130132
131- def build (self ):
133+ def build (self ) -> HouseEntry :
132134 return HouseEntry (
133135 name = self ._name ,
134136 id = self ._id ,
@@ -163,71 +165,71 @@ def __init__(self):
163165 self ._highest_bidder = None
164166 self ._auction_end = None
165167
166- def status (self , status : HouseStatus ):
168+ def status (self , status : HouseStatus ) -> Self :
167169 self ._status = status
168170 return self
169171
170- def rent (self , rent : int ):
172+ def rent (self , rent : int ) -> Self :
171173 self ._rent = rent
172174 return self
173175
174- def type (self , type : HouseType ):
176+ def type (self , type : HouseType ) -> Self :
175177 self ._type = type
176178 return self
177179
178- def image_url (self , image_url : str ):
180+ def image_url (self , image_url : str ) -> Self :
179181 self ._image_url = image_url
180182 return self
181183
182- def beds (self , beds : int ):
184+ def beds (self , beds : int ) -> Self :
183185 self ._beds = beds
184186 return self
185187
186- def size (self , size : int ):
188+ def size (self , size : int ) -> Self :
187189 self ._size = size
188190 return self
189191
190- def owner (self , owner : Optional [str ]):
192+ def owner (self , owner : Optional [str ]) -> Self :
191193 self ._owner = owner
192194 return self
193195
194- def owner_sex (self , owner_sex : Sex ):
196+ def owner_sex (self , owner_sex : Sex ) -> Self :
195197 self ._owner_sex = owner_sex
196198 return self
197199
198- def paid_until (self , paid_until : Optional [datetime .datetime ]):
200+ def paid_until (self , paid_until : Optional [datetime .datetime ]) -> Self :
199201 self ._paid_until = paid_until
200202 return self
201203
202- def transfer_date (self , transfer_date : Optional [datetime .datetime ]):
204+ def transfer_date (self , transfer_date : Optional [datetime .datetime ]) -> Self :
203205 self ._transfer_date = transfer_date
204206 return self
205207
206- def transfer_recipient (self , transfer_recipient : Optional [str ]):
208+ def transfer_recipient (self , transfer_recipient : Optional [str ]) -> Self :
207209 self ._transfer_recipient = transfer_recipient
208210 return self
209211
210- def transfer_price (self , transfer_price : Optional [int ]):
212+ def transfer_price (self , transfer_price : Optional [int ]) -> Self :
211213 self ._transfer_price = transfer_price
212214 return self
213215
214- def transfer_accepted (self , transfer_accepted : Optional [bool ]):
216+ def transfer_accepted (self , transfer_accepted : Optional [bool ]) -> Self :
215217 self ._transfer_accepted = transfer_accepted
216218 return self
217219
218- def highest_bid (self , highest_bid : Optional [int ]):
220+ def highest_bid (self , highest_bid : Optional [int ]) -> Self :
219221 self ._highest_bid = highest_bid
220222 return self
221223
222- def highest_bidder (self , highest_bidder : Optional [str ]):
224+ def highest_bidder (self , highest_bidder : Optional [str ]) -> Self :
223225 self ._highest_bidder = highest_bidder
224226 return self
225227
226- def auction_end (self , auction_end : Optional [datetime .datetime ]):
228+ def auction_end (self , auction_end : Optional [datetime .datetime ]) -> Self :
227229 self ._auction_end = auction_end
228230 return self
229231
230- def build (self ):
232+ def build (self ) -> House :
231233 return House (
232234 name = self ._name ,
233235 id = self ._id ,
0 commit comments