Commit Graph

124 Commits

Author SHA1 Message Date
Jordan Petridis
e07e35110d Use pretty assertions! 2018-04-03 19:42:10 +00:00
Jordan Petridis
a946ddfab1 html_to_pango: Switch to use the new library spawn from this.
Thanks to @danigm for spinning that part of fractal to a shared library.
2018-04-03 19:42:09 +00:00
Jordan Petridis
c338802329
Update deps. 2018-03-30 11:49:54 +03:00
Jordan Petridis
1af06f2e0d
Neaw gtk-rs release, yay! 2018-03-19 06:34:28 +02:00
Jordan Petridis
3a0fb4bdec
Upgrade dependancies. 2018-03-14 04:07:44 +02:00
Jordan Petridis
1bdd2f2f5b
Merge branch 'master' into state-machines-experiements 2018-03-12 22:10:14 +02:00
Jordan Petridis
9da2414e8b
Initial implementation of an itunes_to_rss url resolver. #49 2018-03-12 06:48:05 +02:00
Jordan Petridis
2a6e0b0e07
Merge branch 'master' into state-machines-experiements 2018-02-22 12:14:55 +00:00
Jordan Petridis
c61938ba62
Update dependancies. 2018-02-20 06:19:05 +00:00
Jordan Petridis
3a9a2f4033
EpisdoeWidget: Use take_mut crate to allow for a better api.
Currently it's required that you take mut self in order to manipulate
the internal state machines. This would not allow passing an Arc/Rc to
a callback since A/Rc<T> only derefs to &T and not T.

The take_mut crate allows the retrieval of ownership if you have a &mut refference
and as long you return T again. So Arc<Mutex<Machine> could work with
callbacks and embed Nested state machies without copying.
2018-02-10 03:15:12 +02:00
Jordan Petridis
e77b0a84c7
Update dependancies. 2018-02-08 17:03:26 +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
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
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
Jordan Petridis
120d494280
Update hyper and futures. 2018-01-27 09:45:25 +02:00
Jordan Petridis
8095919bbe
This sort of works? 2018-01-23 10:12:32 +02:00
Jordan Petridis
7bd361fbbb
Upgrade dependancies. 2018-01-22 11:47:17 +02:00
Jordan Petridis
66e816fc5f
Upgrade Diesel to 1.1 2018-01-22 11:22:01 +02:00
Jordan Petridis
20f36a67a0
Upgrade log and loggerv. 2018-01-21 15:22:13 +02:00
Jordan Petridis
b3c4de320b
Remove dead dependancies. 2018-01-20 07:41:09 +02:00
Jordan Petridis
b92ba7be76
Switch from libtest to criterion.rs for benchmarks. 2018-01-19 14:32:43 +02:00
Jordan Petridis
93372a30d0
1.21 Gigawatts. Remove non-future indexing loop.
Tried to have a seperate futures loop but it's too confusign having
too write a Trait2, functon2, etc version of everything and keep it together.

