ownerrez-wrapper 0.1.0__tar.gz → 0.2.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (23) hide show
  1. {ownerrez_wrapper-0.1.0/ownerrez_wrapper.egg-info → ownerrez_wrapper-0.2.0}/PKG-INFO +1 -1
  2. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/__init__.py +3 -2
  3. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/api.py +11 -4
  4. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0/ownerrez_wrapper.egg-info}/PKG-INFO +1 -1
  5. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/setup.py +1 -1
  6. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/tests/test_api.py +8 -0
  7. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/LICENSE +0 -0
  8. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/MANIFEST.in +0 -0
  9. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/README.md +0 -0
  10. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/cli.py +0 -0
  11. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/constants.py +0 -0
  12. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/exceptions.py +0 -0
  13. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/model.py +0 -0
  14. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper/restAdapter.py +0 -0
  15. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper.egg-info/SOURCES.txt +0 -0
  16. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper.egg-info/dependency_links.txt +0 -0
  17. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper.egg-info/entry_points.txt +0 -0
  18. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper.egg-info/requires.txt +0 -0
  19. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/ownerrez_wrapper.egg-info/top_level.txt +0 -0
  20. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/requirements-dev.txt +0 -0
  21. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/requirements.txt +0 -0
  22. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/setup.cfg +0 -0
  23. {ownerrez_wrapper-0.1.0 → ownerrez_wrapper-0.2.0}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ownerrez-wrapper
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A Python wrapper for the OwnerRez API
5
5
  Home-page: https://github.com/gmoorevt/ownerrez-wrapper
6
6
  Author: Geody Moore
@@ -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.1.0"
11
+ __version__ = "0.2.0"
12
12
  __author__ = "Geody Moore"
13
- __email__ = "geody.moore@gmail.com"
13
+ __author_email__ = "geody.moore@gmail.com"
14
+ __description__ = "A Python wrapper for the OwnerRez API"
14
15
 
15
16
  __all__ = ["API", "cli"]
@@ -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
- for booking in booking_list.data['items']:
52
- booking = Booking(**booking)
53
- results.append(booking)
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ownerrez-wrapper
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A Python wrapper for the OwnerRez API
5
5
  Home-page: https://github.com/gmoorevt/ownerrez-wrapper
6
6
  Author: Geody Moore
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="ownerrez-wrapper",
8
- version="0.1.0",
8
+ version="0.2.0",
9
9
  author="Geody Moore",
10
10
  author_email="geody.moore@gmail.com",
11
11
  description="A Python wrapper for the OwnerRez API",
@@ -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