Okay, this was a good day. I did some work on Missable Mysteries, there might have been something else I did, but the main thrust of it was taking all of my far-enough-along plans for MOTR and getting them to more-or-less work.
The main thing missing right now is to get requirement sets and "segments" properly supported. That functionality is basically to name and configure the virtualenv, and tweak the command name to be in it.
On the outer side, I need code to create the "registry" data required by this functionality.
The stuff I've been working on is kind of the in-between stuff. Creating Builders, and processing them into more complicated forms. Looking over the diff, the big changes are the reworks of the "registry" types, converting the Builder class to require a requirements generator, fixing a few minor typing issues, writing a bunch more helper methods, and copying code from the motrfile into the core.
I'm going to wind down for now, but, depending on how I prioritize things, I should be good to cut a new version soon-ish. Basically, I need to get all of the new functionality written or ported, then write tests to exercise the new code; it's possible that, by the time I've written all of the new code I want, it'll have pushed coverage below 90%. Once I get everything to pass, I'll create a new local version, and start rewriting the motrfile to take advantage of the new features. I really hope that, once the new release is cut, I'll be prepared to start using MOTR for other projects. It's a question of having the motrfile be small.
Anyway, if I get it working for my projects, I'll kind of still want to extend it to cope with different layouts, but that's not as high a priority for me as just cutting down on the amount of code in the motrfile.
Cannot stay awake any longer.