Skip to content

Commit

Permalink
Add support for activity_dossiers and accommodation_dossiers.
Browse files Browse the repository at this point in the history
  • Loading branch information
kenlalonde committed Jan 9, 2015
1 parent b60f36a commit 110db6d
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 5 deletions.
4 changes: 3 additions & 1 deletion gapipy/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
)

from .dossier import ( # NOQA
AccommodationDossier,
ActivityDossier,
PlaceDossier,
)

Expand Down Expand Up @@ -58,7 +60,7 @@
'State', 'Timezone',

# Dossier
'PlaceDossier',
'AccommodationDossier', 'ActivityDossier', 'PlaceDossier',

'Language',
]
Expand Down
2 changes: 2 additions & 0 deletions gapipy/resources/dossier/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# flake8: NOQA
from .place_dossier import PlaceDossier
from .activity_dossier import ActivityDossier
from .accommodation_dossier import AccommodationDossier
30 changes: 30 additions & 0 deletions gapipy/resources/dossier/accommodation_dossier.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from __future__ import unicode_literals

from ..base import Resource
from ...models.base import BaseModel


class AccommodationDossier(Resource):
_resource_name = 'accommodation_dossiers'

_as_is_fields = [
'id', 'href', 'name',
'website',
'property_type',
# punt:
'address',
'details',
'features',
'emails',
'phone_numbers',
'rooms',
]

_date_time_fields_local = ['date_created', 'date_last_modified']

@property
def _model_fields(self):
from ..geo import Place
return [
('location', Place),
]
30 changes: 30 additions & 0 deletions gapipy/resources/dossier/activity_dossier.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from __future__ import unicode_literals

from ..base import Resource
from ...models.base import BaseModel


class ActivityDossier(Resource):
_resource_name = 'activity_dossiers'

_as_is_fields = [
'id', 'href',
'name',
'duration_min', 'duration_max',
'price_per_person_min', 'price_per_person_max',
'price_per_group_min', 'price_per_group_max',
'currency',
# XXX do we need something else for these two?
'segment',
'details',
]

_date_time_fields_local = ['date_created', 'date_last_modified']

@property
def _model_fields(self):
from ..geo import Place
return [
('start_location', Place),
('end_location', Place),
]
5 changes: 4 additions & 1 deletion gapipy/resources/tour/accommodation.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from ...models import AccommodationRoom, Address

from ..base import Product
from ..dossier import AccommodationDossier


class Accommodation(Product):
Expand All @@ -11,10 +12,12 @@ class Accommodation(Product):
_is_listable = False

_as_is_fields = ['id', 'href', 'name', 'product_line', 'sku', 'type',
'sub_type', 'phone_numbers', 'accommodation_dossier']
'sub_type', 'phone_numbers']
_date_time_fields_utc = ['date_created', 'date_last_modified']
_model_fields = [('address', Address)]
_model_collection_fields = [('rooms', AccommodationRoom)]
_resource_fields = [('accommodation_dossier', AccommodationDossier)]

def __repr__(self):
return '<{}: {}>'.format(self.__class__.__name__, self.name)

6 changes: 3 additions & 3 deletions gapipy/resources/tour/activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
from ...models import PriceBand

from ..base import Product
from ..dossier import ActivityDossier


class Activity(Product):

_resource_name = 'activities'
_is_listable = False

# TODO: Move `activity_dossier` to `_resource_fields` once the
# ActivityDossier resource is implemented.
_as_is_fields = [
'id', 'href', 'availability', 'name', 'description', 'product_line',
'sku', 'type', 'sub_type', 'requirements', 'activity_dossier',
'sku', 'type', 'sub_type', 'requirements',
]
_date_fields = ['start_date', 'finish_date']
_date_time_fields_utc = ['date_created', 'date_last_modified']
_model_collection_fields = [('price_bands', PriceBand)]
_resource_fields = [('activity_dossier', ActivityDossier)]

0 comments on commit 110db6d

Please sign in to comment.