Thanks for the help everyone!
1. WGet: You found a version. But see step 5 as well.
2. find/replace:
sed. (That's what I sed!) You could surely make a similar thing in pure Python as well.
3. xml2csv appears to be a command-line thing.
4. xlsm: No idea.
5. Upload:
Curl? It can
upload as well as download.
6. Repeat every hour or two: That's what the cron or cron-like job is for.
Ken - No need for cURL. The upload is already handled by some custom VB in our processing sheet. I dug into it earlier and got it working. I've been using xml2csv as a GUI; didn't know there was a CLI version but I'm sure I can dig it out. There are probably libraries for making it easy in Python too - the only reason I haven't done that so far is that... well, I had two years of comp sci circa 2001-2002 (mostly Java and C) but I'm a complete noob at Python and not familiar with this sort of manipulation (but hey, I could push and pop like nobody's business back in the early post-Y2K lol). Trying to bite off the smallest possible chunks while I figure it out.
I was just planning to use a lot of Wait statements in Python to slow it down and just let it run in a continuous loop with a basic GUI and start/stop buttons and an error readout area, but a cron job is probably the better way to go. Thanks.
Lumberg and Netopia - I'll look into those, thanks! Trying to do at least the basic stuff in Python partially because it's a good way to learn Python, but there's something to be said for fast results too.
Beginner - eventually I do want it all in Python; like I told Ken though I'm a complete Pynoob and trying to avoid biting off more than I can chew.
Everyone - if writing the find/replace in Python is easy, I'd rather do that than call n++ obviously. Digging up UI element names and manipulating them is a PITA, esp since SWAPY doesn't work very well (unsurprising I guess for code that's gone apparently unmaintained since 2005). If I code it internally, the new process would be:
1. Call Wget for the xml file
2. Call find/replace subroutine
3. Call xml2csv (will dig up the CLI version)
4. Run data processing spreadsheet
5. The processing sheet will grab info from data.csv automatically and process it
6. Call pywinauto to run the VB upload macro in the processing sheet
7. ???
8. Profit!
Sound reasonable enough?