Commit Graph
100 Commits
Author SHA1 Message Date
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
Jordan Petridis 4a6a9517f1 ShowStack: Copy the scrollbar position only if both widget represent the same podcast. 2018-01-06 05:38:31 +02:00
Jordan Petridis e961d5f8b0 Use lazystatic to cache the current chrono date. This will backfire on every new year's eve. 2018-01-06 03:49:26 +02:00
Jordan Petridis 5fed283ff4 EpisodeWidget: Hide duration label if its equal to 0. 2018-01-06 03:18:28 +02:00
Jordan Petridis bb5c25d87f Write unit tests for the itunes_duration_extension parser. 2018-01-06 03:09:24 +02:00
Jordan Petridis da459707be Wire up the callbacks to the client. 2018-01-05 23:57:48 +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 d8d4b08252 EpisodeWidget: Trim date label to avoid date/title miss alignment on single digit dates. 2018-01-05 18:46:22 +02:00
Jordan Petridis 65a2d666a3 ShowWidget: Upon unsubing spawn IO heavy tasks into a seperate thread. 2018-01-05 00:35:18 +02:00
Jordan Petridis 299d2e8db1 ShowsView: Retain vertical scrolling adjustment upon view refresh. 2018-01-05 00:09:09 +02:00
Jordan Petridis 8ad5bf6f09 ShowWidget: Retain vertical scrolling adjustment upon view refresh. 2018-01-04 23:43:31 +02:00
Jordan Petridis 112b61d39e EpisodesView: Retain vertical scrolling adjustment upon view refresh. 2018-01-04 23:19:15 +02:00
Jordan Petridis 9d82b0edda EpisodeWidget ui tweaks. 2018-01-04 17:27:55 +02:00
Jordan Petridis 29837ad39a Default to using Arc instead of Rc with composite structs of GtkWidgets. 2018-01-04 17:05:05 +02:00
Jordan Petridis 750abb519b GtkApplication: Change the action channel polling interval. 2018-01-04 16:42:17 +02:00
Jordan Petridis f873278a96 hammond_gtk: Move the gtk callback to an Application channel action. 2018-01-04 16:16:34 +02:00
Jordan Petridis f30c645596 hammond_gtk: Refactor refresh_feed func to use the Application channel. 2018-01-04 16:05:42 +02:00
Jordan Petridis 67bc3e5225 Minor cleanup. 2018-01-03 08:12:55 +02:00
Jordan Petridis c33b493dcd Migrate Headerbar transitions into Channel actions. 2018-01-03 08:02:06 +02:00
Jordan Petridis 2633161c67 GtkApplication: Remove some SimpleActions. 2018-01-03 06:57:15 +02:00
Jordan Petridis 33cd6e69ff EpisodeWidget: Migrate to use a Channel Action instead of simple Action. 2018-01-03 06:53:19 +02:00
Jordan Petridis 84da6aac8c ShowWidget: Replace the unsub simple action with a Channel Action. 2018-01-03 06:23:12 +02:00
Jordan Petridis c8537e9474 GtkApplication: Start to refactor to into a App-channel structure. 2018-01-03 05:58:50 +02:00
Jordan Petridis a0476fedec ShowWidget: Split init into smaller functions and add comments. 2018-01-03 03:33:33 +02:00
Jordan Petridis f54ae2f1d5 EpisodeWidget: Code cleanup and splitting. 2018-01-03 03:02:46 +02:00
Jordan Petridis 2d71a99121 Change the auto-updater and checkup startup scheduling. 2018-01-02 20:47:49 +02:00
Jordan Petridis c67c6e463e EpisodeWidget: Its still a mess, but a bit cleaner. 2018-01-02 08:19:24 +02:00
Jordan Petridis c61d322569 EpisodeWidget: Implement shared download state. 2018-01-02 08:00:38 +02:00
Jordan Petridis 37e9b6fbf0 'How hard could it be' 2018-01-02 07:23:53 +02:00
Jordan Petridis 15b3eb115c ShowWidget: Add tooltip to the website button. 2018-01-01 19:46:27 +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 a3c204a02d Headerbar: Fix add popup. 2018-01-01 00:42:14 +02:00
Jordan Petridis a3cd76dbf8 hammond-downloader: Use glob Insead of hardcoded file extensions. 2017-12-31 03:59:48 +02:00
Jordan Petridis 785a5f80c6 hammond-data::utils: Small and minor refactor. 2017-12-31 01:42:28 +02:00
Jordan Petridis e727734443 DB Schema: Remove episode.published_date column. 2017-12-30 22:23:10 +02:00
Jordan Petridis 963ff212ad hammond-gtk: Add some tooltips. Closes #13. 2017-12-30 21:56:44 +02:00
Jordan Petridis 3c84d889fd Headerbar: Do more stuff through glade, cut some code. 2017-12-30 21:19:29 +02:00
Jordan Petridis 5730e71e2a Clear TODO and FIXME that are no longer releavant. 2017-12-30 20:54:23 +02:00