ulthar.xyz > Repos

audible-dl

An archiving tool for Audible audiobook libraries
About Files Commits git clone https://ulthar.xyz/repos/audible-dl/audible-dl.git

Commit history

commit e0614be37f23626ace96b71e22e59f21e40d7dd5
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 21:02:41 2022 -0700

    Moved scraping and logging together into a separate function

commit f6437c8b1d0b1cd91d3525a5b8967d71db59c54c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 20:59:26 2022 -0700

    Moved printing utilities to the top

commit c201c62199650238f3d9e02297ba749e1a0ab00a
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 17:56:47 2022 -0700

    Removed escape codes from strings, improved readability

commit 214615c230b031f9c1972844f40debc9e387913a
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 17:41:18 2022 -0700

    Moved scrape printing to another function

commit bd8a187616539ccd763faf8f5643e33fe773738c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 17:29:29 2022 -0700

    Added warning and extra TODOs to README

commit dea35eb0f688f76ace2f09db678055116115dc99
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 16:40:21 2022 -0700

    We should make the directories

commit b03d242b45e7ae2581fe3f5b68a16922efa6aad4
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 16:28:48 2022 -0700

    Fixed typo

commit a76aee496b4c95e191d20811c11d0382cead0c7a
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 16:17:33 2022 -0700

    Yaml import was in wrong file

commit ef0dcfb7349aa3092331d12e5eac084ed193b788
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Jul 7 15:12:53 2022 -0700

    Added man page

commit 728597e33ffe250a1c97cbf7eda73436ec9cf258
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jul 4 12:06:05 2022 -0700

    Added docstrings to account.go

commit 1e7d81e0090a66e7193b5d668e47e99cb7227ff8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jul 4 12:00:21 2022 -0700

    Added docstrings to client.go

commit 1bae98af2077c63660a18543bb0da97b729150d2
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jul 4 11:20:45 2022 -0700

    getData() is a constructor for Clients and should be treated as such

commit 2c2a48d11097d1f55ae1b122e2a2318c624c0194
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jul 4 11:20:16 2022 -0700

    Added doc strings

commit a8ad146ae88a7ca72773a054e1b80519730fb67a
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 13:17:39 2022 -0700

    Rewrote simple README

commit a308de9e92b2a05e52085cd11e57dc757b85cad7
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 13:06:08 2022 -0700

    Moved client and account structs and their methods into seperate files

commit 8de69ca07f054d809fedf63476fff80ab962be8f
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 12:51:05 2022 -0700

    ConvertSingleBook should return the path rather than print it
    
    In download mode this prevents the output from being messed up and
    makes the renaming process slightly less annoying.  I also fixed a
    dumb bug where I was renaming the unconverted .aax file to .m4b

commit 64680a977910e7903f07add4c3693fbe84ba425b
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 12:46:40 2022 -0700

    Most of these functions should be methods of the client struct

commit 1e9fef284a94173985dfb4a9982c49e4fc27b90c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 12:10:32 2022 -0700

    Removed prints

commit 7db8c03458170ea3e91a7bf1bd878edaeb5c674c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 12:06:15 2022 -0700

    Implemented book downloading
    
    Everything basically works, including checking and saving the
    downloaded books cache and converting the downloaded books.

commit 8a99e2e530ccd93c7581f4d7c5ca86e7371b63bc
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 12:05:08 2022 -0700

    Don't extract the download URL, it follows a simple schme

commit d6f8e09a55e10357059300b06e12d64b8a13b3f6
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jul 3 08:31:23 2022 -0700

    Moved datadir into the client struct

commit 957084767991558dab468cc02ff3300e71e009fc
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 22:29:21 2022 -0700

    All directories need trailing slashes

commit 23763af54b914ff2b421fae8e7dda843afa3e8f9
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 22:04:22 2022 -0700

    This pollutes the logs

commit f99dca1d51dbe638ee6074aa69eaa24ae4c45ca1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 22:01:53 2022 -0700

    Don't open the log file in append mode

commit 10957afd080e98de304235cacc0372056ad6dc0d
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 21:55:46 2022 -0700

    Added more debug logs

commit ca1c7d84a75415f8b1860c3689ec6f97f77ce4e8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 21:55:13 2022 -0700

    Added persistent logging

commit 69f71817f7e8d06409ba22a8a4e8229e851febe3
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 20:29:45 2022 -0700

    Added a table of books we've already downloaded
    
    The idea here is that the user may want to rename and organize the
    downloaded files

