From 1248eae63b3fb381fc78af7b18fd6688c4ac83e8 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 29 May 2026 21:52:51 -0500 Subject: [PATCH 1/3] fix: sort farmOS data fetch when importing/exporting logs may need to add this to other things like assets and quantities? but so far logs were the only one exhibiting a problem for me.. --- src/wuttafarm/farmos/importing/model.py | 6 +++++- src/wuttafarm/importing/farmos.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/wuttafarm/farmos/importing/model.py b/src/wuttafarm/farmos/importing/model.py index 011a170..6cfd2cc 100644 --- a/src/wuttafarm/farmos/importing/model.py +++ b/src/wuttafarm/farmos/importing/model.py @@ -781,7 +781,11 @@ class ToFarmOSLog(ToFarmOS): self.normal = self.app.get_normalizer(self.farmos_client) def get_target_objects(self, **kwargs): - return list(self.farmos_client.log.iterate(self.farmos_log_type)) + # nb. must sort the data or else paging / iteration will not + # work correctly and we get back data set which contains + # duplicates but also is missing some records... + params = {"sort": "drupal_internal__id"} + return list(self.farmos_client.log.iterate(self.farmos_log_type, params=params)) def get_target_object(self, key): diff --git a/src/wuttafarm/importing/farmos.py b/src/wuttafarm/importing/farmos.py index 4f5a47a..eb82fe1 100644 --- a/src/wuttafarm/importing/farmos.py +++ b/src/wuttafarm/importing/farmos.py @@ -1254,7 +1254,11 @@ class LogImporterBase(FromFarmOS, ToWutta): def get_source_objects(self): """ """ log_type = self.get_farmos_log_type() - return list(self.farmos_client.log.iterate(log_type)) + # nb. must sort the data or else paging / iteration will not + # work correctly and we get back data set which contains + # duplicates but also is missing some records... + params = {"sort": "drupal_internal__id"} + return list(self.farmos_client.log.iterate(log_type, params=params)) def normalize_source_object(self, log): """ """ From 457446fb4d85c5ee5a722579f61f740517335bf2 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sat, 30 May 2026 12:01:55 -0500 Subject: [PATCH 2/3] fix: add "delete log" support for data export to farmOS --- src/wuttafarm/farmos/importing/model.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/wuttafarm/farmos/importing/model.py b/src/wuttafarm/farmos/importing/model.py index 6cfd2cc..e7ebe23 100644 --- a/src/wuttafarm/farmos/importing/model.py +++ b/src/wuttafarm/farmos/importing/model.py @@ -910,6 +910,11 @@ class ToFarmOSLog(ToFarmOS): payload = {"attributes": attrs, "relationships": rels} return payload + def delete_target_object(self, obj): + if not self.dry_run: + self.farmos_client.log.delete(self.farmos_log_type, obj["id"]) + return True + class ActivityLogImporter(ToFarmOSLog): From 8fc9851e2122cb959ff9e4673a506cb3e282e56a Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sat, 30 May 2026 12:03:35 -0500 Subject: [PATCH 3/3] =?UTF-8?q?bump:=20version=200.11.3=20=E2=86=92=200.11?= =?UTF-8?q?.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 +++++++ pyproject.toml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 781a26c..20691f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ 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.4 (2026-05-30) + +### Fix + +- add "delete log" support for data export to farmOS +- sort farmOS data fetch when importing/exporting logs + ## v0.11.3 (2026-05-04) ### Fix diff --git a/pyproject.toml b/pyproject.toml index 4012f79..6956f88 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "WuttaFarm" -version = "0.11.3" +version = "0.11.4" description = "Web app to integrate with and extend farmOS" readme = "README.md" authors = [