Futures are functional sort of, so the synchronous versioun can be removed.
It still needs a ton of work though to be ready, or even get near the perf
of of the sync+rayon version.
2018-01-18 11:38:24 +02:00
Jordan Petridis
1031315cdd
Getting somewhere? 2018-01-14 06:37:47 +02:00
Jordan Petridis
e4d77a6ba4
Cleanup the id() method mess of the diesel models. 2018-01-13 07:46:56 +02:00
Jordan Petridis
8e367b7e86
Dont ask me how this is working. 2018-01-12 08:50:16 +02:00
Jordan Petridis
13ba2762ad
Move the download manager to the gtk crate. 2018-01-05 22:02:06 +02:00
Jordan Petridis
e9dd297bf3
Merge branch 'master' into 33-downloader-re-work 2018-01-05 21:43:41 +02:00
Jordan Petridis
eafad35860
Upgrade diesel to 1.0.0 and update rest dependancies. 2018-01-05 19:57:11 +02:00
Jordan Petridis
b32f448957
When downloading an episode, set it's title to rowid instead of it's title. 2018-01-01 16:36:15 +02:00
Jordan Petridis
e42353e03f
cargo update 2018-01-01 00:46:31 +02:00
Jordan Petridis
a3cd76dbf8
hammond-downloader: Use glob Insead of hardcoded file extensions. 2017-12-31 03:59:48 +02:00
Jordan Petridis
1d78ab7c42
Cargo upgrade. 2017-12-28 23:19:36 +02:00
Jordan Petridis
378b8609aa
EpisodeWidget: Change the byte unit based on the size. Closes #18. 2017-12-21 21:31:25 +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
0ac78fcff1
Added date label into EpisodeWidget. 2017-12-14 18:03:37 +02:00
Jordan Petridis
d5d55d4ef3
Update dependancies. 2017-12-12 16:51:24 +02:00
Jordan Petridis
999a2a1fc1
Strip whitespace during parsing. 2017-12-09 10:22:09 +02:00
Jordan Petridis
c07d240532
Sanitize html during feed parsing. 2017-12-07 06:38:31 +02:00
Jordan Petridis
8e6cc4d2f2
Remove custom builders in favor of derive_builder crate. 2017-12-05 09:10:02 +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
9e03aaae27
Upgrade gtk-rs crates. 2017-11-26 21:25:46 +02:00
Jordan Petridis
7eff93ecf1
Remove rand from the downloader. 2017-11-26 03:47:43 +02:00
Jordan Petridis
7be0b5bbf8
Added a url cleanr. Closes #4. 2017-11-20 22:06:29 +02:00
Jordan Petridis
55442529a8
Initial switch to using r2d2. 2017-11-19 22:06:10 +02:00
Jordan Petridis
052988a2b1
Update dependancies. 2017-11-19 18:14:56 +02:00
Jordan Petridis
494761beaf
Removed id function from diesel models.
It's automaticly declared upon derive identifiable,
And there's no need to overwrite it.
2017-11-18 15:23:40 +02:00
Jordan Petridis
a286014a62
Refactored indexing functions of the Diesel models. 2017-11-14 17:56:28 +02:00
Jordan Petridis
03637903c6
Update dependancies. 2017-11-14 13:06:09 +02:00
Jordan Petridis
1fbacad8b9
Updated rayon. 2017-11-10 11:42:11 +02:00
Jordan Petridis
d3beb30f00
Closed #5. Proper guessing of the file extension from the mime-type. 2017-11-10 11:35:58 +02:00
Jordan Petridis
07c1395c29
Cleanup of downloader module. 2017-11-09 17:47:38 +02:00
Jordan Petridis
8c5cdf75a7
Cleaned up a bit the downloader moduel and added some unit tests. 2017-11-08 20:22:07 +02:00
Jordan Petridis
4e6ed416ee
Disabled http refers. 2017-11-07 10:28:04 +02:00
Jordan Petridis
944156d6fe
#6 Switched to using the safe api for GResource. 2017-11-06 14:56:59 +02:00
Jordan Petridis
60a3b39339
Initial implementation of #6 Gresource support. 2017-11-06 12:19:10 +02:00
Jordan Petridis
36271afcdd
Error types cleanup. 2017-11-05 15:36:54 +02:00
Jordan Petridis
7a1b272d9e
Removed code duplication and combined refresh_feed and refresh_db. 2017-11-04 13:36:25 +02:00
Jordan Petridis
7e8f39119d
Moved banner.png from assets into hammond-gtk/gtk 2017-11-04 11:28:10 +02:00
Jordan Petridis
0e6b6b2cce
Update dependancies. 2017-11-01 10:54:36 +02:00
Jordan Petridis
ac80ab04d4
Added the ability to mark episodes of a Podcast as watched/played. 2017-10-30 13:02:35 +02:00
Jordan Petridis
eb8fdb2edb
Implemented a downloaded/watched cleaner. 2017-10-28 06:57:32 +03:00
Jordan Petridis
f79ccdcecd
Updated dependancies and minor readme and todo fixes. 2017-10-24 09:00:50 +03:00
Jordan Petridis
e2a06fc074
Removed ListStore entirely. 2017-10-24 00:25:48 +03:00
Jordan Petridis
14484f6128
Removed hammond-cli crate, as it not longer needed. 2017-10-22 09:12:12 +03:00
Jordan Petridis
74715292b3
Updated reqwest depencancy. 2017-10-20 05:10:14 +03:00
Jordan Petridis
ff31ad668f
Overall impromvment into episode_widget.
Parse html into plain text for the episode widget.
Implement on per episode/child description evaluation.
Minor episode_widget tweaks.
2017-10-20 04:51:02 +03:00
Jordan Petridis
80f0f138f3
Wired playbutton to use xdg-open for the files. 2017-10-18 03:13:16 +03:00
Jordan Petridis
5ef27d1072
Updated dependancies. 2017-10-16 05:03:48 +03:00
Jordan Petridis
f25ce64e34
Initial split into workspaces in order to be more flexible. 2017-10-04 22:41:17 +03:00
Jordan Petridis
b6879f82b6
Added some, lacking but better than nothing, integration tests. 2017-10-04 11:45:13 +03:00
Jordan Petridis
1b69fd5091
Re enable codecov integration. 2017-10-04 10:11:46 +03:00
Jordan Petridis
1ca6c50fb1
code cleanup, initial index_feed.rs tests. 2017-09-30 22:39:08 +03:00