00:00:04<Doranwen>and yeah, the only one I could find that *would* do one chapter only was the FFDL I've been using
00:00:41<Doranwen>which, the programmer just sort of gave the finger to all us Linux users, probably unwittingly, but a *development* version of Qt? I still don't get that requirement
00:00:52<grawity>fanficfare -f html <url>
00:00:59<grawity>--begin, --end
00:01:16<Doranwen>you can have it grab pdfs too, I assume?
00:01:28<Doranwen>I do need that specific chapter requirement though, hmm
00:01:36<grawity>dunno, I don't want pdfs
00:01:43<Doranwen>I like reading pdfs on my computer itself
00:01:53<grawity>I mean I want the fanfics to be easier to read, not harder
00:01:53<Doranwen>html opens in browser, and my browsers are far too busy with other tabs
00:02:05<Doranwen>also, html always resizes to full width
00:02:14<Doranwen>and I have a 23" monitor, which makes it harder to read
00:02:28<Doranwen>pdf tends to be way easier for me to read, lol
00:02:36<grawity>you know you can have multiple browser windows? which aren't fullscreen?
00:02:48<Doranwen>bad idea here
00:02:50<Doranwen>I have tab explosions
00:03:02<Doranwen>and I do NOT want to lose the tabs I have open
00:03:05<Doranwen>so I never do multiple windows
00:03:14<Doranwen>that way they all come back when I close, or if something crashes for some reason
00:03:28<Doranwen>anyway, I prefer not to open my fics in a browser
00:03:31<Doranwen>for multiple reasons
00:03:47<Doranwen>I use the html if I'm reading them on my old phone-turned-ereader
00:03:54<Doranwen>but pdf for reading on the desktop itself
00:04:34<Doranwen>and the specific chapter thing, oddly enough, is not for ff.n - but for AO3 fics where the authors stupidly put every ficlet and drabble they've written for a dozen different fandoms in one "fic"
00:04:48<Doranwen>and I only want the chapter that has a fic for the fandom *I* know
00:05:16<Doranwen>AO3 has no way to d/l a single chapter, and nor does anything else I tried except for FFDL
00:11:13<Doranwen>interesting, I think I found one that *does* do select chapters: https://github.com/KebinuChiousu/fanfic_scraper
00:11:31<Doranwen>it's not clear what format it'd end up in…
00:14:01<@JAA>WARC or GTFO :-)
00:18:34<Doranwen>JAA: ah, but archival vs. easy access on a home machine are two *very* different purposes
00:19:08<Doranwen>if I want to browse fics on my hdd, they had better be in easy formats to access and load, simple files
00:19:49Doranwen is currently trying to figure out how to get the scraper installed…
00:19:54<Doranwen>I want to see what it produces
00:20:20<Doranwen>but apparently its release is through pipx, and pipx requires python 3.8, and while I can install python 3.8 via a PPA… I can't seem to use that to install pipx, so I am out of luck :/
00:23:47<Doranwen>…maybe I've got it working after all
00:25:57<Doranwen>nope
00:25:59Doranwen sighs
00:26:19<Doranwen>from the python3.8 to pip to pipx, breaks somewhere along the way
00:40:26<Doranwen>I think it's because I already have pip installed with python3.5
00:42:01KRG (KRG) joins
00:42:16<@JAA>pyenv <3
00:44:04<Doranwen>lol, I'm a newbie python script user, as you may recall (I think the first scripts I ran were for the YG project, possibly) - which means I don't know what you're talking about
00:44:24<Doranwen>I can try to dig up links but when I have to refresh half a dozen times to get some pages to load, that gets tiring real quickly
00:44:35<@JAA>pipx is just another tool for installing Python packages. It still uses the same package index (PyPI) as pip does by default.
00:44:51<hexa->poetry <3
00:45:16<Doranwen>yeah, but the way that it says to install the fanfic scraper is a command using pipx
00:46:09<@JAA>I think pip should work fine, assuming you have a new enough version of it.
00:47:29<Doranwen>hopefully
00:47:33<Doranwen>I'll give it a try…
00:47:41<@JAA>Regarding pyenv, it's an amazing tool that helps you install various different Python versions simultaneously and keeping them organised.
00:48:07<Doranwen>at lesat, it'll tell me what I need yet, I guess
00:48:15<Doranwen>ahh, that might be very useful
00:48:47<Doranwen>yeah, it failed trying to d/l the module I was missing
00:54:18<thuban>tbh i'm still a bit vague on what pyenv does that virtualenv didn't
00:55:15<thuban>(plus pipenv is supposed to be the new hotness. i feel like we're now somehow back in the 'too many standards, ignore until clear winner emerges' stage but _sometimes there's never a winner_)
00:55:54<Doranwen>lol
00:56:01Doranwen reads up on pyenv but is confused on how to install
00:56:39<Doranwen>the only thing I could find was a complicated-looking command that had make in it - and I have *never* had one of those work for me :P
00:56:54<Doranwen>something *always* fails, and I don't know enough to figure out why and fix it
00:58:15<lunik1>I think poetry is the new hotness now
00:58:50<thuban>isn't that old? i feel like i haven't heard about it in two years
01:02:32dm4v quits [Read error: Connection reset by peer]
01:02:37<@JAA>thuban: pyenv handles automatic switching between versions depending on the working directory and can also have multiple versions enabled at the same time (e.g. for running a test suite against multiple Python versions with tox).
01:02:55dm4v joins
01:02:57dm4v quits [Changing host]
01:02:57dm4v (dm4v) joins
01:02:59<@JAA>Also, pyenv deals with installing Python itself in the first place.
01:03:02<thuban>i see, interesting.
01:03:11<lunik1>thuban: had a release last month
01:03:13<@JAA>Like, `pyenv install 3.6.12` etc.
01:03:43<@JAA>Which is why I think it's superior to poetry, even though that's the hot new shit.
01:03:57<thuban>lunik1: didn't mean 'stale', just not new hotness anymore. although apparently i am incorrect?
01:04:11<@JAA>But they don't exactly solve the same problem, of course.
01:04:23<lunik1>I don't know of any newer hotnesses, but they may be out there
01:05:04<thuban>if a new hotness did not exist, it would be necessary to invent it.
01:05:11<Doranwen>LOL
01:05:26<@JAA>My main use for pyenv is installing pretty much any Python version on any system, regardless of the base OS stack etc. And having a completely independent installation as a result that won't break even on most system package upgrades.
01:05:36<Doranwen>ugh, I hate my 'net - I can't tell if this is an issue with my 'net or the site, though I suspect the former :P
01:05:54<Doranwen>there's an automatic installer for pyenv which uses a curl command, and I'm getting "no route to host" *constantly* when I try that command
01:06:03<lunik1>And that's 2 years in the 30 year history of Python
01:06:05<@JAA>(I suppose huge jumps on libc and the kernel could break things, but otherwise, not much.)
01:06:24<Doranwen>yep, definitely my 'net
01:06:35<Doranwen>the 30th time (or something like that) I got it to work… sort of
01:06:49<Doranwen>it hit the part where it was supposed to git clone and it failed on that of course
01:06:58<Doranwen>because that was a new connection and my 'net wasn't going to establish that one then :P
01:07:39<Doranwen>ah, it was the update part that it failed on
01:07:39<@JAA>Yeah, your internet connection is hilariously bad.
01:07:40Doranwen sighs
01:07:53<Doranwen>it made it through doctor and installer
01:08:43<Doranwen>I wish it was hilarious
01:08:48<Doranwen>I might be laughing instead of screaming at it, lol
01:08:59<thuban>well then have you looked into rfc 1149? would probably be more reliable
01:09:28hexa- quits [Quit: WeeChat 3.1]
01:09:30<Doranwen>any way to recover from this? https://paste.ee/p/U9Y2n
01:10:05<@JAA>Hah yeah, I suggested IPoAC before as well. It probably would be more reliable. The latency though...
01:10:07<Doranwen>they're *supposed* to be sending a technician out to get us actually connected - the trenching was already done to get the cable *to* the house, just have to do some sort of splicing and then the connection inside yet - but that hasn't happened yet
01:10:46<@JAA>This should work for that step, I think: `git clone https://github.com/pyenv/pyenv-update.git /home/doranwen/.pyenv/plugins/pyenv-update`
01:10:53<@JAA>But I've never used that script before, so no idea.
01:10:58hexa- (hexa-) joins
01:12:00<Doranwen>it did!
01:12:11<Doranwen>I'm hoping there were no more parts that it was going to get to after that, lol
01:12:34<@JAA>There are at least two more.
01:12:39<Doranwen>oh fun
01:14:15<@JAA>Doranwen: `git clone https://github.com/pyenv/pyenv-virtualenv.git /home/doranwen/.pyenv/plugins/pyenv-virtualenv` + `git clone https://github.com/pyenv/pyenv-which-ext.git /home/doranwen/.pyenv/plugins/pyenv-which-ext`
01:16:02<Doranwen>thanks! I was able to get those to work on the 3rd and 2nd try, respectively
01:16:11<Doranwen>much better than the initial script, lol
01:16:52<Doranwen>I had better wait to restart the shell till the last script running on the Yahoo mboxes finishes, lol
01:17:04<Doranwen>in case that would mess things up
01:17:57<@JAA>You don't really *need* to restart the shell, but it's certainly the easiest way to ensure things are correct.
01:18:52<Doranwen>oh, it said to do that, lol
01:19:04<Doranwen>"Restart your shell so the path changes take effect"
01:23:18<@JAA>Yeah, because those instructions aren't exactly for people who know how to manipulate details of an existing shell.
01:23:28<Doranwen>ahh
01:23:58<Doranwen>they were aimed at people like me, who don't know these things XD
01:24:47<@JAA>You basically need to set some environment variables and eval something from pyenv to get tab completion and full shell integration. Entirely possible without restarting the shell.
01:25:13<@JAA>But restarting the shell has the advantage that it will behave exactly as if you just rebooted the machine, which you'll have to do eventually anyway.
01:25:35Doranwen nods
01:25:45<Doranwen>well, I just need to wait another hour or two - not exactly sure how much longer the script has to run
01:25:48<@JAA>And if you manage to get it working in an existing shell but screwed something else of the setup up, then you wouldn't notice until that time.
01:26:01Doranwen nods
02:50:20<webdownload>Why am I feeling so irritable?
02:51:42KRG quits [Client Quit]
03:03:42BlueMaxima_ joins
03:05:16Viniter quits [Ping timeout: 250 seconds]
03:06:31Viniter (Viniter) joins
03:07:37BlueMaxima quits [Ping timeout: 258 seconds]
03:12:41BlueMaxima__ joins
03:15:14Viniter quits [Ping timeout: 250 seconds]
03:15:38Viniter (Viniter) joins
03:16:32BlueMaxima_ quits [Ping timeout: 250 seconds]
03:16:46Viniter7 (Viniter) joins
03:20:16Viniter quits [Ping timeout: 258 seconds]
03:20:16Viniter7 is now known as Viniter
03:28:42qw3rty__ quits [Ping timeout: 258 seconds]
03:36:31<Doranwen>lol, I really do need to learn Python now
03:36:38<Doranwen>because I don't think SQL can do what I want it to do :P
03:37:00<Doranwen>and I'm pretty sure sed isn't going to be able to handle *this*
03:42:44<webdownload>I really need to learn how flash drives work
03:42:55<webdownload>So I could start a company.
03:43:31<webdownload>Dedicated to pioneering data storage
03:43:56Doranwen has too many junction tables, and was told group_concat with distinct can only handle two things combined with a comma separator - but since each record has a primary key as a unique identifier, if a query output that and multiple rows for the one junction table… a Python script *should* be able to combine all the output for a single record into one entry
03:51:38<Doranwen>the sed command I was given the other day will put all of them into the format I want - but there would still be two or three or even four sets for a particular fanfic, which I'd have to either go through and combine manually… or figure out how to get a script to do that for me
04:03:20BlueMaxima_ joins
04:07:25BlueMaxima__ quits [Ping timeout: 258 seconds]
04:09:15NIC007a83 joins
04:09:23BlueMaxima__ joins
04:10:26NIC007a83 quits [Client Quit]
04:13:10BlueMaxima_ quits [Ping timeout: 258 seconds]
04:25:50Doranwen sighs at 'net
04:26:10<Doranwen>it can't load the environment stuff on the learn Python page, I should just give up on this
04:26:35<Doranwen>it's already looking to be wayyyyyyyy more than a beginner project - the learning curve is definitely higher than with building a database
04:39:43Doranwen has the motivation to learn it for this particular script she needs, but doesn't know where to start - and how to do so with her 'net behaving so badly still :P
04:44:10<@JAA>Uhm
04:44:43<@JAA>I mean, I don't know the details, but unless the DB design is horribly broken, this should absolutely be possible in SQL.
04:49:05<Doranwen>main table Fanfics, other tables Fandom, Author, Ships, junction tables between the latter three and Fanfics - and there are fics with multiple fandoms, fics with multiple authors, and definitely many fics with multiple ships (some of which may have multiple fandoms or authors)
04:49:26<Doranwen>problem is - how do I get a query to return only *one* entry per fic in the Fanfics table with comma separator between each fandom, each author, and each ship?
04:49:43Doranwen has a query that works for fandoms and authors but was told it could only take *two* of each of those, no more
04:50:10<Doranwen>and I tried to edit that to include ships and it just tells me syntax error and I have no idea why because I mirrored what was done for fandoms
04:50:12nothere quits [Quit: Leaving]
04:50:12Doranwen sighs
04:51:14<Doranwen>I can generate a query that'll return a row for each ship - with the rest of the info identical - and same for authors and fandoms, meaning some would appear three or four times - but not one that'll combine any duplicate records for all three
04:52:02Doranwen can create the latter query all on her own - but the one that combined authors and fandoms, she had to be given because it was beyond her understanding of SQL
04:52:03<Doranwen>that one does work
04:52:11<Doranwen>but if I try editing it to add ships in… nope
04:52:45<@JAA>Which SQL server are you using specifically?
04:52:53nothere joins
04:53:27<Doranwen>hmm, let me dig that up - Base is the frontend, but it's HSQLDB, I think…
04:53:57<@JAA>Ah, don't know that very well.
04:55:04<Doranwen>yup, that's it
04:55:51<Doranwen>there's a wizard on the LO forums for splitting an embedded db to a hybrid, and they recommend it because it's more stable than having it in the Base file (which is most useful for the initial setup if one doesn't want to use SQL for it - or doesn't know how yet, lol): https://sourceforge.net/projects/hsqldb/files/hsqldb/
04:56:04<Doranwen>so I did that, though now I could probably create the database with SQL :)
04:57:01<Doranwen>unrelatedly, the final script finished, so I can try restarting the shell :)
04:57:51<Doranwen>which, it thought for a minute, and then continued on
04:57:58<Doranwen>and didn't throw up any errors
04:58:00<Doranwen>so I guess that's a good thing
05:01:22<Doranwen>except it tells me to use `which pyenv` to check that it's in the path, and when I do that, I don't get anything returned - and I have no idea whether I should or not, lol
05:03:33<thuban>Doranwen: if you send me a tiny example db and your candidate query, i will look at it
05:05:56<Doranwen>how tiny is tiny? the current one is 5 mb
05:06:56<Doranwen>it's got just over 1000 records in it currently
05:07:09<thuban>ah, i guess that's fine
05:09:27<flashmeow>Doranwen: for `which pyenv` did you install and set a python version?
05:09:44<@JAA>`which pyenv` should work regardless of that.
05:10:08<flashmeow>ahh nvm I was thinking of `pyenv which`
05:11:11<@JAA>Doranwen: I suspect that you don't have PYENV_ROOT, PATH, pyenv init, and pyenv virtualenv-init somewhere in your shell/profile config file.
05:12:17<flashmeow>What os are you running on?
05:12:23<@JAA>Actually, the PATH gets adjusted by pyenv init.
05:12:42<@JAA>And I'm not entirely sure PYENV_ROOT is actually needed.
05:13:18<Doranwen>flashmeow: Mint 18.1 Mate - I was going to upgrade and then we moved and have had terrible 'net and any thoughts of that were put on hold
05:13:51<Doranwen>but I keep running into issues with Python scripts requiring 3.8 and I don't *have* 3.8…
05:14:03<flashmeow>did you install pyenv via https://github.com/pyenv/pyenv-installer?
05:14:36<@JAA>She did, but a bastardised version of it because it kept crashing.
05:14:39<Doranwen>I believe so, though it didn't finish before my 'net ran into errors
05:14:55<Doranwen>it didn't know that it had to retry and retry and retry any time it couldn't find a route to host, lol
05:15:02<Doranwen>which is what one has to do with my 'net :P
05:15:04<@JAA>Doranwen: Run `~/.pyenv/bin/pyenv init` and `~/.pyenv/bin/pyenv virtualenv-init` and follow the instructions there.
05:16:06<@JAA>Hmm actually, that won't help.
05:16:32<Doranwen>lol ok
05:16:46<@JAA>I don't really see why the installer should work at all with the instructions provided. lol
05:16:52<@JAA>(I've never used it, always installed by hand.)
05:17:59<@JAA>Specifically, I don't see where it adds PATH to .profile, .bashrc, or whatever.
05:18:30<@JAA>`pyenv init -` only adds the shims, not the bins.
05:20:09<flashmeow>Doranwen: so you couldn't clone via git, correct?
05:20:25<@JAA>flashmeow: We're past the git part.
05:20:47<@JAA>It crashed on the different git clones, so she ran those manually as appropriate.
05:22:53<@JAA>There should be a message to the user about adding `export PATH="$HOME/.pyenv/bin:$PATH"` to one of the home dir config files somewhere in the installer, but I just don't see it...
05:23:52<flashmeow>are you installing with pyenv-installer or using the instructions on github?
05:27:32rsn_ quits [Ping timeout: 258 seconds]
05:28:01<Doranwen>flashmeow: I'd tried it with the installer
05:28:09<Doranwen>because the instructions confused me mightily
05:29:50<flashmeow>Which step? It's pretty much adding some variables to the shell, then enabling autocomplete
05:30:37<flashmeow>If you're using bash, you should only need to add these lines to .bashrc
05:30:42<flashmeow>export PYENV_ROOT="$HOME/.pyenv"
05:30:42<flashmeow>export PATH="$PYENV_ROOT/bin:$PATH"
05:30:42<flashmeow>eval "$(pyenv init --path)"
05:31:04<@JAA>+ eval "$(pyenv virtualenv-init -)"
05:31:08<Doranwen>my eyes were glazing over at the long readme, lol
05:31:26<flashmeow>It's just because every shell has different instructions
05:31:54<flashmeow>Skip down to the basic github checkout section
05:32:16<Doranwen>I see it
05:32:42<Doranwen>that's where my eyes started to glaze over - the first part was just "this is what this is and how it'll work" and I just skimmed that, because I needed to figure out how to get it installed first
05:33:15<flashmeow>i only read those sections when shit breaks
05:33:23Doranwen has never built anything from source before - at least, not successfully
05:33:51<Doranwen>the few times I've tried in the past - following instructions carefully - something always didn't work, and there was no one to help me figure out why or how to fix, and I've learned to dread build instructions
05:33:55<Doranwen>and avoid them like the plague
05:35:00<@JAA>There are almost always subtle differences between environments that then require a slight adjustments of build instructions.
05:35:34<flashmeow>after years of using computers, they only started making sense when I wrote mu own projects
05:35:50<@JAA>Yeah, pretty much.
05:36:11<@JAA>And explaining it is ... difficult.
05:36:18<Doranwen>lol
05:36:36<Doranwen>I didn't mind the idea of working on it and testing and debugging and all that! I just never had any luck trying it on my own :/
05:36:50<Doranwen>I don't know enough to do it successfully
05:36:57<Doranwen>and that is a *very* frustrating place to be in
05:37:26<flashmeow>for me, there's two scenarios: it works out of the gate, or it's buggered beyond all recognition
05:38:29<Doranwen>lol
05:38:37<Doranwen>then I really had no hope ;)
05:38:47<flashmeow>Doranwen: did running the configure and make succeed?
05:40:17<@JAA>{ ./configure && make && make install; } || echo 'All hope is lost'
05:40:37<flashmeow> cd ~/.pyenv && src/configure && make -C src
05:40:42<Doranwen>oh, I'm still stuck on the first bit - I've never checked out anything with a git command before - or at least, not for so long that I don't remember what the command is actually doing, and I got stuck on the whole "decide where to put it" vs. "put it in the home dir" and that decision
05:41:16<Doranwen>are there good reasons for doing the default or choosing some other place?
05:41:29<flashmeow>I would leave it in the default location, tbh
05:41:31<Doranwen>any time I'm presented with Options I always want to know "well, why does one choose this or that" lol
05:41:37<Doranwen>k
05:41:46<@JAA>TIL pyenv now has some stuff to compile. Interesting.
05:41:55<@JAA>Doranwen: You already have the git repos in ~/.pyenv, don't you?
05:42:09<Doranwen>lol yes, it is going "hey, they're already there" and telling me I can't do that
05:42:13<Doranwen>I forgot that would be the case
05:42:35<@JAA>~/.pyenv/bin/pyenv --version
05:42:37<@JAA>Does that work?
05:43:41<Doranwen>pyenv 2.0.0
05:44:00<Doranwen>trying the 2nd command with the configure and make just said it entered the dir, it was up to date, and it exited
05:44:05<flashmeow>great
05:44:38<flashmeow>time to add the variables to ~/.profile
05:45:06<flashmeow>actually, run `cat ~/.profile` and make sure they're not already there
05:46:53<Doranwen>I don't see pyenv anywhere in that
05:47:52<flashmeow>does your .profile source .bashrc?
05:48:00<Doranwen>it mentions it
05:48:13<Doranwen>a comment line says include it if it exists
05:48:39<flashmeow>then put these lines in before that segment
05:48:40<flashmeow>export PYENV_ROOT="$HOME/.pyenv"
05:48:40<flashmeow>export PATH="$PYENV_ROOT/bin:$PATH"
05:48:40<flashmeow>eval "$(pyenv init --path)"
05:49:00<@JAA>And eval "$(pyenv virtualenv-init -)"
05:49:43<Doranwen>I'm looking at this and not quite sure where you mean? https://paste.ee/p/4NPZb
05:50:46<flashmeow>put in those lines below umask 022
05:51:05<flashmeow>and above #if running bash
05:52:51<Doranwen>ok, done
05:53:41<flashmeow>and now this one: echo 'eval "$(pyenv init -)"' >> ~/.bashrc
05:54:33<Doranwen>that being a command to run rather than something to be added to the profile file, correct?
05:54:38<flashmeow>yep
05:54:56<Doranwen>k
05:56:01<flashmeow>now I think you need to log out and log back in again to activate it
05:56:04<@JAA>You don't need pyenv init --path *and* pyenv init - unless something changed completely.
05:56:05<Doranwen>oof
05:56:16<Doranwen>I have a million things open and projects being worked on
05:56:22<Doranwen>that is not going to happen tonight :/
05:56:39<flashmeow>try running bash --login
05:56:53<@JAA>Actually, disregard that, looks like it did change completely. Sorry.
05:56:57<Doranwen>what will that do?
05:57:19<Doranwen>or, rather, is there any chance of that messing something up, lol
05:57:29<flashmeow>no. it should start a bash prompt inside the current shell
05:57:34<Doranwen>ah, ok
05:57:50<Doranwen>it sort of thought for a sec and then blinked
05:58:06<Doranwen>and returned to the same prompt
05:58:10<flashmeow>good
05:58:17<flashmeow>try running pyenv install 3.8.9
05:59:04<Doranwen>hey, it got past downloading to installing, that's good for my 'net, lol
06:00:30<Doranwen>and looks like it finished without giving me an error
06:00:49<Doranwen>didn't show much of what was going on, lol
06:02:16<flashmeow>you should be able to cd to the project folder, and run pyenv local 3.8.9
06:02:29<flashmeow>and then python --version should give 3.8.9
06:02:38<Doranwen>the project folder?
06:03:26<flashmeow>wherever you were running the script from
06:04:16<Doranwen>oh, you mean a script that needed Python
06:04:21<Doranwen>I hadn't gotten to testing it yet, lol
06:04:29<Doranwen>*that needed Python 3.8
06:04:38<Doranwen>ok, will try that
06:04:55<@JAA>Does the script also need some packages?
06:05:09<Doranwen>right, yeah, that's where I got stalled
06:05:36<@JAA>pyenv virtualenv 3.8.9 your-virtualenv-name
06:05:38<Doranwen>the instructions for it had pipx install
06:05:49<@JAA>Then use `pyenv local your-virtualenv-name` in that directory, not 3.8.9.
06:06:44<Doranwen>ahhh :)
06:06:51<@JAA>If you want to use pipx, then you can first `pip install pipx` while having that venv activated.
06:07:05<flashmeow>personally I don't use pyenv-virtualenv, i just create my virtualenvs by hand
06:07:08<@JAA>But I think it should work with pip just as well.
06:07:31<@JAA>You may have to `pip install --upgrade pip` though. Don't know what version of pip pyenv includes by default now.
06:07:57<Doranwen>that fails
06:08:03<Doranwen>because it can't find setuptools
06:08:16<@JAA>Huh?
06:08:20<Doranwen>how do I do pip with the pyenv?
06:08:36<Doranwen>like `pyenv local virtualenv-name pip` ?
06:09:07<@JAA>No, just `pip` when you have the appropriate Python version selected.
06:09:34<@JAA>There are four version selections: shell, local, global, and system.
06:09:43<@JAA>`pyenv shell version` sets the version just for the current shell.
06:09:52<@JAA>`pyenv local version` sets it for a directory and all its subdirectories.
06:10:00AnotherIki joins
06:10:03<@JAA>`pyenv global version` sets it for the entire user.
06:10:04<Doranwen>OH, I know what I goofed on
06:10:16<@JAA>And the system version is used when nothing else is set.
06:10:18<Doranwen>ok, let's see if I can make this work, lol
06:10:52<@JAA>The 'local' version is the most powerful because it automatically switches as you move to another directory etc.
06:11:52<@JAA>flashmeow: I find pyenv-virtualenv one of the most powerful parts of pyenv. Managing it by hand sounds painful in comparison, especially when you want to set up tests with multiple versions of dependencies etc.
06:13:32<flashmeow>JAA: yikes, that's way beyond what I'm doing. I don't even know how I'd start to do that
06:13:55Iki1 quits [Ping timeout: 258 seconds]
06:16:30<flashmeow>when I'm starting a project from scratch, I usually use pipenv and say "screw everything except the exact version I'm using"
06:16:45<flashmeow>but I'm writing scripts, not command line tools installed via pip
06:16:58<@JAA>Basically, I have a pair of virtualenvs for each supported Python version, one for the oldest supported versions of all dependencies and one for the current ones.
06:17:25<@JAA>It's messy, but it's the least messy way I've come across so far.
06:17:37<flashmeow>what framework are you using to test like that?
06:17:39<@JAA>(Complete automation aside)
06:18:27<@JAA>I currently still use simple unittest mostly with a little shell loop, actually. I've been meaning to look into coupling it with tox though.
06:19:20<thuban>ah, i guess that's fine
06:19:30<thuban>lol sorry wrong terminal
06:20:38<flashmeow>a quick googling shows tox supports testing against multiple versions, but i don't see an obvious way to test old dependencies
06:20:59Doranwen is still trying to figure out how to get the script to run
06:21:17<@JAA>The loop is something like `for v in project-py{36C,37A,38A,395}-{old,current}; do PYENV_VERSION="$v" python3 -m unittest; done` (just written from memory, can't look it up in my scripts right now).
06:21:20<Doranwen>it says it's installed, and I can follow their example usage just fine…
06:21:26<Doranwen>but something's missing
06:22:13Doranwen is testing this out: https://github.com/KebinuChiousu/fanfic_scraper
06:23:35<flashmeow>JAA: how do you keep track of old dependency version numbers?
06:24:10<@JAA>With great pain.
06:24:31<@JAA>All manual :-|
06:24:46<@JAA>Fortunately, they don't change too often since they're old.
06:25:20<@JAA>Only really becomes relevant on new Python versions (where an old dependency might not work) or if I start using features that weren't present in some older version of the dependency.
06:28:23<flashmeow>Doranwen: I'm getting this error on two machines, it might not be you
06:28:25<flashmeow>Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
06:28:33<Doranwen>this is what I get when I run `pipx install fanfic-scraper`: https://paste.ee/p/G80y1
06:28:51<Doranwen>and then if I try the example usage command with a fic I want to d/l, it just says "command not found"
06:29:01Doranwen has not changed dirs or done anything odd!
06:29:02<@JAA>Regarding getting tox into the picture, I think the way would be to set PYENV_VERSION there with setenv in tox.ini.
06:29:16<Doranwen>just ran the one command after the other
06:29:41<@JAA>Yeah, so I guess pipx doesn't work well with pyenv then.
06:29:48<@JAA>It should not install things in ~/.local.
06:30:01rsn joins
06:30:06<Doranwen>don't use pipx to install it then?
06:30:15<flashmeow>it's the only way
06:30:28<flashmeow>Doranwen did you try `pipx ensurepath`?
06:31:14<Doranwen>I did not
06:31:16<Doranwen>wasn't sure I should
06:31:30<flashmeow>that should add .local/bin to $PATH
06:31:49<flashmeow>so then it can find the fanfic-scraper script
06:32:18<@JAA>But it shouldn't install things into .local/bin in the first place because this stuff is specific to the virtualenv.
06:32:32<Doranwen>it found it all right, but it is having a fit at trying to grab anything
06:32:56<Doranwen>probably my 'net, LOL
06:33:02<@JAA>I can install it just fine with pip, by the way.
06:33:09<@JAA>Running it fails though with a similar error as you got.
06:33:36<@JAA>(Well, the Linux version of it)
06:33:47<flashmeow>pretty sure pipx handles its own virtualenvs, not sure about python versioning though
06:33:53<Doranwen>which looks like this to me: https://paste.ee/p/2IPbC
06:34:00<Doranwen>I'm wondering if that's not related to the rate limiting mentioned in -bs
06:34:04<@JAA>Yep, same error I get.
06:34:30<flashmeow>JAA: yeah, I tested on mac and windows, but had irc open on pc
06:34:37<@JAA>flashmeow: Thanks, now I know to never try pipx. :-)
06:34:50<Doranwen>lol
06:35:03<Doranwen>anyway, well, now I know this isn't going to work at all
06:35:53<flashmeow>wait
06:36:10<flashmeow>it might be related to a weird proxy issue
06:38:46<@JAA>Huh, yeah, it's trying to connect to 127.0.0.1:8050. No wonder that's not going to work.
06:42:16<@JAA>lol
06:42:28<@JAA>The version that's on PyPI (0.7.4) seems to enforce the proxy always.
06:42:55<@JAA>It was later made optional via a flag on the command line, but 0.7.5 isn't uploaded to PyPI.
06:44:28<@JAA>The current master version doesn't work either.
06:45:21<@JAA>Neither does 0.7.5.
06:46:03<Doranwen>LOL
06:46:12<Doranwen>well then…
06:46:32<@JAA>(Both try to access a useproxy attribute on the arguments object, but the fanfic-scraper arg parser doesn't even have that flag.)
06:48:27<flashmeow>Yeah, im trying to build from source
06:49:57AnotherIki quits [Ping timeout: 258 seconds]
06:50:57<@JAA>The code refers to https://github.com/TeamHG-Memex/aquarium . I hate it already.
06:51:12<Doranwen>lol
06:51:26<Doranwen>it also doesn't work with AO3
06:51:34Viniter quits [Client Quit]
06:51:35<Doranwen>which I need to be able to get the individual chapters off AO3
06:51:37Doranwen sighs
06:51:39<@JAA>Splash: 'Lightweight, scriptable browser as a service with an HTTP API'
06:51:51Viniter (Viniter) joins
06:52:23<Doranwen>there's got to be a fairly simple way to grab *just* the chapters one wants, from either AO3 or ff.n, and end up with both html and pdf of the story
06:54:18<@JAA>Splash actually looks somewhat interesting.
07:05:22<Doranwen>well, if anyone figures out something to make that script actually work, let me know
07:05:28<Doranwen>otherwise I'm going to assume it's not happening
07:13:54<flashmeow>yup. completely fucked. can't even build from source
07:14:22<flashmeow>im giving up and going to bed
07:16:15<Doranwen>lol, well, thanks for trying
07:16:26<Doranwen>at least I have a working query, so one of two problems solved!
07:16:33<Doranwen>t.huban was VERY helpful :)
07:16:56<Doranwen>(also, I was very forgetful about one really obvious thing, so)
07:17:39<Doranwen>now I just need to see if I can successfully edit the sed command to accommodate the new line :D
07:17:42Doranwen is pretty sure she can
07:28:58<Doranwen>…but apparently I did not figure it out
07:28:59Doranwen sighs
07:29:21<Doranwen>JAA: with five lines to format, you'd given me this: `paste - - - - - <format.txt | sed 's_^\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)$_<a href="\5">\1 - \2</a>\n\3 words, \4\n_' > format2.txt`
07:29:32<Doranwen>with a sixth line, to go on a new line *after* the rest…
07:29:42<Doranwen>OH
07:29:43<Doranwen>wait
07:29:45<Doranwen>I think I know
07:30:03<Doranwen>YES :D
07:30:06<Doranwen>I got it
07:30:12<@JAA>:-)
07:35:21<Doranwen>yay, I feel so much better solving at least one problem
07:43:27<Doranwen>…uh-oh, I realized there IS a problem
07:43:44<Doranwen>the query he gave me… skips over fics that don't have ships
07:43:47<Doranwen>and some don't!
07:44:01<Doranwen>I need them included anyway, just with an empty slot…
07:44:03<Doranwen>ugh
07:44:06<Doranwen>how do I do THAT
07:44:38<Doranwen>it suddenly occurred to me I hadn't seen any results without a ship, and I compared the results of two queries - one that included the ships and one that didn't… and there was a difference by over 200 fics
07:44:45<Doranwen>that's a lot of fics to NOT include
07:56:10Doranwen pokes at a few answers that seem to be on the right track, but she can't figure out how to apply their results to her problem…
08:10:09<Doranwen>coalesce seems to be the key to replacing null values with a space, but I can't find anything that says how to use both coalesce *and* distinct, or if that's even possible
08:50:13Doranwen is still poking away at it
08:52:36<Doranwen>I need to either figure out how to selectively replace all the ones that don't exist in the ships table with the string "No ships." in the query, or I need to a) do a union with a select that doesn't pull the ships, but fills the string "No ships." for the entire column, and then tell it to ignore the rows with "No ships." if there's another option
08:52:48<Doranwen>or maybe there's a third and better way to do this but I'm having a hard time figuring it out
09:20:32<Doranwen>this is promising but I'm having a hard time seeing how to set it up properly: https://web.archive.org/web/20160304093347/https://www.xaprb.com/blog/2005/09/23/how-to-write-a-sql-exclusion-join/
09:21:00<Doranwen>left outer join *does* seem to be a good possibility here, if I can see what gets nested where…
09:26:44Wayward quits [Ping timeout: 258 seconds]
09:57:13BlueMaxima__ quits [Read error: Connection reset by peer]
10:00:38Doranwen finally gives up and goes to bed hours late
10:43:31Wayward (wayward) joins
12:32:53AnotherIki joins
12:44:23qw3rty joins
12:49:31<Wayward>"Why did the chicken cross the road? To get to the other side." I just figured out why that's supposed to be funny. Just dawned on me after all these decades, out of the blue, while having my coffee.
12:52:44<Wayward>it's a church joke!
12:55:18<Wayward>Did everyone else know it meant "so he gets hit by a car so he can go to heaven"? to get to the 'other side'.
14:30:14<lunik1>I thought it was an anti-joke
15:04:36betamax quits [Ping timeout: 250 seconds]
15:06:14betamax (betamax) joins
15:11:22<Wayward>I mean, it could be an anti-joke, or it could have become an anti-joke.
15:12:18<Wayward>I can't help but imagine a bunch of old folks automatically getting that the chicken wants to become roadkill if he keeps playing in the street.
15:14:13<Doranwen>Wayward: …I can't believe that's the first time I ever saw that too, LOL
15:43:42Doranwen is over the moon because she actually *figured out how to solve the SQL issue*
15:44:43<Doranwen>union of two subqueries, first one only pulls ones with ships, second one does a cast to set the "No ships." string for the Ships column for all fics, and then a WHERE clause with NOT IN to check that the FanficID isn't in the junction table of Fanfics and Ships XD
16:32:36Doranwen is happy because for once she could follow the entire thing, knew what she was doing with it and why, and made it all work
16:58:09spirit joins
17:23:18Vukky joins
17:35:47godane quits [Quit: Leaving]
17:36:16Wayward quits [Ping timeout: 250 seconds]
17:37:23Wayward (wayward) joins
17:47:59<thuban>for the record i prefer not to have my nick mangled when i'm mentioned--i don't mind extraneous pings and i value being able to grep for it reliably
17:57:37<@JAA>Good news everyone: thanks to these tirelessly working developer heroes, you can now finally use JavaScript in web browsers! https://blog.stackblitz.com/posts/introducing-webcontainers/
18:00:45<thuban>v_v
18:09:13<Doranwen>thuban: apologies, I will remember that in the future!
18:10:35<thuban>no worries, thank you!
18:18:03<spirit>is there a video editor on linux that makes editing jump cut videos easy? i. e. it lets me non-destructively mask out parts of a video until i got the perfect cut.
18:28:14HP_Archivist (HP_Archivist) joins
18:52:32ThreeHeadedMonkey quits [Ping timeout: 258 seconds]
18:54:13nertzy quits [Quit: Leaving]
18:54:27ThreeHeadedMonkey (ThreeHeadedMonkey) joins
19:06:10<spirit>oops sorry for topic
19:39:59<Jake>Oh my god. Node JS in your browser seems so cursed.
19:40:42KRG (KRG) joins
19:52:49<Wayward>make bitcoin mining great again
21:08:59etnguyen03 (etnguyen03) joins
21:10:52Jake quits [Quit: Leaving for a bit!]
21:11:42Jake (Jake) joins
21:20:24spirit quits [Client Quit]
21:29:56Jake quits [Client Quit]
21:33:36Jake (Jake) joins
21:43:02yano quits [Quit: WeeChat, the better IRC client, https://weechat.org/]
21:43:13yanome quits [Quit: The Lounge - https://thelounge.chat]
21:43:19dm4v quits [Client Quit]
21:44:27yanome (yano) joins
21:44:55yano (yano) joins
21:45:46dm4v joins
21:45:48dm4v quits [Changing host]
21:45:48dm4v (dm4v) joins
21:45:55Jake quits [Client Quit]
21:49:20Jake (Jake) joins
22:21:37webdownload quits [Remote host closed the connection]
22:24:07@Kaz quits [Remote host closed the connection]
22:32:06Kaz (Kaz) joins
22:32:06@ChanServ sets mode: +o Kaz
22:38:17JensRex quits [*.net *.split]
22:38:19HP_Archivist quits [Ping timeout: 258 seconds]
22:38:31JensRex (JensRex) joins
22:52:46second (second) joins
22:56:16sec^nd quits [Ping timeout: 255 seconds]
22:56:16second is now known as sec^nd
23:03:37AnotherIki quits [Ping timeout: 258 seconds]
23:09:50Kaz1 (Kaz) joins
23:09:50@ChanServ sets mode: +o Kaz1
23:11:30BlueMaxima joins
23:14:31HP_Archivist (HP_Archivist) joins
23:42:21balrog quits [Quit: Bye]
23:53:10balrog joins