Ian Jackson writes ("Choice of vessel for pillaging"): > What I really want is something that redacts it into a table (ideally, > by trawling the chat log). I don't suppose someone fancies writing > the yoweb screenscraper :-) ? Here it is. You run it like this: ./yoweb-scrape ship-aid ~/yohoho/Aristarchus_midnight_chat-log-iwj It has various other modes - see the usage message. Key features: * Tracks boarding and departure of pirates and shows a table of currently-aboard pirates with their relevant puzzle standings in a compressed format. * Shows time and nature their last interaction with you as XO (abandoning stations, being given orders) and where and when their last to-you-visible chat was. * Remembers whether you have ever given the pirate an order to gun since they boarded. * Caches and severely rate-limits fetches from yoweb to avoid overloading the Three Rings servers. In ship-aid mode, will display twirling batons while you wait for data, so that crew on board info remains correct. I know of one key defect: * If you leave and then reboard a vessel, the list of pirates on board may be wrong. This is because the chat log doesn't contain the necessary information. The script assumes that the set of pirates on board doesn't change while you're off the ship (unless you're away for more than an hour, in which case it assumes the ship is empty when you return to it). This means that there needs to be a way to manually add and remove pirates - but there isn't. I think this could probably be added by someone who could be bothered to replace the `sleep 1' in the main loop by something which looked for keyboard input. However it will notice that a pirate is on board if they abandon a duty station (in circumstances where the game reports this in the log, which doesn't seem to be all the time) or you give them a stationing order, and from various other messages that might occur. Other things to mention: * There's nothing really resembling a manual. * It doesn't notice when you yourself disembark. That's because that's not recorded in the chat log. * Many people may find the output rather basic - it's ASCII art - and it's not very customisable. * It spends a while reading the whole of your chat log which can be very long. Perhaps it should be smarter (eg, bisect the log to find `nearly now'). * It could have lots more features in general. * The `tabulate details of my whole crew' mode takes a long time to run. This is normal; it's trying to spread the load on yoweb (perhaps excessively so). * I have it in git right now but here is just a copy of the single file which is the script. I'm planning to put my rum calculator and other useful things into the same repo and put it on chiark somewhere. For my reference, this is from tree revision 15799130f8d34856b9cefe3c71103564413fa04a * I haven't decided on a final copyright licence. You may treat this version as GPLv3. * The program will become confused when the clocks change, particularly when they go backwards. This is due to the chat log containing timestamps in local time without a timezone. If this bothers you, make everything be in UTC. If it does get confused, you can fix it by logging off and logging on again (perhaps waiting until after the duplicated hour has passed) as that writes a new date record to the log and starts a new series of timestamps. Ian. Ian Jackson writes ("Re: Choice of vessel for pillaging"): > Ian Jackson writes ("Choice of vessel for pillaging"): > > What I really want is something that redacts it into a table (ideally, > > by trawling the chat log). I don't suppose someone fancies writing > > the yoweb screenscraper :-) ? > > Here it is. You run it like this: > ./yoweb-scrape ship-aid ~/yohoho/Aristarchus_midnight_chat-log-iwj > It has various other modes - see the usage message. A couple more things: * Please don't leave it running if you're not in charge. If everyone runs this it will produce precisely the load on the yoweb servers that we want to avoid. * It's Python so it may eat CPU and memory. * You may need to install some python modules of course. * Here's a version which is an attachment rather than asking you to cut-and-paste. That will save on you mangling it and getting weird python errors. Ian. yoweb-scrape as a binary blobule, y [Press RETURN to save to a file]