commit 8b5778a3b3bf4b8bd2eebff4c499c4733a480fd8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 20:26:17 2022 -0700

    I'm not going to do this rename yet

commit bc9108e73744f50925961d583b00414fe93dc1f1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 20:01:15 2022 -0700

    Did some refactoring to remove authdir and add datadir
    
    Datadir will hold miscellaneous files, including now the auth cookies
    and in coming commits a list of downloaded books

commit 6ea8e7315836705e5e42aa9c4d1c8d222cfddd16
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 19:27:55 2022 -0700

    Major bug fix!  We're now correctly loading cookies into the struct
    
    This little SOB had me chasing all over the place, turns out
    the iterator in range-based for loops isn't a pointer to the original
    object 😅.  At least it acted as encouragement to add much-needed
    logging functionality to the scraper.

commit 3f753aa410785e50a26924e18c52683ef7132130
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 19:27:24 2022 -0700

    Added a debug function to pretty-print an account

commit 8221453f5e02958ff100b9935d906786b30cb871
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 11:00:31 2022 -0700

    re-initialized the go module

commit 3ace2d4c7aa5a65249d54f078366d1f7ad48d9dd
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 11:00:21 2022 -0700

    removed old junk

commit 7c00dda0e2db9a82cb0aa40c04302c2712a02c3b
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 10:45:01 2022 -0700

    show the bad token

commit 6fb0e7850618bcd53c8ce4fe69afdd4661f9110c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 2 10:44:39 2022 -0700

    Added a more helpful message

commit 4ba1765d3f1bb243aa0bfdf5c3c64af49e173457
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Jul 1 22:18:09 2022 -0700

    The extractor should be an account method

commit 518ddb12e2a89c871ba083117332fbaa45f7b506
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Jul 1 22:08:53 2022 -0700

    Added a logging method to aid in debugging the scraper

commit 1197742e5946bf9b066c0af651a0213adc39e0b4
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu May 12 11:34:47 2022 -0700

    moved scraper into the new file
    
    The scraper isn't quite working, I'm not sure if this is an error on
    my end or a change to the damn html.
    
    I should probably add a debugging flag to print the status of the
    webscraper...

commit 0135f8fc75cda5e6f3bfcc9ce304a5382fd01de1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Apr 27 21:44:25 2022 -0700

    nice big section comments

commit 7e9a431cd9271c9f83ae243dc25dcdfef3c020ad
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Apr 27 21:37:59 2022 -0700

    added a config key to tell program not to scrape an account
    
    This may be useful when your Audible library is shared by a family so
    you only need a single set of cookies to scrape it, but you need all
    members' bytes to convert all the books.

commit b7e8a38b170ba354eedf9ce46efb466d744df2f1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Apr 27 20:34:21 2022 -0700

    80 column line breaks

commit 10b599c66b703a0ca8f0b49ffdb2b41ab7c7623e
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Apr 26 20:15:08 2022 -0700

    Added single-file conversion

commit ff5a58523206708d3fdb0827400c77c86e7066cb
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Apr 23 11:11:20 2022 -0700

    Added HAR-import method

commit 04e16ce0e542e1faf22f2b5aacbd4d2023c6d11c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Apr 23 10:50:37 2022 -0700

    We need a yml parser for the config file

commit e1ecca6705c2ddaf682b5e5b895a87bdb419f2e7
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Apr 23 10:47:53 2022 -0700

    Reworked user interface
    
    This is an ex-nihilo rewrite of the command-line, configuration, and
    environment logic for audible-dl that *appears* to replicate the
    desired functionality.  I now need to re-work the scraper code for the
    new multi-acount functionality and hook them together, then implement
    a nice concurrent command-line status.
    
    In the end I'll probably do away with the library/main architecture
    and just stick everything in a few package main files.

commit b9bad49a0f666eaff51d07cb6793927e70831ec1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 18:04:03 2021 -0800

    Moved har import function to library

commit bbec3a62fa2596bccf720bbc4b7033631ed45dd5
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 16:55:08 2021 -0800

    Fixed -a handling to not mangle files and not depend on data file

commit 5e2db0de78aa750a841f22a35176b7fc4cea3915
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 16:54:29 2021 -0800

    Move converter into the library; only remove aax file when scraping

