Hey Pacific... do you have any idea what I would have to modify in the source code to get Wrye Bash to run on Linux? Installing Python twice, once natively and once through WINE seems very silly to me, so I was hoping I could avoid that. I haven't done any messing around with the source code yet, but it fails on a windows-specific module _winreg- simple enough so far, seems like it's just looking for the Oblivion installation path and I could set that manually. However, before I start wading into the source code and mucking it all up, do you know of anything else specific to look out for that won't work under Linux?
Thanks.
Unfortunately I know absolutely nill about the specifics of coding for any *nix... I would guess any registry calls would fail, and any calls depending on Internet Explorer... but other than that don't know.
If you want to modify it to work natively on Linux that would be great! What I would suggest is waiting until I release 278 this evening (wanted to yesterday but ran out of time), then using that source (or just grabbing it off the svn) and adding in wherever is needed... possibly use: http://docs.python.org/library/sys.html#sys.platform (an example usage can be seen in line 3473 of basher.py (in version 278) - which is "if re.match('win',sys.platform):"... so I guess for checking if it is Linux/Unix you would have to write:
If sys.platform in ('win32', 'cygwin', 'darwin', 'os2', 'os2emx', 'riscos', 'atheos'): #do windows/other system stuff here: # IE just indent the existing stuff that is failing here with the if above it and thenElse: #will only run if not one of those OSes - therfore a Unix OS # Do the Linux/Unix alternative stuff here... any questions I'll try to answer but my knowledge of nix systems is very very limited.Endif
or another way would be to wrap in Try and Except statement as in: ...hmmm in afterthought I think this would be the better method, so use this.
Try: #do windows/other system stuff here: # IE just indent the existing stuff that is failing here with the if above it and thenExcept: #don't know what exception it would throw in all cases - for the _winreg it would probably be best to use "except ImportError:" # Do the Linux/Unix alternative stuff here...
That way I can merge in those changes and avoid having multiple forks going which each have to be updated for any changes.
Good luck and looking forward to seeing what you come up with.
Pacific Morrowind