I'm going to use ofxparse. Promise.
This marks a really serious break with the automatic downloader code
because now we don't even have the code that it depended on for parsing
I switched to using ofxparse because my own parser wasn't up to snuff on
handling the download file that I got from my bank and I got sick of
maintaining my own because SGML is an ugly mess
This commit means that my automatic download won't work any more because
it's expecting to pass data through my own parser, which we're not going
to do any more. That's okay because my bank's OFX integration is
actually down anyways
The OFX direct connection for my bank isn't working right now. I have a
support ticket in. Until then I'm going to work on doing a manual upload
and parse of transactions from this OFX document
I had accidentally crafted the query so that we got something like an
outer join when I actually wanted an inner join. Figuring out how to get
this in SQLAlchemy took a bit of work, but I got it :)
Makes my life a little easier to have all of these ofxsources so that I
can test out different sources and start building out support for
communicating with these different institutions
I'm throwing away quite a bit of the data I have but that's okay for now
until I know that I need them
I had done it lazily before and was getting erroneous results when
querying as soon as I had more than one OFXUpdate for an account. Now I
properly do a subselect. Come to think of it, I could also use a limit,
I think...
The query here isn't quite right, but I don't have a network connection
so I can't be bothered to do the actual research to find out how to do
the SQL correctly. Also, I don't really care until I can do more
updates, so that's fine too
We need the account ID to uniquely identify the account when we request
transactions. So now we require the user to input the data. Over time we
may be able to come up with a way to make this less onerous for the user
since, in this case, AFCU actually calculates the account ID from the
user ID.
But we'll get to that as we learn more
I tried BeautifulSoup, which was okay, but was missing an understanding
of how OFX does SGML. That's fine, writing my own parser was not that
big of a deal
This makes it so that we can add new accounts and show the accounts that
we already have. We don't do anything with them yet, but that's okay it
was interesting figuring out how to get them set up at all. I'm
currently storing the passwords as unencrypted, which I intend to
change, but it's going to take some time to research exactly how to
encrypt them so that the data is not retrievable by a bad actor with
access to the database.
This proves out that my navigation works the way that I want and that my
auto context variables are working. Currently we don't do much but say
they have no accounts, but we can build that up over time
I'm going to do server-side rendering. That means that I don't really
need sepiida in the way we think of it because I don't need a JSON-based
API to do my UI. And that's fine. This simplifies a bunch of stuff, so
I'll be happy with it
This commit breaks apart my growing list of endpoints into a new module,
vanth.pages, where I intend to keep the various pages. I've put auth in
a separate, non-pages module even though it has pages because auth is a
special beast that deals with sessions and DB stuff, so I like it in a
separate kind of module