1
0
Fork 0
Commit Graph

12 Commits (ca8bff8fc553d87923d9a359cab435e884ec01bc)

Author SHA1 Message Date
Dustin ca8bff8fc5 chase: Handle both CSV schemata
Apparently, Chase has switched back to the CSV schema without the Card
column at the beginning.  Just in case they decide to flip-flop on that
field forever, we better try to handle both cases.
2023-11-04 17:43:55 -05:00
Dustin 45b9e64ec1 chase: Update CSV mapping
Chase added a new "Card" field to the beginning of each record in their
CSV exports.
2023-10-09 10:03:41 -05:00
Dustin 5ea5d09b30 chase: Improve navigation robustness
Chase likes to subtly change their website fairly regularly, usually by
introducing more ads or changing the location of existing widgets.
2023-10-08 09:50:15 -05:00
Dustin d1c947c549 chase: Fixes for site updates
Chase made some minor updates to their site recently which affected some
of the element locators.  The propaganda in the right-hand column of the
landing page has changed, and the Downlod Account Activity form is still
really terrible, and now behaves even more strangely.
2023-07-24 11:17:50 -05:00
Dustin 9831fa818f commerce: Handle interstitial ads
Commerce likes to occasionally inject ads and other propaganda after the
login page, before loading the account summary page.  To handle this, we
may need to specifically navigate to the account summary page after
logging in.
2023-07-24 11:15:52 -05:00
Dustin 805aa40e20 commerce: Use modal form to download CSV
The Commerce Bank website no longer allows navigating directly to
`Download.ashx`; doing so just returns a generic "we're sorry" error.
They appear to have added some CSRF protection or something that makes
this not work.  As a result, we have to go fill out the form on the
*Download Transactions* modal dialog in order to get the download to
work correctly.
2023-07-13 18:01:34 -05:00
Dustin 3b432fc7d6 ntfy: Handle non-ASCII characters in message
In order to set the message for a notification with an attachment, the
text must be specified in the `Message` request header.  Unfortunately,
HTTP header values are limited to the Latin-1 character set, so Unicode
characters cannot be included.  As of *ntfy* 2.4.0, however, the server
can decode base64-encoded headers using the RFC 2047 scheme.

To maintain compatibility with older *ntfy* servers, the `ntfy` function
will only encode message contents this way if the string cannoto be
encoded as ASCII.
2023-06-23 09:33:24 -05:00
Dustin 43bf08eae8 chase: Remove second page load wait
When there are multiple accounts associated with a Chase online banking
user, the dashboard page layout changes.  Detailed account history is no
longer shown, so the elements we were waiting for in the "Waiting for
page to load completely" step never appear. Since we're navigating
directly to the download account transactions page now, anyway, we do
not even need to wait for this button to appear.
2023-05-22 17:22:56 -05:00
Dustin 55d5f6bd1a Include error with ntfy failure messages
Although it is undocumented, *ntfy* accepts a `Message` header along
with a file upload, which sets the message content of the notification
when a file is attached.  Since HTTP headers cannot contain multiple
lines, the newline character has to be escaped.  The *ntfy* server
performs unescaping automatically.
2023-05-22 09:08:27 -05:00
Dustin 58f417aea9 chase: Go directly to the download page
When there are no transactions in the default display, the *Download
account activity* button is disabled.  To avoid failing in this case, we
now navigate directly to the download page.  This requires explicitly
selecting the credit card account from the dropdown list, as it is not
pre-filled when the page is loaded directly.
2023-05-11 22:55:42 -05:00
Dustin 7cab766c38 Refactor error handling
The `ntfyerror` context manager replaces `screenshot_failure` for
handling online banking interaction failures.  It has several
advantages, notably:

* takes a screenshot of the browser page *before* logging out
* cleaner suppression of exceptions, with success tracking
* sends an `ntfy` message, with the screenshot attached
2023-05-11 22:52:35 -05:00
Dustin 7683ff5760 Initial commit 2023-05-09 14:08:23 -05:00