WOIN [WOIN] WOIN Character Assistant, a character creation tool

Holy cow, it's finally done. There's some polish to be done, but the GUI should be usable. Let's have a moment of silence for the text interface.
...
Okay, moment's over!

Sad thing is that it adds another dependency. The base GUI toolkit that came with Python didn't cut it for me. I ended up using wxPython. If you have Python installed (and the PATH variables set up correctly), you can open a terminal/command prompt and type:
Code:
pip install -U wxPython
to install the wxPython dependencies. Then you should be able to launch the fancy new GUI with the launcher (provided you updated)! The text interface is deprecated and won't work anymore. Rest in peace!
 

log in or register to remove this ad

Dalamar

Explorer
I get the following error when trying to set the Exploit for Nerd and Wizard's Apprentice. Whether that is with all Origins, or just those two, I do not know.
Code:
Traceback (most recent call last):
  File "D:\Programs\WOIN CA\wca-master\wca_gui_wx.py", line 1387, in set_career_exploit
    list_source = self.user_character.career_track[career_track_index]['Exploit']['Source']
KeyError: 'Source'
Beyond that, it seems great so far. Only thing that I noticed is that I don't know my available skill choices from Race/Career when I get the Edit Skills window.
 


I get the following error when trying to set the Exploit for Nerd and Wizard's Apprentice. Whether that is with all Origins, or just those two, I do not know.
Code:
Traceback (most recent call last):
  File "D:\Programs\WOIN CA\wca-master\wca_gui_wx.py", line 1387, in set_career_exploit
    list_source = self.user_character.career_track[career_track_index]['Exploit']['Source']
KeyError: 'Source'
Beyond that, it seems great so far. Only thing that I noticed is that I don't know my available skill choices from Race/Career when I get the Edit Skills window.

I had to make some changes to the way character information is stored. Are you using an old character file loaded up or are you doing this with a new character? I'm not able to reproduce this myself.

Good point about the skill choices not being visible. I'll add that to the list. I also discovered I forgot to display the career descriptions in the add career window. :x

I don't know how to do this. Where do I type this stuff about installing u wxpython?

On Mac, you'll want to open the Terminal application. Applications > Utilities > Terminal. That's where you'll type the bit about
Code:
pip install -U wxPython
 

Dalamar

Explorer
I was using a new character. I'll see about reproducing the error when I'm back on my computer.

For me, installing wxPython required navigating to my Python installation folder and there Scripts before running the above command.

Sent from my PLK-L01 using EN World mobile app
 

Morrus

Well, that was fun
Staff member
On Mac, you'll want to open the Terminal application. Applications > Utilities > Terminal. That's where you'll type the bit about
Code:
pip install -U wxPython

It didn't like that:

Russs-iMac-3:~ russellmorrissey$ pip install -U wxPython
-bash: pip: command not found
Russs-iMac-3:~ russellmorrissey$
 

I was using a new character. I'll see about reproducing the error when I'm back on my computer.

For me, installing wxPython required navigating to my Python installation folder and there Scripts before running the above command.

Sent from my PLK-L01 using EN World mobile app


That would be great. Run the updater and see if you're on the latest version. If it still happens, let me know everything you can: character race, homeworld, any careers that may have been added before those origins.

It didn't like that:

Russs-iMac-3:~ russellmorrissey$ pip install -U wxPython
-bash: pip: command not found
Russs-iMac-3:~ russellmorrissey$

Try:
Code:
/usr/local/bin/pip install -U wxPython

If it still says pip not found, you can try running the following to install pip:
Code:
sudo easy_install pip
and then rerunning
Code:
pip install -U wxPython
afterward. Apologies, I don't have a Mac to refer to at the moment. I'll see about picking up a cheap Mac mini so I can rectify that. :)
 


Dalamar

Explorer
Of note is that I don't use the automatic updater (too lazy to install git), so I grab updates by hand. Seeing as I am now unable to replicate the error, I must conclude that I must've extracted the newest version on top of the old one, leading to corrupted data. That, or something had not properly finished installing before I restarted my computer.
 

Morrus

Well, that was fun
Staff member
OK, progress. But we're not winning yet:

Russs-iMac-3:~ russellmorrissey$ pip install -U wxPython
Collecting wxPython
Using cached wxPython-4.0.0b2-cp27-cp27m-macosx_10_6_intel.whl
Collecting six (from wxPython)
Using cached six-1.11.0-py2.py3-none-any.whl
Installing collected packages: six, wxPython
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/var/folders/gr/2fzdqxr53f7d_j1tzmd0d04w0000gn/T/pip-ds8BQ3-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
Russs-iMac-3:~ russellmorrissey$
 

OK, progress. But we're not winning yet:

