If you meant to write "placed" instead of "but" - yes, that's what I did.
Heh, I meant "put", but placed works just as well.
I've investigated further, and sadly Civ (or Civ's Python layer Boost) gives the incorrect and incomplete path to the modules that are loaded. In Python, each module that is loaded has an attribute __file__ which is supposed to be the full path to the file from which it was loaded.
Instead of
C:\Documents and Settings\<user>\My Documents\My Games\Beyond the Sword\CustomAssets\Python\BUG\BugPath.py
for BugPath I get
Assets\Python\BUG\BugPath.py
Two problems: Assets instead of CustomAssets and no root. So Civ is simply making "Assets/Python" the root from which all modules are loaded, regardless of where they were actually loaded from.
End result: my whole concept of making this automatic is impossible. I cannot find the alternate root.
Solution: Add a setting to the options screen to allow you to override the BTS folder. This works if you
always use the same alternate root. It isn't so nice if you want multiple alternates. Of course, this doesn't work because you cannot open the options screen. Bah!
Alternate Solution: Add a setting to the config XML file which is stored in the Assets along with the Python. This allows each alternate root to specify itself. The downside is that the user would have to modify this setting by editing each XML file.
Given that you have a workaround right now, I'll hold off on implementing either of these solutions until a) it becomes a higher priority or b) I find a way to make it automatic.