diff --git a/CHANGELOG.md b/CHANGELOG.md index 00ff67e..4ee6b10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,6 @@ All notable changes to WuttaFarm will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## v0.11.1 (2026-03-21) - -### Fix - -- improve behavior when deleting mirrored record from farmOS -- use correct uuid when processing webhook to delete record - ## v0.11.0 (2026-03-15) ### Feat diff --git a/pyproject.toml b/pyproject.toml index e165b20..c1a5cc0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "WuttaFarm" -version = "0.11.1" +version = "0.11.0" description = "Web app to integrate with and extend farmOS" readme = "README.md" authors = [ diff --git a/src/wuttafarm/cli/process_webhooks.py b/src/wuttafarm/cli/process_webhooks.py index 9d66a70..9731247 100644 --- a/src/wuttafarm/cli/process_webhooks.py +++ b/src/wuttafarm/cli/process_webhooks.py @@ -94,7 +94,8 @@ class ChangeProcessor: return # delete corresponding record from our app - if obj := importer.get_target_object((change.farmos_uuid,)): + obj = importer.get_target_object((change.uuid,)) + if obj: importer.delete_target_object(obj) # TODO: this should live elsewhere diff --git a/src/wuttafarm/web/views/master.py b/src/wuttafarm/web/views/master.py index ac9e2ed..d9fe986 100644 --- a/src/wuttafarm/web/views/master.py +++ b/src/wuttafarm/web/views/master.py @@ -23,9 +23,6 @@ Base class for WuttaFarm master views """ -import threading - -import requests from webhelpers2.html import tags from wuttaweb.views import MasterView @@ -148,24 +145,10 @@ class WuttaFarmMasterView(MasterView): # maybe delete from farmOS also if farmos_uuid: + entity_type = self.get_farmos_entity_type() + bundle = self.get_farmos_bundle() client = get_farmos_client_for_user(self.request) - # nb. must use separate thread to avoid some kind of race - # condition (?) - seems as though maybe a "boomerang" - # effect is happening; this seems to help anyway - thread = threading.Thread( - target=self.delete_from_farmos, args=(client, farmos_uuid) - ) - thread.start() - - def delete_from_farmos(self, client, farmos_uuid): - entity_type = self.get_farmos_entity_type() - bundle = self.get_farmos_bundle() - try: client.resource.delete(entity_type, bundle, farmos_uuid) - except requests.HTTPError as exc: - # ignore if record not found in farmOS - if exc.response.status_code != 404: - raise class TaxonomyMasterView(WuttaFarmMasterView):