commit ea28c441ca15d314846851da889c5095bbc8be04
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 16:49:42 2021 -0800

    Move initialization function to library & simplify logic in main
    
    Now that the configuration data is being stored in the
    audibledl.Client it makes sense to move the initialization code there
    as well.
    
    Previously we could only convert a single book with -a from the
    audiobooks directory, now it can be anywhere as long as -b s specified

commit b4b0ec5c578e4e8d05e58a761bfddfa461e1b923
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 12:11:08 2021 -0800

    Use a channel to send the page number to the caller rather than printing in the library

commit 401dd9cf4e316830948817e6159a354b6efe9830
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 12:02:43 2021 -0800

    Reworked RetrieveBooksListing into ScrapeLibraryUntil
    
    This produces two API functions allowing the user to either scrape the
    full library or do a more efficient scrape up to a known book

commit 323eb6538e28f0d65ab518d8f4e061b7b0c126f0
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Dec 24 11:55:50 2021 -0800

    Cleaned up RetrieveBookListings, moving book-detection logic to tokBeginsBook()

commit 47b30e918afca62cdfd06c4eec8426b7d8687dab
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Dec 23 05:00:54 2021 -0800

    Filter out more characters

commit 1713b831ce4f65880eaf0f184d1a54f546e83f9f
Author: ꙮ <ymir@ulthar.xyz>
Date:   Thu Dec 23 04:41:45 2021 -0800

    Remove dots

commit cbc81a741c8bc936565b2189e334d7c5c4ff8be8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Dec 22 08:43:09 2021 -0800

    Moved the file existence detection into another function; reducing nesting

commit 78216cc9813e19f8972e4cbd64d96cbfe5e0b0be
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Dec 21 05:29:15 2021 -0800

    Skip books that don't offer a download URL
    
    Because apparently it's possible to return books to audible

commit 11f3bdc770b668c23e31f339d0d3ff02282fe533
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Dec 21 05:22:33 2021 -0800

    Comply with gofmt

commit 8690c2eb98697c5ba10f05448676ee5d88657833
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Dec 21 05:17:33 2021 -0800

    Started reorganizing the scraper into the audibledl package

