Commit Graph

150 Commits

Author SHA1 Message Date
Jordan Petridis
b820ee4db7
hammond-data::parser : Do not clean image urls cause feeds put redirects for uri for some reason. 2017-12-22 14:51:57 +02:00
Jordan Petridis
e416bca963
Implemented a pixbuf cache mechanism.
Since gdk_pixbuf::Pixbuf is refference counted and every episode,
use the cover of the Podcast Feed/Show, We can only create a Pixbuf
cover per show and pass around the Rc pointer.

GObjects do not implement Send trait, so SendCell is a way around that.
Also lazy_static requires Sync trait, so that's what the mutexes are.
2017-12-21 17:36:07 +02:00
Jordan Petridis
db59bed69d
hammond-data::utils: Modified EpisodeCleaner Diesel model to also be used with played_cleaner. 2017-12-20 19:18:20 +02:00
Jordan Petridis
3c24b9f9d9
hammond-data::utils: Added new Diesel model for the download checker. 2017-12-20 19:00:14 +02:00
Jordan Petridis
2e06205eda
Define a new Diesel Model for PodcastCover querries.
Define new Diesel Model and impl From<Podcast> trait,
Change the signature of downloader::cache_image function,
Change and merge hammond-gtk::utils::get_pixbuf_from_path functions.
2017-12-20 18:19:31 +02:00
Jordan Petridis
914cad72f5
EpisodesView: Custom Diesel model not really necessary. 2017-12-19 20:45:40 +02:00
Jordan Petridis
895591f628
EpisodesView: Use show cover image. 2017-12-19 13:19:38 +02:00
Jordan Petridis
ad9a932143
Fix diesel query. 2017-12-19 12:56:16 +02:00
Jordan Petridis
f602e8c36d
EpisodesView: Create a DieselModel for EpisodeViewWidget. 2017-12-19 11:04:44 +02:00
Jordan Petridis
61bd7893c7
EpisodeWidget: Remove Podcast depndancy from new() method. 2017-12-18 19:10:50 +02:00
Jordan Petridis
f7af05a650
EpisodeWidget: Dim/Grey out widget if episode is played. 2017-12-16 20:30:25 +02:00
Jordan Petridis
0ac78fcff1
Added date label into EpisodeWidget. 2017-12-14 18:03:37 +02:00
Jordan Petridis
afdb79b712
Set the progress bar into activity mode. 2017-12-14 13:38:18 +02:00
Jordan Petridis
8fe6b526a5
Add a new Diesel Model for the EpisodeWidget. 2017-12-14 12:01:35 +02:00
Jordan Petridis
ad7f5013f3
Extend ShowsMachine functionality. 2017-12-11 11:15:54 +02:00
Jordan Petridis
851be1fcfb
Schema hotfix. 2017-12-10 06:47:10 +02:00
Jordan Petridis
d8281c70a5
Better naming of a dbquery function. 2017-12-10 06:11:03 +02:00
Jordan Petridis
bc57c33491
Change episode table schema. 2017-12-09 17:38:46 +02:00
Jordan Petridis
999a2a1fc1
Strip whitespace during parsing. 2017-12-09 10:22:09 +02:00
Jordan Petridis
b528c48e3b
Run rustfmt. 2017-12-09 05:57:16 +02:00
Jordan Petridis
48e61c6377
Added small a utility that eats extra whitespace. 2017-12-07 18:31:45 +02:00
Jordan Petridis
c07d240532
Sanitize html during feed parsing. 2017-12-07 06:38:31 +02:00
Jordan Petridis
05e056481f
Take advantage of <Into> trait from the generated builders. 2017-12-05 09:28:13 +02:00
Jordan Petridis
8e6cc4d2f2
Remove custom builders in favor of derive_builder crate. 2017-12-05 09:10:02 +02:00
Jordan Petridis
7727bc5ec3
Remove unnecessary Arc. 2017-12-02 01:46:37 +02:00
Jordan Petridis
74a1aae168
Upgraded diesel to 0.99 and switched from the git master into crated.io.
Also did a cargo upgrade of all the dependancies.
Notable upgrades are r2d2, lazystatic 1.0, loggerv 0.6 and rss 1.2
2017-12-02 01:39:28 +02:00
Jordan Petridis
9312366f62
Enable more lints. 2017-12-02 00:06:42 +02:00
Jordan Petridis
2051f0f58e
Enable some extra clippy warnings. 2017-11-28 09:50:30 +02:00
Jordan Petridis
c07215d357
Set hammond-data to build with Deny missing_docs. 2017-11-28 09:44:26 +02:00
Jordan Petridis
e4a7a7becf
Add module Doc comments. 2017-11-28 09:38:05 +02:00
Jordan Petridis
7dd8755bcb
Document hammond-data/src/lib.rs xdg_dirs module. 2017-11-28 09:24:12 +02:00
Jordan Petridis
76f9f36609
Document Source Model. 2017-11-28 09:01:38 +02:00
Jordan Petridis
4d669ef297
Document Podcast Model. 2017-11-28 08:40:27 +02:00
Jordan Petridis
3707b70b41
Document Episode Model. 2017-11-28 08:25:04 +02:00
Jordan Petridis
d81f9c6ad7
Fixed stable unit tests. 2017-11-28 04:42:15 +02:00
Jordan Petridis
34e808182c
Documented a bit hammond-data/src/feed.rs. 2017-11-27 06:06:14 +02:00
Jordan Petridis
c4030e51df
Added some doc comments in hammond-data/src/utils.rs. 2017-11-27 05:25:16 +02:00
Jordan Petridis
cb65782829
Extended the NewModel builder and added a bunch of unit tests. 2017-11-27 04:32:21 +02:00
Jordan Petridis
ee4f08c5cf
Implemented a BuildPattern for NewModels. Swiched stuff to pub(crate).
Added a Constructor for NewModels in order to make their fields private.
Also added getter methods that are mainly used in Unit tests.
2017-11-26 23:30:56 +02:00
Jordan Petridis
9e03aaae27
Upgrade gtk-rs crates. 2017-11-26 21:25:46 +02:00
Jordan Petridis
866904a687
Use generic IntoIterator instead of &[foo] slices. 2017-11-26 07:03:21 +02:00
Jordan Petridis
9d0df9de46
Tweak cargo privacy settings. 2017-11-26 06:21:14 +02:00
Jordan Petridis
7eff93ecf1
Remove rand from the downloader. 2017-11-26 03:47:43 +02:00
Jordan Petridis
6336f7cac1
Moved update funtions into a Trait and impl for NewModels. 2017-11-26 00:56:38 +02:00
Jordan Petridis
39dff5e27a
Moved insert functions into an Insert trait and implemented it for each NewModel. 2017-11-26 00:40:03 +02:00
Jordan Petridis
ce3a76aee1
Update episode rows instead of replacing them. 2017-11-26 00:13:51 +02:00
Jordan Petridis
2f801043c1
In place update a podcast row instead of replace. 2017-11-25 18:22:56 +02:00
Jordan Petridis
f83f894e44
Replaced pool.get().unwrap() statements with get()?. 2017-11-25 03:29:06 +02:00
Jordan Petridis
f0a0fdfa83
Added a truncate_db helper function. 2017-11-25 03:01:21 +02:00
Jordan Petridis
62da8bbb52
Use source_id as the unique identifieble field for the podcast table. 2017-11-25 01:56:10 +02:00