"""Api Campaign. API to talk to megaphone for the campaign model. """ from podcast.models.api_base import ApiBase class ApiCampaign(ApiBase): """API to talk to megaphone for the campaign model.""" def get_all(self): """Get all campaigns.""" return self._paginated_get_all('campaigns') def get_all_orders(self, campaign_id): """Get all campaigns.""" return self._paginated_get_all('campaigns/{}/orders'.format(campaign_id)) def get_all_advertisements(self, campaign_id, order_id): """Get all campaigns.""" return self._paginated_get_all('campaigns/{}/orders/{}/advertisements'.format(campaign_id, order_id)) def update_advertisement(self, campaign_id, order_id, advertisement_id, data): """Update a specific advertisement.""" url = 'campaigns/{}/orders/{}/advertisements/{}'.format(campaign_id, order_id, advertisement_id) return self._put(url, data)