Commit Graph
100 Commits
Author SHA1 Message Date
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 457e43978f Pipeline: Fix a panic if the list of futures was 0. 2018-01-23 19:07:11 +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 1c4138c166 Benches: Remove dead stuff. 2018-01-23 13:24:08 +02:00
Jordan Petridis 050fe9c52b Pipeline: offload more stuff to the threadpool. 2018-01-23 11:43:37 +02:00
Jordan Petridis a8c49049dd Fix flatpak permission. 2018-01-23 10:40:14 +02:00
Jordan Petridis 8095919bbe This sort of works? 2018-01-23 10:12:32 +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 d231cc165f Fix batch indexing. 2018-01-22 14:51:31 +02:00
Jordan Petridis c2d5b5ded0 Flatpak: Remove the notification portal since its not going to be used any time soon. 2018-01-22 12:23:23 +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 eb75e68b72 Fix benchmarks. 2018-01-21 14:52:21 +02:00
Jordan Petridis dc9a28c0c7 Remove xml files. 2018-01-21 14:49:54 +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
Jordan Petridis ef52a026bc Feed: Add Builder pattern. 2018-01-20 08:46:05 +02:00
Jordan Petridis b3c4de320b Remove dead dependancies. 2018-01-20 07:41:09 +02:00
Jordan Petridis 7d9781052f hammond-data: Rework the modules privacy. 2018-01-20 07:28:30 +02:00
Jordan Petridis 855b1517a7 Feed: Removee unimplemented! hack to guard against my future stupidity. 2018-01-19 19:20:21 +02:00
Jordan Petridis 1606ceaadb Source: split response_to_channel into more futures. 2018-01-19 16:29:50 +02:00
Jordan Petridis 46b6c0d27e hammond-data: Remove leftover synchronous code. 2018-01-19 15:41:37 +02:00
Jordan Petridis b92ba7be76 Switch from libtest to criterion.rs for benchmarks. 2018-01-19 14:32:43 +02:00
Jordan Petridis 44dbb06dcc Add benchmarks for the async path. 2018-01-19 13:15:21 +02:00
Jordan Petridis e6b0cfccb5 Apply clippy suggestions. 2018-01-19 10:32:25 +02:00
Jordan Petridis 5c5faafc72 Source: Move around code and change some methods signature.
request_constructor is now a Source method.
update_etags now takes &mut self instead of mut self.
update_etags now uses source setters methods instead of raw fields.
changed the naming of into_feed to to_feed according to rust convention.
2018-01-19 07:51:55 +02:00
Jordan Petridis 9dc555cad7 Feed: Add an index_async implementation. 2018-01-18 18:57:44 +02:00
Jordan Petridis 1394366f91 hammond-data: Delete some dead code. 2018-01-18 17:04:57 +02:00
Jordan Petridis 6abf2535b0 hammond_data: Make index a trait that requires Insert + Update. 2018-01-18 16:33:07 +02:00
Jordan Petridis 1c96288178 hammond_data: Add more benchmark cases. 2018-01-18 15:50:48 +02:00
Jordan Petridis 098c5755b0 hammond-data: Do batch indexing of new_episodes. 2018-01-18 13:47:40 +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 5d88998180 hammond_data: Add an EpisodeMinimal Diesel model. 2018-01-17 10:21:16 +02:00
Jordan Petridis 574cfae5c6 rustfmt: enable reorder imports. 2018-01-17 08:57:02 +02:00
Jordan Petridis e707087e72 hammond_data: Split models::queriables into multiple modules. 2018-01-17 08:45:14 +02:00
Jordan Petridis 3a6f6d8931 hammond_data: Split models::insertables into multiple modules. 2018-01-17 08:27:39 +02:00
Jordan Petridis 3766db2b14 hammond_data: Move parse_podcast into a NewEpisode method. 2018-01-17 07:31:24 +02:00
Jordan Petridis 8174fe0bac hammond_data: Move parse_episode from parser into a NewEpisode method. 2018-01-17 07:16:59 +02:00
Jordan Petridis bd9844f012 Dbquerries: Use map_err() instead of ? into Ok() pattern. 2018-01-17 07:13:34 +02:00
Jordan Petridis f64779f70a Parser: Add NewEpisodeMinimal struct.
Parsing whole episodes can be expensive and we only need
a subset to determine if it should be indexed/updated or ignored.
2018-01-16 18:33:32 +02:00
Jordan Petridis 978e5a61f6 Dbquerries: add EXIST querries for podcast and episode. 2018-01-16 17:26:41 +02:00
Jordan Petridis fa03c20b00 Feed: add parse_channel_items_future method. 2018-01-16 14:52:20 +02:00
Jordan Petridis bf4f655ed2 Pipeline: remove submodule hack. 2018-01-16 14:37:51 +02:00
Jordan Petridis b3460b15a2 hammond_data::Feed: add parse_podcast_future method. 2018-01-16 13:44:33 +02:00
Jordan Petridis 7f78e87551 hammond_data::Feed: Remove unused parts. 2018-01-16 12:35:08 +02:00
Jordan Petridis 3358fcd0b3 hammond_data::Feed: general cleanup of no longer needed stuff. 2018-01-15 11:03:40 +02:00
Jordan Petridis 10345ffda7 Pipeline: add matching on status code. 2018-01-15 10:16:01 +02:00
Jordan Petridis 2f7a22355f Minor cleanup of the mess. 2018-01-14 08:27:50 +02:00
Jordan Petridis e63a366fdc I don't know why the benchmarks keep cycling. 2018-01-14 06:48:42 +02:00
Jordan Petridis 1031315cdd Getting somewhere? 2018-01-14 06:37:47 +02:00
Jordan Petridis a5fd79e220 I hate futures error handling. 2018-01-13 14:47:38 +02:00
Jordan Petridis e162f8fd3f Non-working yet benchmark. 2018-01-13 08:31:16 +02:00
Jordan Petridis e4d77a6ba4 Cleanup the id() method mess of the diesel models. 2018-01-13 07:46:56 +02:00
Jordan Petridis 6517956987 This works somehow... 2018-01-13 07:09:59 +02:00
Jordan Petridis ee9cede921 hammond_data: Remove Source dependancy from Feed struct. 2018-01-13 06:08:51 +02:00
Jordan Petridis 1dd25f91fd Minor cleanup 2018-01-13 05:47:23 +02:00
Jordan Petridis 771b7b3804 Something Something futures. 2018-01-13 01:28:02 +02:00
Jordan Petridis 8e367b7e86 Dont ask me how this is working. 2018-01-12 08:50:16 +02:00
Jordan Petridis e20b96e061 Update CHANGELOG.md 2018-01-12 03:36:09 +02:00
Jordan Petridis 58854c2ebd Update Screenshots and README.md 2018-01-12 03:28:02 +02:00
Jordan Petridis 01fe5c4730 Revert to using light theme. 2018-01-12 01:48:52 +02:00
Jordan Petridis e192cf6618 Headerbar: Use application action channel instead of GAction. 2018-01-12 01:41:36 +02:00
Jordan Petridis 88a4c2d9f0 gitlab-ci: Disable nightly builds and clippy. 2018-01-12 00:33:58 +02:00
Jordan Petridis 95ff3715a3 Migrate StackSwitch actions to use the AppAction channel. 2018-01-11 01:14:54 +02:00
Jordan Petridis 8a90de3c0e Implement download cancel action. #24 2018-01-10 09:43:38 +02:00
Jordan Petridis 77f005caab Update Contributing.md 2018-01-10 09:04:24 +02:00
Jordan Petridis a63a6e168c Added BrokenFeed Issue template. 2018-01-10 08:27:13 +02:00
Jordan Petridis 3899e8ed39 Add GPL notices to the glade ui files. 2018-01-10 02:59:47 +02:00
Jordan Petridis fe2f8617a2 Merge branch '33-downloader-re-work' into 'master'
Resolve "Downloader Re-work"

