Vladimir Golovnev (Glassez)
200f4d0f07
Don't use RSS feed URLs as base for file names
...
RSS feed URLs can be too long and exceed max path limit.
Add RSS feed UIDs and use UIDs as base for file names instead of URLs.
Closes #8399 .
2018-05-26 10:37:32 +03:00
Vladimir Golovnev
935bb5bd1c
Merge pull request #8966 from glassez/rss-date
...
Use RSS feed update time as a fallback. Closes #8959
2018-05-23 17:20:46 +03:00
Mike Tzou
84df2794dc
Merge pull request #8944 from Chocobo1/literal
...
Make use of QStringLiteral
2018-05-23 13:23:41 +08:00
Vladimir Golovnev (Glassez)
4f8ed09183
Add missing 'return' statement
2018-05-21 21:24:02 +03:00
Vladimir Golovnev (Glassez)
9b80c4f7eb
Use RSS feed update time as a fallback
...
Some sites omit publication date in its RSS feed articles
that prevents "Ignore Subsequent Matches" to work properly.
Closes #8959 .
2018-05-21 15:47:14 +03:00
Vladimir Golovnev (Glassez)
844f76c2ca
Make "Ignoring days" to behave like other filters
...
This prevents confusing in GUI when it shows matched RSS
articles which be really ignored by the rule.
2018-05-19 14:52:24 +03:00
Vladimir Golovnev (Glassez)
256f6954c5
Improve code of RSS auto-downloading rule
...
Closes #8933 .
2018-05-18 13:26:04 +03:00
Chocobo1
fcbcf4039b
Use smaller type
2018-05-17 10:57:12 +08:00
thalieht
20ca90800d
Fix coding style
2018-05-09 17:06:22 +03:00
Vladimir Golovnev (Glassez)
d9cd5d4680
Resolve (X)HTML entities in RSS content
...
Many sites include various HTML entities in the content of RSS feeds.
The most of these entities are not declared in the underlying XML,
so the documents are considered by parser to be malformed.
This patch allows you to successfully parse such soft-malformed
RSS feeds.
Closes #8527 .
Closes #8569 .
2018-03-18 18:59:55 +03:00
Vladimir Golovnev (Glassez)
8d285c66aa
Process loaded RSS articles in case of error
...
For some reason, the RSS feed may contain malformed XML data and it may not be
successfully parsed by the XML parser. We are still trying to load as many articles
as possible until we encounter corrupted data. So we can have some articles even in
case of parsing error.
Closes #8527 .
Closes #8569 .
2018-03-16 18:29:38 +03:00
Chocobo1
141a2d2856
Prevent detach from containers
2018-03-11 22:25:07 +08:00
Chocobo1
0457fd260e
Avoid temporary QString allocations
...
This fixes clazy warning: Use multi-arg instead [-Wclazy-qstring-arg]
2018-03-07 20:06:00 +08:00
Vladimir Golovnev
7cb6100c9c
Merge pull request #8471 from luis-pereira/use-qstring-ref
...
Don't create temporary substrings
2018-02-28 10:44:59 +03:00
Luís Pereira
0e421ae415
Don't create temporary substrings
...
Avoid temporary string allocations. They are only used to convert to
something else.
QString::xxxRef() returns a QStringRef. QStringRef avoids the memory
allocation and reference counting overhead of a standard QString by simply
referencing a part of the original string.
2018-02-26 11:39:36 +00:00
Vladimir Golovnev
5c2f698cb4
Merge pull request #8325 from luis-pereira/prevent-c++11-range-loop-detach
...
Prevent possible c++11 range-loop container detach
2018-02-22 16:28:04 +03:00
Luís Pereira
1a913c502b
Prevent possible c++11 range-loop container detach
...
Explicit or implicit calls to begin() and end() cause a non-const
container to detach from shared data, ie. to perform a deep-copy to gain
a unique copy of the data.
That can be a expensive although unneeded operation.
In order to assist the developer a copyAsConst function is added.
copyAsConst returns a const copy of the object.
For lvalues just use qAsConst. It's only available on Qt 5.7.0. But we
added also for earlier versions. The developer can always use qAsConst.
Intended uses:
QString s = ...;
for (const auto &ch : qAsConst(s))
process(ch);
for (const auto &ch : copyAsConst(funcReturningQString()))
process(ch);
2018-02-20 19:28:51 +00:00
Vladimir Golovnev (Glassez)
176b2eb18b
Disable Auto TMM when RSS rule has save path
...
Closes #8411 .
2018-02-16 14:02:01 +03:00
Stephen Dawkins
48cbccff1e
Made smart episode filter regular expression configurable
2018-02-05 19:23:11 +00:00
Stephen Dawkins
2845a791d0
Initial implementation of Smart Filter feature
2018-01-27 09:14:36 +00:00
Vladimir Golovnev (Glassez)
1c18edac76
Remove legacy and corrupted RSS settings
2018-01-21 20:01:56 +03:00
Vladimir Golovnev (Glassez)
22bdf98617
Don't process new/updated RSS rules when disabled
2017-12-27 20:01:40 +03:00
Vladimir Golovnev
a7da714b13
Merge pull request #7832 from glassez/rss-import
...
Implement Import/Export RSS rules. Closes #7721
2017-11-25 10:35:24 +03:00
Vladimir Golovnev (Glassez)
916cfcdb03
Implement Import/Export RSS rules in JSON format
2017-11-24 21:20:44 +03:00
Vladimir Golovnev (Glassez)
b8fc415870
Implement Import/Export RSS rules in legacy format
2017-11-24 16:19:16 +03:00
Vladimir Golovnev
342f5f1a09
Merge pull request #7821 from glassez/fix-rss
...
Fix RSS Parser. Closes #7751 , #7763 , #7768 , #7786
2017-11-23 14:35:42 +03:00
Vladimir Golovnev (Glassez)
c0e48627ae
Fix RSS Parser
...
Closes #7751
Closes #7763
Closes #7768
Closes #7786
2017-11-22 19:11:37 +03:00
thoradia
ca5c1e8a15
Fix missing include in rss_feed.cpp
...
Fixes #7805 .
2017-11-22 14:39:07 +01:00
sledgehammer999
4927d26877
Fix english typo.
2017-11-21 02:14:44 +02:00
Vladimir Golovnev (Glassez)
a3c9c1c386
Improve RSS events logging
...
Fix RSS log messages was untranslatable.
Add more logging.
2017-11-09 15:40:39 +03:00
Vladimir Golovnev (qlassez)
7380bfa9e4
Remove legacy RSS settings after converting
...
Closes #7226 .
2017-08-09 22:01:30 +03:00
Vladimir Golovnev
4d28f8f48d
Fix RSS with normal links do not work ( #7016 )
...
Fix regression of RSS code redesign.
Closes #7003 .
2017-06-30 11:16:40 +03:00
Vladimir Golovnev (Glassez)
4021bf68f7
Use constants for article field names in RSS::Feed
2017-06-01 16:04:11 +03:00
Vladimir Golovnev (Glassez)
02f77a05dc
Improve RSS article parsing
...
Use QLatin1String for string literals.
Use predefined constants for article hash table keys.
2017-06-01 16:04:10 +03:00
Vladimir Golovnev (Glassez)
080dd79875
Store all RSS Article data in auto downloading job
2017-06-01 16:04:04 +03:00
Vladimir Golovnev (Glassez)
475348595c
Improve RSS::Article class
...
Store more RSS article fields.
Don't use legacy article field names in Parser code.
2017-06-01 15:57:14 +03:00
Noam Gal
bd90614413
Get more RSS article data
2017-05-28 10:17:59 +03:00
Vladimir Golovnev
692e4a986a
Merge pull request #6757 from glassez/rss
...
Forward add/remove child RSS Item event as set of add/remove Articles events
2017-05-10 16:58:49 +03:00
Chocobo1
42c17ea5ce
Fix argument name differ in definition & declaration
2017-05-09 14:12:36 +08:00
Vladimir Golovnev (Glassez)
a36848b5c0
Forward add/remove child RSS Item as add/remove Articles
2017-05-07 18:49:21 +03:00
Vladimir Golovnev (Glassez)
f8debdea67
Fix Item::unreadCountChanged() emit in wrong place
2017-05-07 18:40:42 +03:00
Vladimir Golovnev (Glassez)
3a3125ea2b
Fix remove oldest article
2017-04-24 16:50:28 +03:00
sledgehammer999
032eb12585
Remove whitespace.
2017-04-24 04:25:49 +03:00
sledgehammer999
3cdc6fb978
Fix compiler warnings.
2017-04-24 04:24:32 +03:00
Vladimir Golovnev (Glassez)
989a70fe60
Redesign RSS subsystem
2017-04-23 09:03:46 +03:00
Eugene Shalygin
0f746ffd5a
Add support for different configurations. Partially closes #465
...
It may be useful to have different configurations either for portable
versions or for debugging purposes. To implement this we add two
options, avaliable via command line switches
1. An option to change configuration name ("--configuration"). The name
supplied via this option is appended to
QCoreApplication::applicationName() to form "qBittorrent_<conf_name>"
name for the configuration files.
2. An option to provide a path do directory where all the settings are
stored (kind of profile directory). There is a shortcut "--portable"
which means "use directory 'profile' near the executable location".
In order to implement that we have to perform initialisation of the
profile directories before the SettingStorage and Preferences singletones
are initialised. Thus, options parsing shall be performed without defaults
read from preferences.
2017-04-12 00:50:28 +02:00
sledgehammer999
729fbb2e50
Change named of getter function.
2017-03-08 00:16:25 +02:00
Tim Delaney
a844ccb06a
Cache rule regular expressions for performance
...
--HG--
branch : magao-dev
2017-02-11 18:43:50 +11:00
Tim Delaney
f9abd254f4
Use Perl-compatible regexes for RSS rules. Closes #6367 .
...
--HG--
branch : magao-dev
2017-02-11 16:33:18 +11:00
Tim Delaney
c0339d4f6a
Fix regex RSS matching. Closes #6337 .
...
--HG--
branch : magao-dev
2017-02-05 08:53:33 +11:00
sledgehammer999
179b686e42
Merge pull request #6176 from magao/issue873
...
Improve UI responsiveness during RSS downloading. Closes #873 , #1089 , #1235 , #5423
2017-02-06 16:17:08 +02:00
Tim Delaney
5d185f1fcd
Fix compilation error on Qt<5.4. Closes #6170 .
...
--HG--
branch : magao-dev
2017-01-27 14:24:51 +11:00
sledgehammer999
3b3de81cb7
Merge pull request #6181 from magao/issue6170
...
RSS episode filter improvements. Closes #800 , #2749 , #3876 , #6170 .
2017-01-26 01:02:05 +02:00
sledgehammer999
354702140a
Merge pull request #6180 from magao/issue6171
...
Allow | in RSS must contain. Closes #6171 .
2017-01-25 23:27:59 +02:00
sledgehammer999
b9b8352a31
Merge pull request #6184 from magao/issue5539
...
RSS: allow resetting rule to no category. Closes #5539 .
2017-01-25 23:20:19 +02:00
Tim Delaney
2244b7cb66
RSS episode filter refactoring and logging (prep for later commits).
...
--HG--
branch : magao-dev
2016-12-31 18:01:22 +11:00
Tim Delaney
70ce12372d
Follow project coding style. Issue #2192 .
...
--HG--
branch : magao-dev
2017-01-08 11:46:01 +11:00
sledgehammer999
c384cc8c8c
Move new icons to their own theme folder.
2017-01-11 18:02:26 +02:00
Tim Delaney
b84d9201fd
Allow | in RSS must contain. Closes #6171 .
...
--HG--
branch : magao-dev
2016-11-07 17:46:27 +11:00
Tim Delaney
390d7a8124
Improve UI responsiveness during RSS downloading. Closes #873 , #1089 , #1235 , #5423 .
...
--HG--
branch : magao-dev
2016-11-07 08:56:06 +11:00
Tim Delaney
32bdb73f70
RSS allow infinite range to extend beyond current season. Closes #800 , #3876 , #6170 .
...
--HG--
branch : magao-dev
2016-11-07 07:18:06 +11:00
Tim Delaney
96c1187f47
RSS parse torrent episodes like 1x01 as well as S01E01. Closes #2749 .
...
--HG--
branch : magao-dev
2016-11-06 15:26:48 +11:00
Tim Delaney
64f9cbbf54
Allow episode zero (special) and leading zeroes in RSS episode filter.
...
--HG--
branch : magao-dev
2016-11-06 22:51:33 +11:00
Tim Delaney
cecff159a0
Move old RSS items to separate config file. Closes #6167 .
...
--HG--
branch : magao-dev
2016-11-06 12:00:09 +11:00
sledgehammer999
e10c2abf3b
Delete old rss favicon before assigning new one.
2016-11-01 18:25:47 +02:00
Vladimir Golovnev (Glassez)
dd34663224
Implement Advanced Saving Management subsystem
...
Closes #4696
2016-03-04 19:59:53 +03:00
Vladimir Golovnev (Glassez)
c6ca877b72
Fix unitialized scalar fields
2016-01-13 20:25:06 +03:00
Vladimir Golovnev (Glassez)
6662081044
Improve RSS parsing logic.
2016-01-04 06:59:07 +03:00
Vladimir Golovnev (Glassez)
28ed981082
Redesign RSS base classes.
2016-01-04 06:37:54 +03:00
Vladimir Golovnev (Glassez)
6f7ae728eb
Move base RSS names to Rss namespace.
2016-01-04 06:19:02 +03:00
Vladimir Golovnev (Glassez)
67758cb092
Fix coding style (Issue #2192 ).
2016-01-04 06:16:20 +03:00
Vladimir Golovnev (Glassez)
405b06319d
Move base RSS code to Core.
2015-12-22 14:07:03 +03:00