I do have problems running wowace.py on Ubuntu Linux. WoW is installed in /home/thomas/.wine/drive_c/Programme/World of Warcraft and I tried to use --wowdir which does not work:I tried it with and without escaping, I edited wowace.py to hardcode the directory but nothing works. Any ideas?
I'm not sure what's causing that. I've tried setting up a parallel directory structure on my own machine, and this works:
I just tried do update again and now it works?! I used
thomas@thrall:~/.wine/drive_c/Programme/World of Warcraft$ ./wowace.py --wowdir=/home/thomas/.wine/drive_c/Programme/World\ of\ Warcraft/
INFO Loading local addons
INFO Checking [url]http://files.wowace.com/latest-noext.xml[/url] for updated addons
Like the updater? Consider donating to WowAce at: [url]http://wowace.com/index.php/Donations[/url]
Maybe it is a problem when invoking the script not from the script directory? Last time I tried from /home/thomas, this time i started it from /home/thomas/.wine/drive_c/Programme/World of Warcraft
Anyway, it works, that is what is important :D Thanks for this nice updater and the help you did provide!
Anyone else get errors when there is an update to PeriodicTable?
I always get this:
python /Applications/World\ of\ Warcraft/wowacepy/wowace.py -u
INFO Loading local addons
INFO Checking [url]http://files.wowace.com/latest-noext.xml[/url] for updated addons
INFO Upgrading ArenaPointer from 50087 to 51954
INFO Upgrading ArkInventory from 51716 to 51956
INFO You'll need to restart WoW, or this addon might act up
INFO Upgrading PeriodicTable-3.0 from 51548 to 52036
INFO You'll need to restart WoW, or this addon might act up
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-Consumable
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-Gear
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-GearSet
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-InstanceLoot
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-InstanceLootHeroic
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-Reputation
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-Tradeskill
INFO Unpacking PeriodicTable-3.0 from PeriodicTable-3.0-TradeskillResultMats
Traceback (most recent call last):
File "/Applications/World of Warcraft/wowacepy/wowace.py", line 488, in <module>
_dispatch()
File "/Applications/World of Warcraft/wowacepy/wowace.py", line 484, in _dispatch
updater.update_all(get_deps=options.get_deps, unpackage=options.unpackage, delete_old=options.delete_old, force=options.force, script=options.script)
File "/Applications/World of Warcraft/wowacepy/wowace.py", line 129, in update_all
self.update_addon(addon, get_deps, unpackage, script, delete_old, force)
File "/Applications/World of Warcraft/wowacepy/wowace.py", line 107, in update_addon
self.update_addon(dep, get_deps, unpackage, script, delete_old, force)
File "/Applications/World of Warcraft/wowacepy/wowace.py", line 117, in update_addon
toc.comment_missing_files()
File "/Applications/World of Warcraft/wowacepy/wowace.py", line 320, in comment_missing_files
if not os.path.exists(os.path.join(d, f.replace('\\', os.path.sep))):
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py", line 65, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 1: ordinal not in range(128)
It's not a huge deal, it still updates PeriodicTable but I have to run it again to get the rest of the updates.
Letsee so found a small bug(at least it wasn't working for me on Ubuntu).
Under get_local_addons it wasn't opening the pickle file for me and therefore every time grabbing the version by the changelog, which doesn't include small revisions(Version 57744.3) and so any addon with a small revision would update every single time the script was ran.
Quick change to lines 194 and 196 replacing
'addon_versions.pkl'
with
os.path.join(self.wowdir, 'addon_versions.pkl')
Dunno if this is the best way to do it but as I've never done Python before, it works so I'm happy ^_^
Just a bugfix release:
* Removing .svn or .ignore from an addon wasn't picked up unless the addon folder was deleted for an update.
* Fix two exception problems in reload_data.
* Try to fix the UnicodeDecodeError (I couldn't replicate it, but I'm fairly sure I know what was causing it.
* Include Scoz's change to addon_versions.pkl.
I am still seeing the unicode problem when trying to update:
INFO Upgrading Cartographer_Quests from 49771 to 49771
Traceback (most recent call last):
File "/home/travis/bin/wowace.py", line 494, in <module>
_dispatch()
File "/home/travis/bin/wowace.py", line 490, in _dispatch
updater.update_all(get_deps=options.get_deps, unpackage=options.unpackage, delete_old=options.delete_old, force=options.force, script=options.script, optimize=options.optimize)
File "/home/travis/bin/wowace.py", line 130, in update_all
self.update_addon(addon, get_deps, unpackage, script, delete_old, force, optimize)
File "/home/travis/bin/wowace.py", line 119, in update_addon
toc.save()
File "/home/travis/bin/wowace.py", line 316, in save
f.write("## %s: %s\n" % i)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 15-31: ordinal not in range(128)
In addition, I am getting this error on various plugins:
INFO Upgrading Cartographer_Mining from 53573 to 53573
WARNING Cartographer_Mining has a dependency (DewDropLib) which is not installed locally and cannot be found on the server
I think this is a case-sensitivity issue, as I have "DewdropLib" installed. This is probably more of a bug in the other addons, but it might be worth trying to be less case-restrictive for us Linux (and I suppose those Mac) users.
I just moved from Windows to a Mac full time yesterday, and picked up your script. It's great other than one weird problem. It's SUPER slow for some reason. This is on Mac OS X 10.5.1 with Python 2.5.1, and it takes for freaking ever to finish, but it does exactly what I want (no externals, as all the other ones that run on Mac want to stick externals in the mods). Great mod, works awesome, just wondering if anyone has a clue why it would run so slow on a Mac, or how I could debug it.
It isn't the script's fault.. the slowness you are experiencing is the fault of SVN.
Nothing you can really do about it, except dont use an SVN updater..
I didn't think it was using SVN as the repository. It appears to be pulling the files the same way WoWAceUpdater does, via the XML file's information. I'm working my way through the script now trying to find the slow down, but unfortunately files.wowace.com is down at the moment, so can't make any progress at all.
first off, great program, the console based version works great. When I first tried to run the gui I found I didn't have the wx bindings for python installed. I installed them, and now I get when I run "python gui.py" i get
Silly question: How do you get this script working?
Clicking on the script opens it in a text editor and running it as root gives me an 'unknown command' error.
Ok, had it working for a bit but I had the WoW folder wrong (as expected). I seem to have corrected that but now get an error from GDK
draco@jinxi:~/Desktop$ python gui.py
(python:5841): Gdk-CRITICAL **: gdk_pixmap_foreign_new_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(python:5841): Gdk-CRITICAL **: gdk_draw_drawable: assertion `src != NULL' failed
(python:5841): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT(object)' failed
The program 'python' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadImplementation (server does not implement operation)'.
(Details: serial 898 error_code 17 request_code 20 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
It comes up with these errors but I do have the GUI opening. After the GUI opens I get an error labeled 'missing'. After I close that window (using sigkill) it closes everything and I get the 'killed' message. I do not know what is missing as the window doesn't contain any information.
Pardon me if this is already addressed. My strong suspicion is that it's not, but I did glance the first and the third pages, and didn't notice a reference.
Problem: I'm not sure if it's the download time or process time, but the script takes about 15 seconds (not having timed it officially) every run, and more if I'm on wireless at school. I can understand and tolerate the time it takes to run the script, but if there's a better way, there's a better way. 8)
Suggestion: What I'd like to see is that the latest(-noext)?.xml be downloaded once per, say, 10 minutes.
Reason: Sometimes I like to add an addon, and then remember that there was another addon I needed too.
Addendum: Also I noticed that the default location you had set for non-Windows non-Mac systems is /usr/local/games/World of Warcraft/Interface/Addons which is unlikely if it wasn't done under root. My diff and alternative script file indicate that it should be ~/.wine/drive_c/World of Warcraft in most cases. Maybe other people have other experiences. (I use Ubuntu 7.10 if that's relevant.)
Other than that, wowace.py an awesome script. Automating anything is nice. :)
I wish I knew Python better, because my patch is hardly acceptable and very incomplete, but you might get my idea having read this post and seen my patch diff.
Perhaps instead of you writing a patch for it, maybe I could, if you give me a little bit of guidance. I really want to learn Python, and this I think would be a good exercise for me. Even if you do or someone else does, I'd definitely like access to the diff so I can see how it was written in.
Anyone considering using a script as I described in this post may get something out of reading my code, but it is NOT usable in its current state.
I'm not sure what's causing that. I've tried setting up a parallel directory structure on my own machine, and this works:
Are there any accented characters in there that the shell's handling okay but Python isn't?
Maybe it is a problem when invoking the script not from the script directory? Last time I tried from /home/thomas, this time i started it from /home/thomas/.wine/drive_c/Programme/World of Warcraft
Anyway, it works, that is what is important :D Thanks for this nice updater and the help you did provide!
I always get this:
It's not a huge deal, it still updates PeriodicTable but I have to run it again to get the rest of the updates.
Under get_local_addons it wasn't opening the pickle file for me and therefore every time grabbing the version by the changelog, which doesn't include small revisions(Version 57744.3) and so any addon with a small revision would update every single time the script was ran.
Quick change to lines 194 and 196 replacing
with
Dunno if this is the best way to do it but as I've never done Python before, it works so I'm happy ^_^
http://wowacepy.googlecode.com/files/wowacepy-2.0.8.zip
Just a bugfix release:
* Removing .svn or .ignore from an addon wasn't picked up unless the addon folder was deleted for an update.
* Fix two exception problems in reload_data.
* Try to fix the UnicodeDecodeError (I couldn't replicate it, but I'm fairly sure I know what was causing it.
* Include Scoz's change to addon_versions.pkl.
In addition, I am getting this error on various plugins:
I think this is a case-sensitivity issue, as I have "DewdropLib" installed. This is probably more of a bug in the other addons, but it might be worth trying to be less case-restrictive for us Linux (and I suppose those Mac) users.
Thanks for the help/work on this!
Neph @ Sentinals
Thanks in advance..
Nothing you can really do about it, except dont use an SVN updater..
I didn't think it was using SVN as the repository. It appears to be pulling the files the same way WoWAceUpdater does, via the XML file's information. I'm working my way through the script now trying to find the slow down, but unfortunately files.wowace.com is down at the moment, so can't make any progress at all.
Hmm.. how did you run the gui?
I did python gui.py but nothing happens.
I'm under Ubuntu64.
Hi,
Won't work. I don't have pythonw.
I have installed:
python-wxgtk (which is the name of wxPython under Deb/Ubuntu)
python2.5
I hope that helps. I'm running python 2.5.1 and version wxpython-2.6.4.0. I would attempt debugging more but i'm new to python and the WX widget set.
Clicking on the script opens it in a text editor and running it as root gives me an 'unknown command' error.
OS: Kubuntu 7.10
Py: 2.5
Any help?
Your World of Warcraft directory could not be accessed. Please set its correct ocation now.
Funny thing is, the correct location IS set.
It comes up with these errors but I do have the GUI opening. After the GUI opens I get an error labeled 'missing'. After I close that window (using sigkill) it closes everything and I get the 'killed' message. I do not know what is missing as the window doesn't contain any information.
Problem: I'm not sure if it's the download time or process time, but the script takes about 15 seconds (not having timed it officially) every run, and more if I'm on wireless at school. I can understand and tolerate the time it takes to run the script, but if there's a better way, there's a better way. 8)
Suggestion: What I'd like to see is that the latest(-noext)?.xml be downloaded once per, say, 10 minutes.
Reason: Sometimes I like to add an addon, and then remember that there was another addon I needed too.
Addendum: Also I noticed that the default location you had set for non-Windows non-Mac systems is /usr/local/games/World of Warcraft/Interface/Addons which is unlikely if it wasn't done under root. My diff and alternative script file indicate that it should be ~/.wine/drive_c/World of Warcraft in most cases. Maybe other people have other experiences. (I use Ubuntu 7.10 if that's relevant.)
Other than that, wowace.py an awesome script. Automating anything is nice. :)
I wish I knew Python better, because my patch is hardly acceptable and very incomplete, but you might get my idea having read this post and seen my patch diff.
Perhaps instead of you writing a patch for it, maybe I could, if you give me a little bit of guidance. I really want to learn Python, and this I think would be a good exercise for me. Even if you do or someone else does, I'd definitely like access to the diff so I can see how it was written in.
Anyone considering using a script as I described in this post may get something out of reading my code, but it is NOT usable in its current state.