Skip to content

Instantly share code, notes, and snippets.

@mottosso
Last active July 31, 2019 07:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mottosso/bc241a15aa46c127fef431380344ce7e to your computer and use it in GitHub Desktop.
Save mottosso/bc241a15aa46c127fef431380344ce7e to your computer and use it in GitHub Desktop.
29th July 2019 - Maintenance

Version not showing up

A regression from handling the various issues that crop up for new users without any profile resulted in the version name of a profile not showing up until after you've explicitly selected one. You typically don't do that, so it would simply not show up. Bug, fixed.


Graph Bug

The Graph functionality didn't always work, and I found the issue was with Rez related to the Python 3 transition, whereby it would store a dictionary as a string but include the dict_items object type of Python 3, the one you get from str(my_dict.items()). Under Python 2, this wasn't an issue as the type didn't exist. But in Python 3, we need to run it through list(my_dict.items()) in order to serialise it into plain tuples.


Full Error in Console

I'd like the GUI to be an extension of what errors crop up in the command-line. Currently, the errors that are actually handled by the GUI aren't propagated to the console window or parent shell. It was intentional, as a way to keep important messages more visible in the console. However, it assumes that our handling of the error is actually better than the original message, which isn't always the case. Especially not this early in the project, and especially not for unexpected reasons of the error.

So I've added the original exception back in, the GUI Console tab prints a greyed out version of it, which is then also replicated in the parent shell.


Python 2 and 3

The Allzpark on PyPI does support both 2 and 3, but not its dependencies, namely PySide2. I had a closer look and found that you can actually make conditional requirements for a PyPI package, which is exactly what we need.

  • python-2? PySide
  • python-3? PySide2

Simple! The only crux was that rez-pip didn't support this notion, so I had to upgrade it with some support.


Reset Button

Actively developing packages requires a constant re-scan. Currently, the way to trigger such a scan is by either switching between projects or patching/unpatching. That works, but is a little hacky and not very untuitive.

So with a future expansion of the profile select menu in mind, I've added a right-click with only one option so far; the Reset.

allzpark_reset

This performs an identical operation to applying a patch or switching between profiles or profile versions.


Tomorrow

Next I'll have a look at making the Allzpark GUI work without a console on Windows, via the pythonw executable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment