Commit Graph

911 Commits

Author SHA1 Message Date
Jordan Petridis
c6e426cbac
Downloader: Change cache_image function to return Result<T, DownlaoderError> instead of Option<T>. 2018-02-06 20:14:03 +02:00
Jordan Petridis
d3f279374a
ShowWidget: Refactor to return Result<T, Error> wherever possible. 2018-02-06 02:47:39 +02:00
Jordan Petridis
0dc16dab9a
EpisodeWidget: Refactor to return Result<T, Error> wherever possible. 2018-02-06 02:31:53 +02:00
Jordan Petridis
ed5ff16598
Downloader: clean a bit downloader::get_episode function. 2018-02-06 02:00:32 +02:00
Jordan Petridis
c1ecdbda52 Merge branch '39-failure-libs-migration' into 'master'
Resolve "Migrate Error-Handling to Failure crate."

Closes #39

See merge request alatiera/Hammond!16
2018-02-05 19:16:11 +00:00
Jordan Petridis
d3472b3205
hammond-data: Deny Unused. 2018-02-05 20:51:34 +02:00
Jordan Petridis
5cd3dff1d4
Downloader: Switch to returning Downloader::Error instead of failure::Error. 2018-02-05 20:41:45 +02:00
Jordan Petridis
4d1168803c
Dbquerries: Remove Result type allias. 2018-02-05 19:43:26 +02:00
Jordan Petridis
7eec01a52e
Minor rename of DataError::Bail. 2018-02-05 19:05:40 +02:00
Jordan Petridis
44ebe46f10
Replace last bail! invocations. 2018-02-05 19:00:31 +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
435ce05ac7
Add rest of the From impls for the Error Type. 2018-02-05 01:53:01 +02:00
Jordan Petridis
ede4c21e30
Merge the Errors into a single Enum. 2018-02-05 01:39:50 +02:00
Jordan Petridis
0892fe26ba
Manually implement From Trait for the DatabaseError. 2018-02-05 01:20:01 +02:00
Jordan Petridis
1085d468b9
cargo fmt 2018-02-04 18:45:19 +02:00
Jordan Petridis
8f0a63fdb7
Downloader: Make the Error type public. 2018-02-04 17:46:01 +02:00
Jordan Petridis
de43cae015
Switch rest stuff of data/downloader to Failure Crate. 2018-02-04 17:36:27 +02:00
Jordan Petridis
f9f015a211
Hammond-data: switch database module to use Failure. 2018-02-04 16:33:10 +02:00
Jordan Petridis
3874235074
Readme: Add a note about being able to built with Gnome-Builder. 2018-02-04 02:03:47 +02:00
Jordan Petridis
1888539a97
Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
Jordan Petridis
d131c279b9
Add batch indexing fallback.
If an RSS feed triggered a unique constrains violation, none of it's
items would be indexed resulting in a Podcast without episodes.

This adds a fallback that indexes each item individually if the batch index fails.
2018-02-03 16:02:42 +02:00
Jordan Petridis
92d01ec51a
Feed: enchance get_stuff unit test. 2018-02-03 15:55:26 +02:00
Jordan Petridis
97c65c8bd1
Add a download test for Steal the Stars podcast to spot #10 reggressions. 2018-02-03 15:43:00 +02:00
Jordan Petridis
e8ae0b0251
Thats a hack, a terrible one, but without it the user
would have to manually click refresh if the user that was added
happen to redirect somewhere else.

The problem is in the hammond-data/src/models/source.rs
fn request_constructor. It has to do with futures and lifetimes
and I am not sure how to tackle it yet.
2018-02-03 00:06:02 +02:00
Jordan Petridis
f1f248fa40 Merge branch 'master' into 'master'
Issue 10 - Infinite Redirect Fix

See merge request alatiera/Hammond!15
2018-02-02 16:12:46 +00:00
James Wykeham-Martin
a007460029 Added Some to attempt.url() and removed unwrap 2018-02-02 15:41:00 +00:00
James Wykeham-Martin
7a0e7708be formatted 2018-02-02 10:43:20 +00:00
James Wykeham-Martin
5e7d8841af Added loopback detection using current last rather than contains 2018-02-02 09:58:09 +00:00
James Wykeham-Martin
d0c5764471 Added custom redirect policy 2018-02-02 09:40:13 +00:00
James Wykeham-Martin
82f577c17d Added custom redirect policy 2018-02-02 09:38:06 +00:00
James Wykeham-Martin
32296d91b7 Merge remote-tracking branch 'upstream/master' 2018-02-02 09:09:43 +00: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
817d5d9cf7
Fix meson config to build each time. 2018-01-29 18:17:02 +02:00
Jordan Petridis
a2cf2357c6
Add about a basic about dialog. 2018-01-29 18:02:24 +02:00
Jordan Petridis
815639fe5f
Add an order by tittle asc clasuse to the Podcast query. Address #34. 2018-01-29 12:30:13 +02:00
Jordan Petridis
b1c3b4f9cc
Pipeline: Fetch sources without etag support fist as they are more likely to need parsing. 2018-01-29 12:20:21 +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
a4660a0700
Headerbar: Do not allow insertion of duplicate urls. 2018-01-27 14:40:51 +02:00
Jordan Petridis
77a52bdc8c
hammond-data: Add a source_exists query. 2018-01-27 14:23:19 +02:00
Jordan Petridis
18e55e23ee
Headerbar: Do not allow insertion of invalid urls. 2018-01-27 14:11:02 +02:00
Jordan Petridis
d14973cf0d
Use num_cpus instead of hardcoding the number of threads for dns look_up.
In the next hyper_tls relase it should be possible to use the existing
cpu_pool executor.
2018-01-27 11:08:57 +02:00