commit 8629a43bc3be4c240bef25b52b962b7b4134a622
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Dec 19 15:42:18 2021 -0800

    Download the full file when multiple parts are downloaded
    
    This damn bug let slip a major spoiler in The Dark Tower >:(

commit 5c845d0facdda24625b9059c69b2706e5a1705e1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Dec 19 15:40:42 2021 -0800

    Actually build it when I write make
    
    I'm so bad at writing Makefiles -_-

commit 59112ec2d69d05912065872674612d6fbaee7393
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Oct 16 09:26:52 2021 -0700

    Added notice of scraper bug and removed TODO entry

commit ef3f4484531e545c1631139140efe6fdb8f54381
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Oct 16 09:24:41 2021 -0700

    Added an option to convert a single file and refactored convertAAXtoM4B accordingly

commit 475c7c8f599b6e8455564c6523071929a6cdfbd8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Oct 11 14:17:54 2021 -0700

    Build a proper (still synchronous :() downloader and converter

commit af790a7c756e76c9accbe69a2342fe9846db509c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Oct 11 13:44:29 2021 -0700

    Go fmt

commit 992651b5f85fdb634d57076f53879420e18d52fb
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Oct 11 10:53:16 2021 -0700

    Updated README

commit 6b7dd0106d834ade493ddddd590d1cc370528562
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Oct 11 10:53:06 2021 -0700

    Added a makefile

commit 6dca257883c18722e3606e6c8ec85ccdd32b07f8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Oct 11 10:30:44 2021 -0700

    Store the error messages as string literals

commit 35a63ab51cdd37af28bb17b8deceadd8621ec7f1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Oct 11 10:23:17 2021 -0700

    Save the page source if the scraper fails

commit f0d2104b7035307474e763b5e20a0602983d3956
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Oct 9 16:35:52 2021 -0700

    Using bytes as a variable name causes conflict with the bytes package

commit c5e173ba581cd865f4a2a8a9e6c1b86e342b0ebe
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Oct 8 09:55:56 2021 -0700

    Fixed comment typo; alert user when setting cookies and bytes

commit 2b173cf01d67d1ab7e4832a7e4d08cb2cf0bc5c2
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Oct 8 09:49:53 2021 -0700

    m4b, not opus

commit 9a6a6546e52d83620fe9b3766162dfd0fad9d900
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Oct 8 09:48:04 2021 -0700

    Give the user some guidance in case the scraper failed

commit 8c16048fb5ee83851ad4800241c6bd798c42ff96
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Sep 25 18:40:35 2021 -0700

    Updated README

commit 1cfc01e560a47e4a8d088713c62c0ccf7e8e23b3
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Sep 25 18:24:52 2021 -0700

    Removed old code

commit 9d2579de1a4c52de37b41bd762ac122f001e548b
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Sep 25 18:14:16 2021 -0700

    Store partial files in the system's cache directory
    
    This seems like a clearly good solution for partially downloaded
    files, however I'm not sure about storing converted files there before
    moving them to pwd.  If they're on the same filesystem this isn't a
    problem, but my laptop's audiobooks directory is on a different
    parition than ~/.cache/, and the os.Rename() operation takes a good
    few seconds.
    
    The theory behind converting files into the cache directory is to
    avoid littering the audiobooks directory with corrupted files in the
    event of premature failure (eg, SIGKILL).  I wonder if there would be
    a better way around this; perhaps detaching the ffmpeg processes?

commit 48b392bcd70a75ee0196b654f18e461b2981ba5b
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Sep 22 11:02:43 2021 -0700

    Made page scraping prints more concise

commit deeef86d2f266487b606c0cb30dd5d25e7e86d03
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Sep 22 10:18:56 2021 -0700

    Ignore m4b files

commit c86b6200995720a8214773ff70c0676600ba4cd8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 15:41:48 2021 -0700

    Tweaked loop to assist in debugging
    
    Next we're going to implement concurrent downloads and conversions;
    this should allow us to get multiple books going without downloading
    everything.  That comes *much* later lol

commit 3c9ce8ed975007b009e63d701c7cfdc211806ee0
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 15:38:14 2021 -0700

    Added converter. It works!
    
    We're doing m4b files instead of opus now because a) ffmpeg will
    properly convert the cover art, and b) they're literally made for
    audiobooks

commit 15d5da6849ab7cdb543ab674bd4959e8cb97b330
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 15:19:29 2021 -0700

    Duh, the directories need to be writable

commit b5bd92b6a17480eb94252c385b19db46b90b3cb1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 15:19:09 2021 -0700

    Ported over the downloader function

commit 9e07e21d6a62a6a2222d076fcb69fec129c1937a
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 10:42:57 2021 -0700

    Add comment to explain why we're skipping some cookies

commit 795077f41d10b853e138da21aa1501492d9ee4ed
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 10:39:40 2021 -0700

    Create and remove temporary directories

commit 9da7b5ef06808435d740f6342dad2eef75648225
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Sep 20 10:38:14 2021 -0700

    Added explanatory comments, removed old testing stuff, and added book presence checking

commit a271981219ffa774de33308795a3d67c6003ee7d
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 21:57:52 2021 -0700

    Silenced the net/http's complaint about double quotes in cookie values
    
    Fortunately it looks like those cookies aren't required for
    authentication

commit c6af0f7529017a9d725ba9cafbec7f2bf18641e9
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 21:46:54 2021 -0700

    Re-integrated the scraper, the HAR file solution works!
    
    We're now able to successfully download a listing of books from
    audible using the cookies imported from a HAR file of a request to
    audible.com/library/titles while signed in.
    
    Interestingly, while fetching the pages, net/http complains that five
    of the cookies contain invalid double quote characters.  Hopefully
    we'll be able to remove those cookies and still be able to sign in...

commit 60c3330533cd80b923ae490fbce7220e56a5d153
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 20:15:50 2021 -0700

    Ignore the executable and .audible-dl.json

commit 26ed1dcdebf4c9571990efd373301c330991066c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 20:12:34 2021 -0700

    Initial commit of the rewrite.
    
    We're able to take activation bytes and the path to a HAR file on the
    command line, import the cookies from the HAR file, and save that
    information in ./.audible-dl.json.  If this file exists, we're able to
    read it and dump it to the command line.
    
    Next up I'll be re-integrating the scraper so that we can start
    downloading book metadata

commit 25658df1876aa19ffb6f69514d2800b80b4e7188
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 20:01:19 2021 -0700

    We need these

commit 4ed6429ad26da3b7377c119081d730d27dc90929
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 17:00:25 2021 -0700

    Declaring bankruptcy and rewriting this shit from scratch

commit 08909a04b8123677b85ea501e6ade7f5276b6a60
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Sep 19 16:58:54 2021 -0700

    track makefile

commit 707a4010e9c4d6493c0f7db227ab3376412ce591
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Aug 20 16:57:14 2021 -0700

    Moved status prints into getLibraryPage() in order to clean up output

commit 9223521b5caa29ed7bb786a52d87f4ce546d2b10
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Aug 20 12:55:49 2021 -0700

    Added a function to sign in to audible.com
    
    I don't know for sure if this fetches the right cookies.
    
    Currently we fail with the message "Audible changed their website",
    however the error handling and exectution model of GetAllBooks and the
    functions it calls is so brittle and cursed that I'm not sure what's
    going on. A major overhaul is needed

commit afe9d05b25a17fc7d383f5b022a1f129aec7df9e
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 10 15:15:42 2021 -0700

    Moved book pretty-printing to the test

commit 0b78a05bc98dd45e641f04288b6cbb7da8f1ba5e
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jul 10 15:14:53 2021 -0700

    Set things up for a cookie renewal function

commit c90359345f703f464de0364446c1e0a2b2613225
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Jun 29 15:09:39 2021 -0700

    Dammit emacs, stop aliging with tabs!

commit 37c306c9f1134f96e9dcfd87f1ba756cf3bcbdb1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jun 28 13:41:00 2021 -0700

    Updated info

commit baab33d9dd7e1b0bc6ef3e45e11d1d644f6b5b48
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 16:50:36 2021 -0700

    Added GPL

commit f5fc0bccdb3be6fad07dd4501c5099cb36848f02
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 16:49:27 2021 -0700

    Added README

commit 6ab120fac840232768bde7eaee01f7319bd737c1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 16:24:29 2021 -0700

    Made error prints a little nicer

commit 8a2a1c2b606679bf13cfaae21084437622c247b2
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 16:19:37 2021 -0700

    Use cli args with the struct in config.go to pass activation bytes to converter
    
    Later we'll fill out the Config struct, add more command line
    arguments, and load options from a json file.

commit a5993d14e7cd3d0f3582201de01717bead485747
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 10:49:47 2021 -0700

    Do I need this here?

commit db1e741c6e5c0923dd93267150ebf338ddf1373b
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 10:47:42 2021 -0700

    Recover previously downloaded files

commit d860f6d2e5efe4013c1b6b7b765e2300a4c48cae
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 10:47:07 2021 -0700

    We need to make the directory after deleting it 🙄

commit 469088cc5889ee199993217cd3d71c1a3ce9f4fc
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 27 08:40:06 2021 -0700

    Make these directories in the opposite order so that ffmpeg doesn't fail when recovering

commit df0365abe5f442fd88d0300459d1772d81ac4386
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 23:18:37 2021 -0700

    Formatting, wrote propper recovery prints

commit 7d723e6d8c8411e58f8405cbdc03e5d709a3a6af
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 23:16:03 2021 -0700

    We can now (inefficiently) find which books we need to download
    
    This kind of thing is tricky to test, so I'm not 100% sure that it's
    okay.

commit 3576646e66835810a7e9878837341de830d4cfa1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 21:41:03 2021 -0700

    Failure print should be red, not green

commit 8ff3e37d623172002d43ff9471d76edcef83f294
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 20:08:50 2021 -0700

    Added better error notifications

commit 20c8ce99d255e2e4c31b7dfb714e74801b4cc572
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 20:05:32 2021 -0700

    Made error printouts more obvious

commit 5748eeff5f6ba0a601d8462ed57b099f17e9c7d8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 20:04:14 2021 -0700

    It works!
    
    - Added initial logic for the tmp directories
    - Added nice printouts
    - Added cracker function

commit d9b8c3ba34921eb5e902aba3387c9a2f41f02d17
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 20:03:45 2021 -0700

    Added the converter function and test for it

commit e67413da08b24092868e3c090fcc7b8c09b48b89
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 26 12:47:47 2021 -0700

    Cleaned up status printouts

commit 439e0880dd55e6edc2c7e76d846d6c5faa79df75
Author: ꙮ <ymir@ulthar.xyz>
Date:   Fri Jun 25 18:02:41 2021 -0700

    Added gitignore

commit 53d76ee9f120bd78425e2f710ae4bf852072a6ee
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jun 21 20:58:27 2021 -0700

    Use another temp dir for partially converted files

commit c0fe6752ae8b1de49d23d29ff6c91f73dd90d1d7
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jun 21 20:41:39 2021 -0700

    Renamed temporary directory
    
    We'll use another temporary dir to store in-progress opus
    conversions

commit 83f231484991447339ef0dc07238fa31fca180e3
Author: ꙮ <ymir@ulthar.xyz>
Date:   Mon Jun 21 20:39:17 2021 -0700

    We'll eventually get a differential of books we haven't downloaded

commit eca07aaf1e6f9a0784b4771a3155e0254d938c20
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 20 17:14:30 2021 -0700

    All book data should be consolidated in the Book struct

commit 2dd9f84ca85b640e6508d2eb39f9a15f7d11b9f1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 20 14:42:10 2021 -0700

    This isn't C smh

commit 84c1a33e79395b96e2707a0b26bc3e186271d405
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 20 11:38:33 2021 -0700

    Added temporary driver code for the downloader

commit c8939fe0c25eb6d1dfe976cd066221efde62d4e1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 20 11:38:16 2021 -0700

    Added downloader

commit 4c0d6acf0592a42fa3c2df447d5d8db49fe7ec9c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun Jun 20 11:10:02 2021 -0700

    Create the download directory or fail if it already exists

commit c764fd4600371bb27428cd94b724325e7eb338ce
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 19 20:29:23 2021 -0700

    Fixed where we're only getting download URLs for longer books
    
    It turns out the DownloadFull aria-label is only applied to <a> tags
    in a popup window which asks if you want to download the book fully or
    by pieces. We're passing the (basic) test!

commit 9c45850fb27c89574584ff3e5a5df3a8e5a08142
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 19 18:23:35 2021 -0700

    Added scraper_test.go

commit 0aad992700e000ee5ad844a6c6382b1a3a156abc
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 19 18:18:35 2021 -0700

    Removed old GetLatestBooks() function

commit 103ad103fac4874df888e99fca5305710404ebc6
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sat Jun 19 18:18:22 2021 -0700

    Cleaned up output

commit 6cbbe90dda73665c37836612b4f0c7b0e072417e
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Jun 16 20:55:22 2021 -0700

    Rewrote GetAllBooks() to fetch info across all pages of the library :^)