Closes #33

See merge request alatiera/Hammond!12
2018-01-10 00:56:18 +00:00
Jordan Petridis 7f8544373f EpisodesView: Show 50 episodes instead of 100. 2018-01-10 02:14:49 +02:00
Jordan Petridis 955845110b Merge branch 'master' into 33-downloader-re-work 2018-01-09 12:06:38 +02:00
Jordan Petridis d4e3bf696b EpisodeWidget: Fix updating. 2018-01-09 10:52:52 +02:00
Jordan Petridis 0ba5e14d7f EpisodeWidget: Only update if it's visible. 2018-01-09 10:10:54 +02:00
Jordan Petridis ea70addbc6 Removed some unwrap()s. 2018-01-09 09:21:07 +02:00
Jordan Petridis 87a259e1a4 Minor cleanup. 2018-01-09 07:21:38 +02:00
Jordan Petridis 68d7c621d3 EpisodeWidget: Update the local_size label. 2018-01-09 06:15:41 +02:00
Jordan Petridis c54f29e82a EpisodeWidget: Modulate callbacks. 2018-01-09 04:20:38 +02:00
Jordan Petridis 9dafb0ae9e EpisodeWidget: Add local_size label that shows the amount of bytes downloaded. 2018-01-09 03:58:13 +02:00
Jordan Petridis 193117f579 Downloader: Update the progress index of downloads. 2018-01-08 12:29:47 +02:00
Jordan Petridis eef83fc98c EpisodeWidget: Implement API to update the progress bar. 2018-01-08 05:11:37 +02:00
Jordan Petridis 345d4b3865 Check more http status codes when parsing feeds. 2018-01-08 02:41:37 +02:00
Jordan Petridis 81b1ec810c Apply clippy suggestions. 2018-01-07 08:36:02 +02:00
Jordan Petridis 074284d286 Move unsub show logic and get_download_folder func to hammond-data::utils. 2018-01-07 08:26:38 +02:00
Jordan Petridis e290ae223e Pixbuf cache: use rwlock where possible. 2018-01-07 07:49:16 +02:00
Jordan Petridis 5c333291e1 Move temporary downloads to XDG_CACHE/Downloads. 2018-01-07 07:46:11 +02:00
Jordan Petridis 6bd391d89e I hate global mutable state.. 2018-01-07 05:51:29 +02:00