diff --git a/keel_telegram_bot/bot/__init__.py b/keel_telegram_bot/bot/__init__.py index 83f52e8..e960475 100644 --- a/keel_telegram_bot/bot/__init__.py +++ b/keel_telegram_bot/bot/__init__.py @@ -232,7 +232,7 @@ def filter_tracked_images_by(resources: List[TrackedImage], glob: str or None) - return result - items = self._api_client.get_tracked() + items = self._api_client.get_tracked_images() filtered_items = filter_tracked_images_by(items, glob) formatted_message = "\n\n".join( @@ -364,7 +364,6 @@ async def execute(update: Update, context: ContextTypes.DEFAULT_TYPE, item: Reso if schedule is not None: self._api_client.set_schedule( identifier=item.identifier, - provider=Provider.Kubernetes, schedule=schedule, ) diff --git a/keel_telegram_bot/client/api_client.py b/keel_telegram_bot/client/api_client.py index 691f333..18a5501 100644 --- a/keel_telegram_bot/client/api_client.py +++ b/keel_telegram_bot/client/api_client.py @@ -53,7 +53,7 @@ def get_resource(self, identifier: str) -> Resource or None: return resource return None - def get_tracked(self) -> List[TrackedImage]: + def get_tracked_images(self) -> List[TrackedImage]: """ Returns a list of all tracked images """ @@ -61,6 +61,17 @@ def get_tracked(self) -> List[TrackedImage]: result = [TrackedImage.from_dict(tracked) for tracked in response] return result + def get_tracked_image(self, identifier: str) -> TrackedImage or None: + """ + Returns a list of all tracked images + """ + trecked_images = self.get_tracked_images() + for tracked_image in trecked_images: + if tracked_image.image == identifier: + return tracked_image + return None + + def set_tracked(self, identifier: str, provider: Provider, trigger: Trigger, schedule: PollSchedule or None) -> None: """ @@ -105,18 +116,14 @@ def set_policy(self, identifier: str, provider: Provider, policy: Policy) -> Non "policy": policy.value, }) - def set_schedule(self, identifier: str, provider: Provider, schedule: PollSchedule) -> None: + def set_schedule(self, identifier: str, schedule: PollSchedule) -> None: """ Set the polling schedule for an image :param identifier: the identifier of the image - :param provider: the provider of the image :param schedule: the schedule of the image """ - self._do_request(HttpMethod.PUT, self._base_url + "/v1/schedule", json={ - "identifier": identifier, - "provider": provider.value, - "schedule": schedule.value, - }) + tracked_image = self.get_tracked_image(identifier) + self.set_tracked(identifier, tracked_image.provider, tracked_image.trigger, schedule) def set_trigger(self, identifier: str, provider: Provider, trigger: Trigger) -> None: """