Skip to content

Conversation

@gcareid
Copy link
Contributor

@gcareid gcareid commented Dec 8, 2025

The parameter name has changed in the new JSON interface page as well

Summary by CodeRabbit

  • Bug Fixes

    • Fixed postcode parameter submission for Fareham Borough Council.
  • Documentation

    • Added Isle of Anglesey to the supported councils list.
    • Updated documentation for multiple councils with standardized command examples and comprehensive parameter guidance.
    • Added clarifications on Selenium driver requirements for applicable councils.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 8, 2025

Walkthrough

This PR updates FarehamBoroughCouncil.py to send postcode parameters under a single "Road or Postcode" key instead of separate "Road" and "Postcode" keys, and makes extensive documentation updates to wiki/Councils.md to standardize and clarify parameter usage patterns (-s, -u, -p, -w) across multiple council entries.

Changes

Cohort / File(s) Summary
FarehamBoroughCouncil parameter update
uk_bin_collection/uk_bin_collection/councils/FarehamBoroughCouncil.py
Changed request parameters to send postcode under single "Road or Postcode" key instead of separate "Road" (empty) and "Postcode" keys
Council documentation standardization
wiki/Councils.md
Added/updated council entries (Isle of Anglesey, Cumberland, Epsom and Ewell, Islington, Folkestone and Hythe, North Hertfordshire, Northumberland, Merton) to consistently document parameter usage (-s, -u, -p, -w) and Selenium driver requirements; consolidated duplicate entries and improved formatting

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • wiki/Councils.md: Extensive documentation updates across multiple council entries require careful verification of accuracy for each council's parameter patterns and URLs
  • FarehamBoroughCouncil.py: Simple parameter key change, but should verify compatibility with Fareham Borough Council's API expectations
  • Consider cross-referencing with the related PRs (#1708, #1723) to ensure consistency and no conflicting changes

Possibly related PRs

Suggested reviewers

  • dp247

Poem

🐰 From separate roads and postcodes they came,
Now bundled as one—what a postcode game!
The wiki's been groomed with -u, -p, -s, -w,
Each council now shiny and documented true!
A tidy update, both config and guide! 📋✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Fix Fareham' is vague and non-specific. While it relates to the Fareham council changes, it doesn't convey what the actual fix is (parameter name change in JSON interface). Consider a more descriptive title like 'Fix Fareham postcode parameter in JSON request' or 'Update Fareham council postcode parameter name' to clearly indicate the nature of the fix.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.81%. Comparing base (83cce53) to head (f65515b).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1769   +/-   ##
=======================================
  Coverage   86.81%   86.81%           
=======================================
  Files           9        9           
  Lines        1138     1138           
=======================================
  Hits          988      988           
  Misses        150      150           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
wiki/Councils.md (1)

2149-2158: Clarify parameter flags for Isle of Anglesey

The note says “Pass either UPRN or postcode/house number,” but the additional-parameters list only shows -s and -u. If this council also accepts postcode and house number via -p/-n like others, consider listing those flags explicitly so users don’t have to infer them.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 83cce53 and f65515b.

📒 Files selected for processing (2)
  • uk_bin_collection/uk_bin_collection/councils/FarehamBoroughCouncil.py (2 hunks)
  • wiki/Councils.md (7 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Run Unit Tests (3.12, 1.8.4)
  • GitHub Check: Run Integration Tests (3.12, 1.8.4)
🔇 Additional comments (9)
uk_bin_collection/uk_bin_collection/councils/FarehamBoroughCouncil.py (2)

35-42: Parameter name update aligns with new JSON interface

Using a single "Road or Postcode" key populated with user_postcode keeps the request shape simple and consistent with the updated endpoint; postcode validation remains in place via check_postcode. No issues seen with this change.


88-92: Return behaviour unchanged and appropriate

Returning the sorted data dict at the end of parse_data preserves existing behaviour; no concerns here.

wiki/Councils.md (7)

160-160: Isle of Anglesey contents entry is consistent

The new contents link for Isle of Anglesey correctly matches the ### Isle of Anglesey heading anchor; navigation will work as expected.


1248-1253: CumberlandCouncil entry matches UPRN-only pattern

The updated Cumberland command and additional-parameters section now follow the standard UPRN-only convention used elsewhere; the note is clear and consistent.


1645-1655: Epsom and Ewell documentation cleanly standardizes -s/-u/-p/-w

The command, parameter bullets, and Selenium note are aligned and match patterns used for other Selenium-based councils. This should make usage much clearer.


1755-1760: Folkestone and Hythe now correctly advertises Selenium requirement

Adding -w and documenting it as a remote Selenium web driver URL brings this entry in line with other Selenium-backed parsers and clarifies the integration requirements.


2163-2169: Islington entry now matches the UPRN+postcode pattern

Switching to the shorter /your-area URL and documenting both -u (UPRN) and -p (postcode) brings this in line with other UPRN+postcode councils; the note is concise and accurate.


2527-2533: Merton documentation updated to new FixMyStreet-based flow

The new FixMyStreet URL plus -s and -u parameters, with a clear UPRN note, accurately reflects a UPRN-driven, skip-URL pattern and is consistent with similar entries.


2810-2816: North Hertfordshire entry updated to the new mobile API

Using the apps.cloud9technologies.com/.../XXXXXXXX/ API endpoint with -s and -u documented, plus the note about replacing XXXXXXXX with the UPRN, matches how other “embed UPRN in URL” entries are described.

robbrad added a commit that referenced this pull request Jan 14, 2026
@robbrad robbrad closed this Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants