Jordan Petridis
3d98600126
h-data: Sanitize html during Podcast/Episode parsing.
2018-04-03 19:42:13 +00:00
Jordan Petridis
1c527cba03
Remove more commented out dead code.
2018-04-03 19:42:12 +00:00
Jordan Petridis
2d7ba7b246
h-data/source.rs: Reduce boilerplate.
2018-04-03 19:42:11 +00:00
Jordan Petridis
4ed70a8011
Rss::Error is now Send!
2018-04-03 19:42:11 +00:00
Jordan Petridis
a463753c84
NewEpidode: Use parse rss.description instead of itunes.summary.
...
We can deal with(sort of) html now, so we should start indexing
the proper rss description. Also cleanup commented out code.
2018-04-03 19:42:10 +00:00
Jordan Petridis
af1cb43bd6
NewPodcast: Prefer the rss.description attribute.
...
Since we can handle rendering html stuff by converting it to pango
we no longer need the text-only itunes summary attribure.
2018-04-03 19:42:09 +00:00
Jordan Petridis
f2444f151c
h-gtk/utils: Re-work format_err! calls and improve formatting
2018-03-29 15:26:44 +03:00
Jordan Petridis
3c7f3ecb56
NewPodcast: Fix Image parsing if Itunes ext is Some(None).
...
Instead of checking if the itunes img url was Some we were assuming
that if an itunes extension existed, it would have an image. That's
not always the case as it turns out there can be an Itunes Ext but
img still be None resulting to not falling back to the Rss image tag.
2018-03-28 12:08:41 +03:00
Rowan Lewis
7696014545
Fix #53 by setting the HTTP user agent string to the latest Firefox ESR.
2018-03-18 11:57:41 +01:00
Jordan Petridis
bb467b7aba
Rustfmt.
2018-03-03 16:45:37 +02:00
Jordan Petridis
ae25dd65bf
Cargo clippy and fmt.
2018-02-19 09:58:47 +00:00
Jordan Petridis
67af85e347
Hammond-gtk: Use Atomic Refference counting to reduce cloning of Podcast.
2018-02-07 06:28:16 +02:00
Jordan Petridis
0dc16dab9a
EpisodeWidget: Refactor to return Result<T, Error> wherever possible.
2018-02-06 02:31:53 +02:00
Jordan Petridis
008f57bec4
Create a ParseEpisodeError and replace bail! invocations.
2018-02-05 18:51:21 +02:00
Jordan Petridis
d0ae5a4198
Typo fix.
2018-02-05 18:33:12 +02:00
Jordan Petridis
064c2b4be0
Start creating custom errors instead of using bail! macro.
2018-02-05 18:25:56 +02:00
Jordan Petridis
34d7391363
Make a counterfeit rss Error.
2018-02-05 16:37:50 +02:00
Jordan Petridis
e84e7df3f1
Remove unwrap call.
2018-02-05 15:59:34 +02:00
Jordan Petridis
8ba9f928d6
Switch to using DataError instead of failure::Error.
2018-02-05 02:43:56 +02:00
Jordan Petridis
ede4c21e30
Merge the Errors into a single Enum.
2018-02-05 01:39:50 +02:00
Jordan Petridis
de43cae015
Switch rest stuff of data/downloader to Failure Crate.
2018-02-04 17:36:27 +02:00
Jordan Petridis
80fd4e9fc5
Source: Set Etag and last modified to None upon redirect.
2018-02-01 19:35:35 +02:00
Jordan Petridis
7b62ef203d
Source: Pass owenership around instead of &mut, cause futures.
2018-02-01 15:55:19 +02:00
Jordan Petridis
2f062afb07
Clippy suggestions
2018-01-29 19:09:53 +02:00
Jordan Petridis
332a439b7a
hammond-data: Factor out save method of diesel models into a Trait.
2018-01-28 22:09:06 +02:00
Jordan Petridis
fb5264c479
NewSource: Rename into_source -> to_source and take reffence &self instead.
2018-01-27 18:34:03 +02:00
Jordan Petridis
a3705d424b
NewSource: Remove Insert implemantation and replace it with a insert_or_ignore method.
2018-01-27 18:09:40 +02:00
Jordan Petridis
d6817aaa1f
Parser: pass an rss::ItunesExtension to instead of an rss::Item.
2018-01-24 15:42:08 +02:00
Jordan Petridis
5da002fe6d
Use map_err(From::from) instead of ? into Ok() wrapping pattern.
2018-01-24 15:27:36 +02:00
Jordan Petridis
0e16f0acb0
NewEpisode: rename into_episode -> to_episode, change its signature and add unit test.
2018-01-24 14:31:33 +02:00
Jordan Petridis
d5a7fa9de8
NewEpisode: Add index method unit test.
2018-01-24 12:11:49 +02:00
Jordan Petridis
9274aba849
NewEpisode: Add update method unit test.
2018-01-24 11:22:03 +02:00
Jordan Petridis
f9096e5fac
Pipeline: Print the error right away instead of waiting till all futures complete.
2018-01-23 18:18:56 +02:00
Jordan Petridis
e74a2df27f
Source: On Http 301 response, update Source.uri .
2018-01-23 16:43:02 +02:00
Jordan Petridis
050fe9c52b
Pipeline: offload more stuff to the threadpool.
2018-01-23 11:43:37 +02:00
Jordan Petridis
f7f6087d70
NewPodcast: On update unit test assert .id and .source_id fields stay the same.
2018-01-22 21:09:06 +02:00
Jordan Petridis
ea75d50053
NewEpisode: Add insert unit test.
2018-01-22 17:25:23 +02:00
Jordan Petridis
44d7a4e222
NewEpisodeMinimal: Add unit test for into_new_episode method.
2018-01-22 15:49:58 +02:00
Jordan Petridis
2d6f34fa4d
NewEpisode: Clean up tests a bit.
2018-01-22 15:34:57 +02:00
Jordan Petridis
66e816fc5f
Upgrade Diesel to 1.1
2018-01-22 11:22:01 +02:00
Jordan Petridis
843feabf25
NewEpisode: Move the parsing tests, delete old xml files.
2018-01-21 13:35:35 +02:00
Jordan Petridis
937bd61d5e
NewPodcast: Add unit test for the to_podcast() method.
2018-01-21 12:17:47 +02:00
Jordan Petridis
4ee5888b7f
NewPodcast: Rename into_podcast method -> to_podcast since it now does not take owenership.
2018-01-21 11:04:15 +02:00
Jordan Petridis
73eeb1b545
NewPodcast: Add NewPodcast.index unit test.
2018-01-21 10:04:53 +02:00
Jordan Petridis
16bbfb5478
NewPodcast: Add (lackign) NewPodcast.update unit test.
2018-01-21 09:35:48 +02:00
Jordan Petridis
410657c98b
NewPodcast: Remove the boilerplate on the unit tests.
2018-01-21 08:57:50 +02:00
Jordan Petridis
1625f773c2
hammond-data: Fix PartialEq implementations, add NewPodcast.insert unit test.
2018-01-21 08:39:50 +02:00
Jordan Petridis
da8c3a7827
Implement PartialEq accross Insertable and Queryable diesel models.
2018-01-20 19:09:25 +02:00
Jordan Petridis
6c9e0984a5
Migrate podcast tests to use the internet archive snapshots.
2018-01-20 18:02:07 +02:00
Jordan Petridis
df17a10014
Source: refactor into_feed test.
2018-01-20 16:43:32 +02:00