Russs-iMac-3:~ russellmorrissey$ pip install -U wxPython
Collecting wxPython
Using cached wxPython-4.0.0b2-cp27-cp27m-macosx_10_6_intel.whl
Collecting six (from wxPython)
Using cached six-1.11.0-py2.py3-none-any.whl
Installing collected packages: six, wxPython
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/var/folders/gr/2fzdqxr53f7d_j1tzmd0d04w0000gn/T/pip-ds8BQ3-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
Russs-iMac-3:~ russellmorrissey$

You installed Python 3.6.3 before, correct? Try pip3 instead of pip and see if that works. It looks like it's trying to install stuff for the default 2.7 installation that comes with OSX.

In the future I hope to be able to build binaries so all of the dependencies are included without anyone having to do anything. I need to get a Mac first, though!
 

dickie

First Post
This is an amazing tool - many thanks for making it (and continuing to improve it daily!)

I'm having a problem with exploits though - are they working yet?

Whenever I try to edit/add exploits I get the following error:

File "/Users/dickie/woin/wca/wca_gui_wx.py", line 1386, in set_career_exploit
File "/Users/dickie/woin/wca/wca_gui_wx.py", line 3166, in __init__
File "/Users/dickie/woin/wca/wca_gui_wx.py", line 3216, in show_exploits
TypeError: 'NoneType' object is not iterable

I'm using a Mac - and the latest WCA update as of this morning (yeah! Night Elf is there!)

Am I doing something wrong or are you still working on it.

I wish my python skills were up to contributing!

Best of luck and thanks again

Dickie
 

Morrus

Well, that was fun
Staff member
You installed Python 3.6.3 before, correct? Try pip3 instead of pip and see if that works. It looks like it's trying to install stuff for the default 2.7 installation that comes with OSX.

In the future I hope to be able to build binaries so all of the dependencies are included without anyone having to do anything. I need to get a Mac first, though!

I don’t know what any of this words mean. :)

I made a guess that you wanted me to put "pip3 instead of "pip" in that line in the Terminal thing? But that wasn't it:

Russs-iMac-3:~ russellmorrissey$ sudo easy_install pip3
Password:
Searching for pip3
Reading https://pypi.python.org/simple/pip3/
Couldn't find index page for 'pip3' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
No local packages or download links found for pip3
error: Could not find suitable distribution for Requirement.parse('pip3')
Russs-iMac-3:~ russellmorrissey$
[FONT=&quot]Save[/FONT][FONT=&quot]Save[/FONT]
 
Last edited:

Morrus

Well, that was fun
Staff member
Ah, I tried using "pip3" in that second occurrence of "pip" you mentioned instead. That worked!

I do believe it's running! Wooohoo!
 

Morrus

Well, that was fun
Staff member
OK, I can't seem to select any exploits. The other window says this when I click the button:

Traceback (most recent call last):
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 1386, in set_career_exploit
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 3166, in __init__
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 3216, in show_exploits
TypeError: 'NoneType' object is not iterable
Traceback (most recent call last):
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 1386, in set_career_exploit
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 3166, in __init__
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 3216, in show_exploits
TypeError: 'NoneType' object is not iterable
Traceback (most recent call last):
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 1386, in set_career_exploit
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 3166, in __init__
File "/Users/russellmorrissey/Desktop/wca-master/wca_gui_wx.py", line 3216, in show_exploits
TypeError: 'NoneType' object is not iterable

--

Also, when selecting skills, there's nothing to tell me which skills I can choose from.
 

Exploits should be working, but my only confirmation has been with Windows systems. I just ordered a Mac mini to do dev work, but it'll be a few days before I get it.

When are you two getting that error specifically? Is it when trying to select an exploit for a career, adding a misc. exploit in the "Exploit" tab, or both?

If you don't mind, humor me by grabbing a fresh zipped copy from https://github.com/DesertDogSledder/wca/archive/master.zip and see if you still get the error. There may be some flaws with way the updater works.
 

dickie

First Post
Using your zip file I get the same result

1) Launch wca and create a new character
2) Click Exploits tab
3) Click ADD exploit

ERROR MESSAGE on the terminal:

Traceback (most recent call last):
File "/Users/dickie/WOIN/wca/wca-master/lib/gui/wca_frame.py", line 1517, in add_misc_exploit
misc_exploit_dialog = AddExploitDialog(self, title='Add Misc Exploit')
File "/Users/dickie/WOIN/wca/wca-master/lib/gui/add_exploit_dialog.py", line 119, in __init__
self.show_exploits(None)
File "/Users/dickie/WOIN/wca/wca-master/lib/gui/add_exploit_dialog.py", line 169, in show_exploits
for exploit in exploit_list:
TypeError: 'NoneType' object is not iterable

I get the same error if I try to edit the career exploit from the Careers tab

I'll try in on my windows machine later and report back

Cheers
 


Apologies for the double post. I just pushed out an update. I'm not sure if it will fix the issue or not, but I'm curious to see what happens. Would you two mind updating and seeing if the same error pops up? Thanks for helping me troubleshoot! :)
 


Level Up: Advanced 5th Edition Starter Box

An Advertisement

Advertisement4

Top