From caae438a23b177828c2cdf6957d3bb4380ff7aee Mon Sep 17 00:00:00 2001 From: Dave Arter Date: Wed, 18 Sep 2024 13:34:57 +0100 Subject: [PATCH] [Open311] Add --exclude to bin/open311-populate-service-list Allows bodies to be excluded from Open311 service list fetching. --- CHANGELOG.md | 1 + bin/open311-populate-service-list | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba93a3ac3bf..60b2dc9e4b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ - Cobrands can provide per-category custom distances for duplicate lookup. #4746 #5162 - Add perl 5.38 support. - Add plain text template previews to /_dev/email. #5105 + - Add --exclude option to bin/open311-populate-service-list - Performance improvements: - Reduce database queries on shortlist page. - Provide ResultSet fallback translation in lookup. diff --git a/bin/open311-populate-service-list b/bin/open311-populate-service-list index 966b3ac7343..88d2570c9b0 100755 --- a/bin/open311-populate-service-list +++ b/bin/open311-populate-service-list @@ -17,6 +17,7 @@ use Getopt::Long::Descriptive; my ($opt, $usage) = describe_options( '%c %o', ['body|b:s', "body name to only fetch this body"], + ['exclude|e:s@', 'body name(s) to exclude from fetching' ], ['verbose|v', "print out all services as they are found"], ['warn|w', "output warnings about any issues"], ['help', "print usage message and exit" ], @@ -29,6 +30,9 @@ my $bodies = FixMyStreet::DB->resultset('Body')->search( { if ($opt->body) { $bodies = $bodies->search({ name => $opt->body }); } +if (my $exclude = $opt->exclude) { + $bodies = $bodies->search({ name => { -not_in => $exclude } }); +} my $verbose = 0; $verbose = 1 if $opt->warn;