Digger: A graphic room editor for MUX/MUSH



  • Hi, I'm currently developing a graphic tool for designing MUSH/MUX rooms and exporting them to code. It's written in Python so it will work on any sistem (Haven't tried on Mac).

    You can quickly link rooms and run custom code for each of them. You can change the color and size of rooms if you need so.

    Here is the GitHub page if you want to check it out, please report any bugs, and suggestions are welcome :) Thanks in advance


  • Pitcrew

    Similar to MUSHroom?

    http://ansiart.com/Info/Utilities



  • @krmbm It's similar to MUSHRoom, however, I want an editor that would work under Linux, and I needed to add some features that I find useful.


  • Coder

    A plea: please add to your export options a JSON option. XML is dying (in the eyes of most) and JSON is seeming to be the new standard. It is much more consumable by, for instance, web services.

    A few Nice-To-Haves that most game builders will want:

    • Report on completeness of Rooms and Exits.
      • Configurable attributes to check for (osucc, odrop, desc, flags, etc)
      • Badge/flag rooms with certain Flags set (such as unapproved flags)
    • Configurable to use different server codebase (MUX, Penn, Rhost, at minimum)
    • While doing the above, you might consider making the commands ran very configurable.

  • Coder

    Latest version of macOS, check.
    Latest version of Xcode, check.
    Installed and/or updated Homebrew, check.
    brew install pyqt which installs python3 as a dependency, check.

    Let's do this.

    digger-master$ python3 main.py 
      File "main.py", line 159
        raise ValueError, "not a Digger XML file"
                        ^
    SyntaxError: invalid syntax
    


  • @Thenomain At the moment, you need python2 to run Digger, that's why you're getting the syntax error.


  • Coder

    @Peppel

      File "main.py", line 159
        raise ValueError, "not a Digger XML file"
                                                ^
    IndentationError: unindent does not match any outer indentation level
    

    I was warned that Python had indent issues, but this is the first time I've seen it.


  • Coder

    Yeah, the standard is spacebars. However, if this gets up and running all nice-like, I'll be excited!



  • @Thenomain Hmm, that's weird, it runs fine for me.


  • Coder

    @Peppel said in Digger: A graphic room editor for MUX/MUSH:

    @Thenomain Hmm, that's weird, it runs fine for me.

    Yeah, but I was offering testing, as per the original post:

    @Peppel said in Digger: A graphic room editor for MUX/MUSH:

    (Haven't tried on Mac).

    I am not a Python coder by even the slightest stretch, so I don't know how to debug this.


  • Coder

    Runs fine on my end, too. Double checking, it looks like that error only comes up in python 3.x


  • Coder

    @Thenomain said in Digger: A graphic room editor for MUX/MUSH:

    @Peppel said in Digger: A graphic room editor for MUX/MUSH:

    @Thenomain Hmm, that's weird, it runs fine for me.

    Yeah, but I was offering testing, as per the original post:

    @Peppel said in Digger: A graphic room editor for MUX/MUSH:

    (Haven't tried on Mac).

    I am not a Python coder by even the slightest stretch, so I don't know how to debug this.

    I'll see if I can't get this running in python3, in the meantime, try executing this by typing python2 main.py

    Edit: Looks like I can get it all the way down to needing qt4. Looks like I cannot replicate this issue with the current version of python 2.7.x


  • Coder

    @golgoth

    Here's the deets, after deleting and re-downloading the .zip from GitHub:

    digger-master$ python2 main.py 
    -bash: python2: command not found
    digger-master$ python --version
    Python 2.7.10
    digger-master$ python main.py 
      File "main.py", line 159
        raise ValueError, "not a Digger XML file"
                                                ^
    IndentationError: unindent does not match any outer indentation level
    

    macOS: 10.12.4 (16E195)

    Darwin: Darwin rrcs-24-123-229-3.central.biz.rr.com 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

    Xcode: Version 8.3.2 (8E2002)

    That's all I got.


  • Coder

    I'll head home and look at this again. I might pop a VM with that version of python. I'm working with 2.7.13


  • Coder

    Try commenting out lines 159 and 160 for me. I'm stuck helping cook real quick.


  • Coder

    @golgoth

    Oh fuck me.

    I deleted and replaced the folder in the macOS GUI, but didn't re-enter the folder in shell. Starting from scratch, I no longer get the indentation error.

    I am getting an error finding PyQT4, but I'm checking out some possible solutions from Stack Overflow. I will post when I find the best Mac install solution for this.

    --

    edit: Here's the error. I think the Homebrew package sets itself up for Python3, not 2.

    Traceback (most recent call last):
      File "main.py", line 7, in <module>
        from PyQt4 import QtCore, QtGui
    ImportError: No module named PyQt4
    

    --

    edit edit: No, the Homebrew package for PyQT4 says it will install for both Python2 and Python3. Will need to dig deeper.


  • Coder

    @Thenomain I got that error from running in python3. The other one you have been getting, I can't repeat. The only thing I can think of is that the author used tabs rather than spaces, which doesn't apparently translate well to your editor.


  • Coder

    Ongoing Adventures In Hobby Developers Doing Professional Development
    (macOS Sierra Edition)

    So the fun of package managers that are not baked into the operating system is that they like putting things in their own little world. Because Homebrew bottled its own Python3, it knew where to put PyQt5 (and yes, it's 5). Because Apple's Xcode installed its own version of Python2, then Homebrew didn't clobber Apple's installation.

    $ cd /usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
    $ ls
    PyQt5					pkg_resources				sipconfig.py
    __pycache__				setuptools				sipdistutils.py
    easy_install.py				setuptools-32.2.0-py3.6.egg-info	sitecustomize.py
    pip					sip.pyi					wheel
    pip-9.0.1-py3.6.egg-info		sip.so					wheel-0.29.0-py3.6.egg-info
    

    Yup, there it is. But there is pip, too, so if I try to use pip to install PyQt it will just go into the Python3 repository.

    So let's ignore Xcode and install our own Python 2:

    ==> Caveats
    Pip and setuptools have been installed. To update them
      pip install --upgrade pip setuptools
    
    You can install Python packages with
      pip install <package>
    
    They will install into the site-package directory
      /usr/local/lib/python2.7/site-packages
    
    See: http://docs.brew.sh/Homebrew-and-Python.html
    

    This says something disturbing...

    site-packages and the PYTHONPATH
    The site-packages is a directory that contains Python modules (especially bindings installed by other formulae). Homebrew creates it here:

    $(brew --prefix)/lib/pythonX.Y/site-packages
    So, for Python 2.7.x, you’ll find it at /usr/local/lib/python2.7/site-packages.

    Cool!

    $ cd /usr/local/lib/python2.7/site-packages
    $ pwd
    /usr/local/lib/python2.7/site-packages
    $ ls
    appdirs-1.4.3.dist-info		pip				setuptools-35.0.2.dist-info	six-1.10.0.dist-info
    appdirs.py			pip-9.0.1-py2.7.egg-info	sip.pyi				six.py
    appdirs.pyc			pkg_resources			sip.so				six.pyc
    easy_install.py			pyparsing-2.2.0.dist-info	sipconfig.py			wheel
    easy_install.pyc		pyparsing.py			sipdistutils.py			wheel-0.29.0-py2.7.egg-info
    packaging			pyparsing.pyc			sitecustomize.py
    packaging-16.8.dist-info	setuptools			sitecustomize.pyc
    

    Where the hell is PyQt? Maybe if I run it from the Homebrew install location:

    $ cd /usr/local/Cellar/python/2.7.13/bin
    $ ./pip install pyqt4
    Collecting pyqt4
      Could not find a version that satisfies the requirement pyqt4 (from versions: )
    No matching distribution found for pyqt4
    $ ./pip search pyqt4 
    [...]
    PyQt4 (4.11.4)          - Python bindings for the Qt cross platform GUI toolkit
    

    Not sure what to do at this point. Will continue to prod and grind.


  • Coder

    /usr/lib/python2.7/dist-packages

    I should probably find a MacOS VM and see if that's the issue. I did a find for PyQt4


  • Coder

    @golgoth said in Digger: A graphic room editor for MUX/MUSH:

    /usr/lib/python2.7/dist-packages

    /usr/local/lib/python2.7/site-packages/

    --

    I went into the 'site-packages' directory for Python3 and copied PyQt5/ to Python2's. Hey, at least it's now failing creatively:

    $ python main.py 
    Traceback (most recent call last):
      File "main.py", line 8, in <module>
        from PyQt5 import QtCore, QtGui
    ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PyQt5/QtCore.so, 2): Symbol not found: _PyBytes_AsString
      Referenced from: /usr/local/lib/python2.7/site-packages/PyQt5/QtCore.so
      Expected in: flat namespace
     in /usr/local/lib/python2.7/site-packages/PyQt5/QtCore.so
    

    I have tried and failed to install PyQt4 from the official site, as it complains that it can't find qmake, and I can't find an install for qmake except via the qt-devel library. Until I become a more capable developer, I will now leave this in the hands of other people, and let this thread get back on track.

    --

    For those now afraid to try out Digger, I am only having these issues on macOS. Try it out!


 

Looks like your connection to MU Soapbox was lost, please wait while we try to reconnect.