Thanks for the quick answer Thomas!

Yes, I will need multiple instances so I will work with the proxy then.

Best,
Soren

On Tue, Feb 12, 2019 at 9:11 AM Thomas Holder <thomas.hol...@schrodinger.com>
wrote:

> Hi Soren,
>
> Very interesting script, thanks for sharing!
>
> It looks like pymol2.PyMOL() doesn't work with the util module. It would
> need to wrap all util functions and pass the "_self" argument with every
> function call, just like pymol2.cmd2.Cmd does.
>
> It works for me if I use pymol2.SingletonPyMOL() instead. That's what we
> use with the PyQt interface. This "singleton" version uses the global
> pymol.cmd and pymol.util modules as the API. You can only have one instance
> of the singleton.
>
> If you want multiple instances with pymol2.PyMOL(), you'll need to do the
> wrapping. For example like this:
>
> class SelfProxy:
>     def __init__(self, proxied, _self):
>         self._self = _self
>         self.proxied = proxied
>     def __getattr__(self, key):
>         v = getattr(self.proxied, key)
>         def wrapper(*a, **k):
>             k['_self'] = self._self
>             return v(*a, **k)
>         return wrapper
>
> # and after "self._pymol.start()":
>         import pymol.util
>         self._pymol.util = SelfProxy(pymol.util, self._pymol.cmd)
>
> I've tested this and it works with the color menu.
>
> Cheers,
>   Thomas
>
> > On Feb 12, 2019, at 8:26 AM, Søren Nielsen <soren.skou.niel...@gmail.com>
> wrote:
> >
> >
> > Hi,
> >
> > I am using pymol with a wxpython interface and everything seems to work,
> except when I try to change the color of an object using the internal gui,
> I get a NameError: name 'util' is not defined error... can you see what is
> the problem here?
> >
> > Best,
> > Soren
>
> --
> Thomas Holder
> PyMOL Principal Developer
> Schrödinger, Inc.
>
>
_______________________________________________
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Reply via email to