ownerrez-wrapper 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- ownerrez_wrapper/__init__.py +3 -2
- ownerrez_wrapper/api.py +11 -4
- {ownerrez_wrapper-0.1.0.dist-info → ownerrez_wrapper-0.2.0.dist-info}/METADATA +1 -1
- ownerrez_wrapper-0.2.0.dist-info/RECORD +15 -0
- tests/test_api.py +8 -0
- ownerrez_wrapper-0.1.0.dist-info/RECORD +0 -15
- {ownerrez_wrapper-0.1.0.dist-info → ownerrez_wrapper-0.2.0.dist-info}/LICENSE +0 -0
- {ownerrez_wrapper-0.1.0.dist-info → ownerrez_wrapper-0.2.0.dist-info}/WHEEL +0 -0
- {ownerrez_wrapper-0.1.0.dist-info → ownerrez_wrapper-0.2.0.dist-info}/entry_points.txt +0 -0
- {ownerrez_wrapper-0.1.0.dist-info → ownerrez_wrapper-0.2.0.dist-info}/top_level.txt +0 -0
ownerrez_wrapper/__init__.py
CHANGED
@@ -8,8 +8,9 @@ A Python wrapper for the OwnerRez API.
|
|
8
8
|
from .api import API
|
9
9
|
from .cli import main as cli
|
10
10
|
|
11
|
-
__version__ = "0.
|
11
|
+
__version__ = "0.2.0"
|
12
12
|
__author__ = "Geody Moore"
|
13
|
-
|
13
|
+
__author_email__ = "geody.moore@gmail.com"
|
14
|
+
__description__ = "A Python wrapper for the OwnerRez API"
|
14
15
|
|
15
16
|
__all__ = ["API", "cli"]
|
ownerrez_wrapper/api.py
CHANGED
@@ -48,9 +48,14 @@ class API(object):
|
|
48
48
|
params = {'since_utc': since_utc, 'property_id': property_id}
|
49
49
|
booking_list = restAdapt.get(endpoint='bookings', ep_params=params)
|
50
50
|
|
51
|
-
|
52
|
-
booking
|
53
|
-
|
51
|
+
if isinstance(booking_list.data, list):
|
52
|
+
for booking in booking_list.data:
|
53
|
+
booking = Booking(**booking)
|
54
|
+
results.append(booking)
|
55
|
+
elif isinstance(booking_list.data, dict) and 'items' in booking_list.data:
|
56
|
+
for booking in booking_list.data['items']:
|
57
|
+
booking = Booking(**booking)
|
58
|
+
results.append(booking)
|
54
59
|
return results
|
55
60
|
|
56
61
|
def getbooking(self, booking_id: int) -> Booking:
|
@@ -76,9 +81,11 @@ class API(object):
|
|
76
81
|
today = datetime.today()
|
77
82
|
bookings = self.getbookings(property_id=property_id, since_utc=today)
|
78
83
|
for booking in bookings:
|
84
|
+
if booking.is_block:
|
85
|
+
continue
|
79
86
|
# Convert string dates to datetime if they aren't already
|
80
87
|
arrival = booking.arrival if isinstance(booking.arrival, datetime) else datetime.strptime(booking.arrival, "%Y-%m-%d")
|
81
88
|
departure = booking.departure if isinstance(booking.departure, datetime) else datetime.strptime(booking.departure, "%Y-%m-%d")
|
82
|
-
if arrival <= today and departure >= today:
|
89
|
+
if arrival <= today and departure >= today and booking.status == "active":
|
83
90
|
return True
|
84
91
|
return False
|
@@ -0,0 +1,15 @@
|
|
1
|
+
ownerrez_wrapper/__init__.py,sha256=T9VhZnbqMPykgLwmg7Ze8zKb0lVys5aKP3t83umPKck,317
|
2
|
+
ownerrez_wrapper/api.py,sha256=CBvstz4MqTb8OPaT_fOniRb4JxYDd0XckjCCub3mouQ,3356
|
3
|
+
ownerrez_wrapper/cli.py,sha256=44xW8FJk1YgIhqerP93hkHAWGTIWjakgRv_cpeZs7UI,4132
|
4
|
+
ownerrez_wrapper/constants.py,sha256=Ix4x3_9aXUymp6Kcl2AzxrGM2EXHghD0-uYZLclYTVU,49
|
5
|
+
ownerrez_wrapper/exceptions.py,sha256=HKIlPHD9A-J8aXnTglPYcxo6hx-_zQQtCgNoEgVklQI,97
|
6
|
+
ownerrez_wrapper/model.py,sha256=Gps5BlP-0jhP7P7ludbRAuvm9g2HSiaN4cGtN76u9MM,7289
|
7
|
+
ownerrez_wrapper/restAdapter.py,sha256=nFEs8XEOYnwGCTDiEQB4gQi5e7HTjm4Bys_NMTJGIlc,3254
|
8
|
+
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
+
tests/test_api.py,sha256=RJ9suPSmL7uix_55QtLCdrbh1GrN2fb02exu78usL9w,4340
|
10
|
+
ownerrez_wrapper-0.2.0.dist-info/LICENSE,sha256=K_mUywmexnvIytD3Tez6g71VomULBMeiG5T0vpswsuc,1068
|
11
|
+
ownerrez_wrapper-0.2.0.dist-info/METADATA,sha256=-5uvP5UuSzzcJOX2lK_6AG4dHFqUz2Ps8K11_ZPSlcQ,4976
|
12
|
+
ownerrez_wrapper-0.2.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
13
|
+
ownerrez_wrapper-0.2.0.dist-info/entry_points.txt,sha256=_VDZya-q8qV4nm6vSOuaWFoX5Mp7v3ToTY-uyY-vlU4,55
|
14
|
+
ownerrez_wrapper-0.2.0.dist-info/top_level.txt,sha256=byMzRUOQek_TqAI4k_0nj4xi9HtKKoHZ_t4XBIwUduU,23
|
15
|
+
ownerrez_wrapper-0.2.0.dist-info/RECORD,,
|
tests/test_api.py
CHANGED
@@ -110,6 +110,10 @@ def test_isunitbooked(api, mock_booking_response, monkeypatch):
|
|
110
110
|
def mock_get(*args, **kwargs):
|
111
111
|
return Result(status=200, message="OK", data=mock_booking_response)
|
112
112
|
|
113
|
+
# Update mock response to include status and is_block fields
|
114
|
+
mock_booking_response['items'][0]['status'] = 'active'
|
115
|
+
mock_booking_response['items'][0]['is_block'] = False
|
116
|
+
|
113
117
|
monkeypatch.setattr("ownerrez_wrapper.restAdapter.RestAdapter.get", mock_get)
|
114
118
|
is_booked = api.isunitbooked(property_id=1)
|
115
119
|
assert is_booked is True
|
@@ -119,6 +123,10 @@ def test_isunitbooked_not_booked(api, mock_booking_response, monkeypatch):
|
|
119
123
|
def mock_get(*args, **kwargs):
|
120
124
|
return Result(status=200, message="OK", data=mock_booking_response)
|
121
125
|
|
126
|
+
# Update mock response to include status and is_block fields
|
127
|
+
mock_booking_response['items'][0]['status'] = 'active'
|
128
|
+
mock_booking_response['items'][0]['is_block'] = False
|
129
|
+
|
122
130
|
monkeypatch.setattr("ownerrez_wrapper.restAdapter.RestAdapter.get", mock_get)
|
123
131
|
is_booked = api.isunitbooked(property_id=1)
|
124
132
|
assert is_booked is False
|
@@ -1,15 +0,0 @@
|
|
1
|
-
ownerrez_wrapper/__init__.py,sha256=S4PQiSD4uqBXFDlnQZ6tLDRX_KHH8EAtVZjDZSecubM,252
|
2
|
-
ownerrez_wrapper/api.py,sha256=sD_hlZ5Slb7cprI6os4nVdPeQSYsqteuDQ-DWFw70N4,2993
|
3
|
-
ownerrez_wrapper/cli.py,sha256=44xW8FJk1YgIhqerP93hkHAWGTIWjakgRv_cpeZs7UI,4132
|
4
|
-
ownerrez_wrapper/constants.py,sha256=Ix4x3_9aXUymp6Kcl2AzxrGM2EXHghD0-uYZLclYTVU,49
|
5
|
-
ownerrez_wrapper/exceptions.py,sha256=HKIlPHD9A-J8aXnTglPYcxo6hx-_zQQtCgNoEgVklQI,97
|
6
|
-
ownerrez_wrapper/model.py,sha256=Gps5BlP-0jhP7P7ludbRAuvm9g2HSiaN4cGtN76u9MM,7289
|
7
|
-
ownerrez_wrapper/restAdapter.py,sha256=nFEs8XEOYnwGCTDiEQB4gQi5e7HTjm4Bys_NMTJGIlc,3254
|
8
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
tests/test_api.py,sha256=g8POEEiBjh6rxWiIJTbgv0kc7c7kSBvyEbHhUsNk80c,3966
|
10
|
-
ownerrez_wrapper-0.1.0.dist-info/LICENSE,sha256=K_mUywmexnvIytD3Tez6g71VomULBMeiG5T0vpswsuc,1068
|
11
|
-
ownerrez_wrapper-0.1.0.dist-info/METADATA,sha256=1ZDJmddxB976zPQqGScUaV65-edJVN0kHk5p-sF5wKw,4976
|
12
|
-
ownerrez_wrapper-0.1.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
13
|
-
ownerrez_wrapper-0.1.0.dist-info/entry_points.txt,sha256=_VDZya-q8qV4nm6vSOuaWFoX5Mp7v3ToTY-uyY-vlU4,55
|
14
|
-
ownerrez_wrapper-0.1.0.dist-info/top_level.txt,sha256=byMzRUOQek_TqAI4k_0nj4xi9HtKKoHZ_t4XBIwUduU,23
|
15
|
-
ownerrez_wrapper-0.1.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|