commit b6c0956b70d19b9d5a2e27125bc9afc4e70017f1
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Jun 16 16:56:35 2021 -0700

    Moved book printing to a seperate function

commit 19ac8eab7fd30e27bb10ad4295d90881e0f8bc51
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Jun 16 13:58:38 2021 -0700

    Indent with tabs, not spaces

commit 3b1ec170f8d716ab3a7cfb242a501bc543ba47e4
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Jun 16 13:12:01 2021 -0700

    Load the cookies from a json file

commit 823cbc594d8813b1db5229d24c704435619355e8
Author: ꙮ <ymir@ulthar.xyz>
Date:   Wed Jun 16 11:33:52 2021 -0700

    Downloader works!
    
    The values in the cookies struct have been redacted for privacy

commit 7795e76607421ab98be18c6d91ed705b88b4e26c
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Jun 15 15:17:27 2021 -0700

    getLibararyPage() basically works
    
    With currently redacted values for `urlparams`, `bodyparams`, and the
    cookies, I can download Audible's signin page.
    
    I haven't been able to actually sign in, but I figured out the cookie
    issue at least and it *should* be smooth sailing from here. Modest
    progress, but progress nontheless :^)

commit dd888f21a9ced3f2254b5a5f9464f3f480606932
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue Jun 15 15:15:34 2021 -0700

    We shouldn't have a getCredentials() function yet

commit 3adcf18efb88b185d167e88a69efc5b02b7e0017
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue May 25 10:16:47 2021 -0700

    [untested] Added a function to only download the latest books.
    
    I can't test this until I get the authentication worked out

commit 0f29172720b0be3e74de22e553bd5a67a05c0484
Author: ꙮ <ymir@ulthar.xyz>
Date:   Tue May 25 10:11:45 2021 -0700

    Get the credentials from a function and die loudly if we don't understand the html

commit 64424b781d40478b3e4017b193de41655f700939
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun May 23 09:02:24 2021 -0700

    We need go.mod

commit 9a743af17de9233a6e6b5cbb4956915163a7f96a
Author: ꙮ <ymir@ulthar.xyz>
Date:   Sun May 23 09:00:19 2021 -0700

    Initial commit:
    
    - audible-dl.go
      This is the program's main file, but right now it just serves to
      test scraper.go
    - scraper.go
      Right now it's able to extract book information from a locally
      stored "titles.html" page
Generated 2024-06-10 19:24:15 -0700 by RepoRat