Commit graph

48 commits

Author SHA1 Message Date
Nick Krichevsky 67500348b0 Add ability to submit transactions to YNAB 2022-10-09 16:00:35 -04:00
Nick Krichevsky c739436c3a Parse date from emails 2022-10-09 16:00:35 -04:00
Nick Krichevsky 0bb543eda1 Add configuration for YNAB 2022-10-09 16:00:35 -04:00
Nick Krichevsky 3e317b8b5e Make log level configurable 2022-10-02 17:46:16 -04:00
Nick Krichevsky df58628e47 Satisfy clippy 2022-10-02 17:22:33 -04:00
Nick Krichevsky eef33cdf0c Switch to fern logger
It was annoying to get debug logs for modules that aren't even ours
2022-10-02 16:34:42 -04:00
Nick Krichevsky 856cf0968d Attempt to parse emails from all known parsers 2022-10-02 16:34:42 -04:00
Nick Krichevsky 60eab8dd8d Add module to parse Citi and TD emails 2022-10-02 16:34:42 -04:00
Nick Krichevsky 4c67d4292b Convert stream messages to a dedicated message type 2022-09-05 23:15:51 -04:00
Nick Krichevsky e79651831b Make test_util test only 2022-09-05 20:28:05 -04:00
Nick Krichevsky 888c4a80f7 minor cleanup 2022-09-05 20:24:59 -04:00
Nick Krichevsky 07e8bcfc3e Don't make IMAPSession pub anymore 2022-09-05 14:14:04 -04:00
Nick Krichevsky 07c6e4248b Mark task::multi pub(crate) 2022-09-05 12:45:58 -04:00
Nick Krichevsky 1ed567f19c Add task name to multi::Runner tasks 2022-09-04 23:10:08 -04:00
Nick Krichevsky 95081b3fc0 Remove unneeded Task structures from fetch.rs 2022-09-04 21:35:32 -04:00
Nick Krichevsky 587b97a400 Add task::multi::Runner to replace horrid multi-cancel logic in fetching 2022-09-04 14:57:24 -04:00
Nick Krichevsky 724c7c813a Fix naming typo 2022-09-03 16:36:40 -04:00
Nick Krichevsky 4e47f1699a bump async imap dep 2022-09-03 16:17:48 -04:00
Nick Krichevsky 6ac012aa89 Remove busy-wait based cancelling 2022-06-05 17:40:30 -04:00
Nick Krichevsky 587cb7578b Add OnDrop struct for cancelling on drop 2022-06-05 09:23:58 -04:00
Nick Krichevsky 73ba7c3358 Add cancellation of all tasks 2022-06-05 09:10:35 -04:00
Nick Krichevsky 23077d939d Add type that will allow for multiple cancellation 2022-06-05 00:18:53 -04:00
Nick Krichevsky 13c89d1fe8 Refactor message streaming in preparation for full cancellation 2022-06-04 23:04:54 -04:00
Nick Krichevsky 37b1d6ab1d Implement cancellation for watching 2022-06-04 22:54:03 -04:00
Nick Krichevsky 2f5495bb80 Change spawner to use Arc 2022-06-04 19:54:07 -04:00
Nick Krichevsky e23dad1f41 Ensure that stream_new_messages returns something that is Send
Makes sure that this can be used on multi-threaded executors

Well, technically it doesn't fully guarantee it, but the error
being non-Send is very unlikely. Anyway, if the returned Stream
is not Send, the future definitely won't be, so we will assert
that at least.
2022-06-01 23:08:23 -04:00
Nick Krichevsky 80381811bc Don't use AsRef, use Arc instead to be explicit 2022-06-01 23:06:19 -04:00
Nick Krichevsky d7522fc005 Don't clone SessionGenerators between usages 2022-05-31 01:23:40 -04:00
Nick Krichevsky 5fc2c37d90 Remove SequenceNumberStreamer 2022-05-31 01:01:39 -04:00
Nick Krichevsky 1a95f53cfc Remove no longer necessary pub use's
these were previously used to facilitate 'main'
2022-05-30 16:48:23 -04:00
Nick Krichevsky abe6cc26fd Move tokio spawner to testutil mod 2022-05-30 16:48:23 -04:00
Nick Krichevsky d26e15258d Remove trait bounds from struct/enum definitions 2022-05-30 16:41:13 -04:00
Nick Krichevsky 5a49696cfa Refactor usage of Broker to be behind a facade function 2022-05-30 16:21:47 -04:00
Nick Krichevsky 49d3558d9c Add top-level facade for message streaming 2022-05-30 13:25:12 -04:00
Nick Krichevsky 74e6e1a8e6 minor cleanup of Watcher 2022-05-30 01:23:46 -04:00
Nick Krichevsky d9c44bdd43 Remove unneeded Sync bound 2022-05-29 23:59:38 -04:00
Nick Krichevsky 71a7f57048 Change fetcher to not parse messages at all 2022-05-29 23:14:11 -04:00
Nick Krichevsky fd6b53a670 Add timeout to broker test 2022-05-21 10:22:50 -04:00
Nick Krichevsky 3417870edb Refactor broker to separate task data into its own structure 2022-05-21 10:20:05 -04:00
Nick Krichevsky ca69471067 Add basic implementation of Broker 2022-05-21 09:39:56 -04:00
Nick Krichevsky 47352c6038 Move message fetching into a trait 2022-05-17 23:32:55 -04:00
Nick Krichevsky b2a1d72ce1 Clean up get_idler_cell 2022-05-16 21:08:58 -04:00
Nick Krichevsky 9dec076a07 Satisfy clippy and minor cleanups 2022-05-16 21:08:58 -04:00
Nick Krichevsky ef2c603778 Major refactor of watcher logic to be more generic
This is setup to allow for swapping out the message generation logic with mocks and other more easily testable data
2022-05-16 21:08:57 -04:00
Nick Krichevsky 6d3505a960 Clean up use of generics on Session 2022-05-12 18:38:08 -04:00
Nick Krichevsky 4409abd1fa Break out watching/printing into thier own structures
Still crude, but a step in the right direction
2022-05-11 21:25:01 -04:00
Nick Krichevsky 2da2859e9b Add (crude) initial prototype to fetch new emails 2022-05-08 14:02:40 -04:00
Nick Krichevsky a5573eb320 Add config struct 2022-05-05 22:08:53 -04:00