I might have something. Try adding AutoItemCheck=1 somewhere in bash.ini (maybe in the [settings] section). I'm just taking a guess at what is needed based on Gabba's post.
As for me, I don't think I will DL the latest Wrye Bash until this problem is fixed.
Nope, that
won't help. Actually I got it "working" with some heavy handed code commenting, but I won't propose it as a workaround, since it's not a proper solution and would cause worse problems. Rather I'm gonna do my best to explain the problem.
Python is not my specialty, but the issue seems to be that there are many classes in bosh.py that have a "static initialization" block at the beginning, that is, a section of code that's run as soon as the program loads and bosh.py is imported.
There are 14 instances of that, and they all try to do:
defaultItemCheck = inisettings['AutoItemCheck']
This bit of code means: "fetch me the value in inisettings that's named (i.e. whose key is) 'AutoItemCheck' ".
The problem is that "initsettings" hasn't been initialized yet since the program hasn't "started" (run its main function, which in turn call the ini-reading procedure) yet. In other words the right setting is in the ini file, but it's not accessible since it hasn't been read in program memory yet.
There's exactly the same problem at the start of basher.py: bosh.inisettings['enablewizard'] is called before the ini settings have a chance to load.
I'm gonna rant a bit here, but I think this is a good case for refactoring and improving the encapsulation. It would be better to disallow accessing bosh.inisettings['AutoItemCheck'] directly, and replace that by a method such as bosh.getIniSetting('AutoItemCheck'). The big difference is that this method can check every time it's called whether the ini file has been already read or not. If not, it loads it first and then returns the value you asked for. This way the ini data is read "just-in-time", the first time it's needed. This is a technique called "lazy initialization", and it's one of the cases where being lazy really pays off
.
Edit:
Ok apparently even fixing that there are other issues, apparently this version needs some serious bug fixing.
2nd bug fixed:
In bosh.py replace(around line 8965):
for tag in self.patchesLLTag:
By:
for tag in self.patchesLLTags:
Well, it seems there are more errors besides the one I spotted, so I would advise you people NOT to hack on your copy of Wrye Bash if you haven't made a full backup of everything Oblivion-related. Better to wait for a fixed version.