Fixes#4071.
Major changes:
- the bridge's URI changed from zen.yandex.com to dzen.ru, as the former
redirects to the latter (perhaps the bridge's name should be changed
as well);
- the channel's URL is now required instead of the channel's username;
- two kinds of URLs are supported, one for channels with usernames and
one for channels with IDs in their URL;
- the channel's real name, as shown in the webpage, is now used as the
feed title.
* [ScribbleHubBridge] Add list page feed creation
* [ScribbleHubBridge] Add list title handling
* [ScribbleHubBridge] Don't include timestamp in List GUIDs
* [ScribbleHubBridge] Fix usage of dynamic property
* [FDroidRepoBridge] Simplify json retrieval
I looked into avoiding the writing-to-file and then reading-from-file altogether. Using a special file path that leaves the data in memory probably wouldn't work. But I'm unsure why we use the `index-v1.jar` file altogether.
The main F-Droid repo [lists](https://f-droid.org/en/docs/All_our_APIs/#the-repo-index) not only `index-v1.jar` (which only makes sense if we were to use the contained signature, which we don't), but also `index-v1.json` and `index-v2.json`. These json files can be fetched with `getContents`, optionally cached, and directly fed into `Json::decode` without using a temporary file. The HTTP transfer encoding can compress the file to a similar degree the jar (=zip) can. That's exactly what this commit uses.
Now the question is whether all the F-Droid repositories out there have this file. I went through the whole [list of known repositories](https://forum.f-droid.org/t/known-repositories/721) and only one repo misses the `index-v1.json` file: [Bromite](https://fdroid.bromite.org/fdroid/repo/index-v1.json). Under these circumstances we can depend on the availability of the `index-v1.json` file.
Closes#4062
* [FDroidRepoBridge] Cleanup not requiring Zip
With the last commit 1152386678, the zip
extension is not required anymore. Don't fail if it's not available.
The ttrss example/placeholder repo is offline, which fails CI jobs.
Replace it with a healthy repo and package to get working CI tests and comparisons.
* [PepperBridgeAbstract,DealabsBridge,HotUKDealsBridge,MydealsBridge] Fix search URL, No results handling fixed, Thread title and Message URL handling
Search URL has been updated according to the website.
If a search doesn't return any results, the HTML won't contain any
specific text now : the HTML structure is slightly different, so the
bridge has been updated.
The unnneded 'no-results' text is now removed from the specific bridges.
The board thread title has been removed from the content, so now we use
the page <title> element.
In case a board message is empty, there was an exception during the
filtering of message without URL.
* [PepperBridgeAbstract,DealabsBridge,HotUKDealsBridge,MydealsBridge] Fix search URL, No results handling fixed, Thread title and Message URL handling
Coding policy fixes
this will (at least) fix the pr preview of:
bridges/AnisearchBridge.php
bridges/BakaUpdatesMangaReleasesBridge.php
bridges/DesoutterBridge.php
bridges/IndiegogoBridge.php
* refactor XPathAbstract, keep all functionality intact
* fix linter errors
* further simplify code
* set default value for raw item content to true, avoiding escaping of html tags in feed item contents by default
* docs: Complete helper function documentation
Complete documentation of the Helper functions
* docs: remove parameters and add a link to source
- Parameters removed
- Link to the file defining the function
* docs: fix links
Fix links to source files
As the website use more and more JSON, and JSON is a machine readable
format, I migrated as much as possible to the JSON.
This simplifies the Abstract class a lot, and the Bridge classes need
less language specifi strings.
* [HeiseBridge] fix for embbedded youtube-videos
with this the embedded youtube videos will work in the feed
* Update HeiseBridge.php
* Update HeiseBridge.php
The bridge meta data has been updated to reflect that the bridge works
for other international version of Idealo.
The Price trend is displayed on every price in the the Feed element
content. The same function is now used to show the price trend in the
Feed element title, to remove some duplicate code..
- Feed items with new price tracking had "Max Price Used" instead of
"Max Price New"
- Feed Title is now customised with the product name and the Price
limits
- Fixed logic for saving prices in cache
- remove undefined variable notices