Skip to content

Keep from=, flash= and label= in seven:// url() - #1774

Merged
caronc merged 2 commits into
caronc:masterfrom
LuisFigueroaG:fix/seven-url-params
Oct 13, 2026
Merged

caronc merged 2 commits into
caronc:masterfrom
LuisFigueroaG:fix/seven-url-params

Conversation

@LuisFigueroaG

Copy link
Copy Markdown
Contributor

Description

Related issue (if applicable): none

NotifySeven.url() builds a params dict with flash, from and label, and then replaces it with the result of url_parameters() instead of extending it:

params = self.url_parameters(privacy=privacy, *args, **kwargs)

So these settings are lost whenever the URL is regenerated (Apprise.urls(), saved configs, etc.):

>>> obj = Apprise.instantiate("seven://apikey/15551232000?from=AR&flash=yes&label=123")
>>> obj.url()
'seven://apikey/15551232000/?overflow=upstream&format=text&retry=0&wait=0.5&optional=no'

The fix uses params.update(...) like the rest of the plugins. I checked the other plugins that assign params = self.url_parameters(...) and seven is the only one that had already filled params before that line.

Checklist

  • Documentation ticket created (if applicable): not applicable
  • The change is tested and works locally.
  • No commented-out code in this PR.
  • No lint errors (use tox -e lint and optionally tox -e format).
  • Test coverage added or updated (use tox -e qa).

Testing

Added test_plugin_seven_url_round_trip, which checks that from, flash, label and verify are in url() and survive reloading the object from it. It fails on master.

pytest tests/test_plugin_seven.py
pytest -n auto

url() built its own parameters and then replaced them with the result
of url_parameters(), so the source, flash and label settings were lost
whenever the URL was regenerated.
@codecov

codecov Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f746ec5) to head (03a89a7).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #1774   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          246       246           
  Lines        40326     40339   +13     
  Branches      6956      6957    +1     
=========================================
+ Hits         40326     40339   +13     
Files with missing lines Coverage Δ
apprise/plugins/seven.py 100.00% <100.00%> (ø)

... and 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caronc
caronc merged commit 5c5c3ac into caronc:master Oct 13, 2026
20 checks passed
@caronc

caronc commented Oct 13, 2026

Copy link
Copy Markdown
Owner

Thank you for all of your PRs ❤️🙏. I'm still going through them. From a glance, they all look great!

I'll merge them soon. 🚀🚀

@caronc caronc mentioned this pull request Oct 14, 2026
4 of 5 tasks
@LuisFigueroaG
LuisFigueroaG deleted the fix/seven-url-params branch October 20, 2026 03:00
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.

2 participants