34 Commits

Author SHA1 Message Date
Thomas Wade
cd6cbd9948 Log in properly and clear cookies on failure
Just because we say we're logged in doesn't mean we actually are logged in.
2020-04-22 17:33:39 +09:30
Thomas Wade
398f6fe341 Merge branch 'refactor/lean-data-classes' 2020-04-22 17:01:46 +09:30
Thomas Wade
c0b381aca7 Update cached object API instances when deserialising 2020-04-22 16:54:38 +09:30
Thomas Wade
e7aba9e10a Only handle fave-related stuff when logged in 2020-04-22 16:46:24 +09:30
Thomas Wade
abdc8fe67a Fix misspelled dict entry 2020-04-22 16:39:36 +09:30
Thomas Wade
676a619775 Use existing cookies by default
They can still be overridden by supplying custom cookies though
2020-04-22 16:38:23 +09:30
Thomas Wade
b3a5b4acdb Make root API serialisable 2020-04-22 16:29:06 +09:30
Thomas Wade
d4fff8d61a Better cache handling
The root API instance will handle item caching to bring it closer to the external-facing side of things. This also means that caches are instance-based now, which may be seen as either a pro or con.
Additionally, User and Submission classes will no longer serialise their API instances when pickling.
2020-04-22 15:48:45 +09:30
Thomas Wade
042f732c69 Cache preview URLs early
Totally not modifying the API to conform with the project based on it
2020-04-22 04:52:00 +09:30
Thomas Wade
a70f181673 Add function to get a submission
I shouldn't have to use the Submission class to do anything outside of the library.
2020-04-22 04:00:28 +09:30
Thomas Wade
c72ff23a4a Add function to get the currently-logged in user 2020-04-22 03:59:16 +09:30
Thomas Wade
3a1be7daf6 Add logout function 2020-04-22 03:58:23 +09:30
Thomas Wade
ebcc589841 Actually verify whether the login was successful 2020-04-22 03:40:45 +09:30
Thomas Wade
c0ed667f18 Move login logic out of __init__ 2020-04-21 22:44:15 +09:30
Thomas Wade
aaf7445b8f Use new import 2020-04-21 21:38:51 +09:30
Thomas Wade
49970328f7 Fix broken gallery selector 2020-04-21 21:38:32 +09:30
Thomas Wade
27f3b5009e Use parent attribute, not function 2020-04-21 21:11:13 +09:30
Thomas Wade
b4afac95fd Get recommended submissions 2020-04-21 20:33:55 +09:30
Thomas Wade
7090b7f528 Merge everything into one file
Python is really loose in how it handles module naming, so it's easier if I just make a bundle of joy like this than separating everything out.
2020-04-21 18:32:28 +09:30
Thomas Wade
7a11a940d1 Add setup file 2020-04-21 18:30:18 +09:30
Thomas Wade
15b46d2ac1 Use more specific exception handling 2020-04-21 17:01:31 +09:30
Thomas Wade
345c95a477 Add missing base URL 2020-04-21 17:01:21 +09:30
Thomas Wade
49d5689aa6 Remove whitespace 2020-04-21 17:01:11 +09:30
Thomas Wade
1664aa8010 Add docstring to example 2020-04-21 16:30:30 +09:30
Thomas Wade
cf3676f461 Add scraper example 2020-04-21 16:17:10 +09:30
Thomas Wade
16312833a4 Save account username 2020-04-21 16:16:54 +09:30
Thomas Wade
95b5b25a8e Import everything 2020-04-21 05:40:26 +09:30
Thomas Wade
65fba50c1c Handle missing preview
This occurs when processing flash files
2020-04-21 05:39:52 +09:30
Thomas Wade
d13ab3ba6e Actually use the user cache 2020-04-21 05:12:08 +09:30
Thomas Wade
69ff0a40b8 Cache submissions 2020-04-21 05:12:00 +09:30
Thomas Wade
96702a3511 Add submission URLs and fave toggling functions 2020-04-21 05:05:46 +09:30
Thomas Wade
253c3d6110 Parse submissions 2020-04-21 04:39:28 +09:30
Thomas Wade
1906c1cd1b Use LXML explicitly 2020-04-21 02:56:32 +09:30
Thomas Wade
0b21cae8b9 Add initial implementation 2020-04-21 02:50:26 +09:30