[Pythonmac-SIG] Calling a python objc class method from cocoa
s s
listsin at integrateddevcorp.com
Sun Oct 19 03:09:28 CEST 2008
Try using:
def setdefaulttimeout_(cls,timeout):
Since your method would be setdefaulttimeout: in objc, it's necessary
to replace the ':' with an underscore in your Python code.
S
aka Steve Steiner
On Oct 18, 2008, at 6:15 PM, Saptarshi Guha wrote:
> Hello,
> I have a mainly cocoa app which uses some Python modules. I need to
> call a classmethod of a NSObject subclass written in
> python from Cocoa
> =Structure=
>
> After loading the Python interpreter, i call this method
>
> -(void)initialize
> {
> Class pySocket = NSClassFromString(@"pySocket");
> NSLog(@"%@",pySocket);
> [pySocket setdefaulttimeout:10];
> }
>
> pySocket:
>
> from Foundation import *
> import socket
> class pySocket(NSObject):
> #no init method right now, only want to run class methods
> @classmethod
> def setdefaulttimeout(cls,timeout):
> socket.setdefaulttimeout(timeout)
>
> ==Error==
>
> I get the following error:
> 2008-10-18 17:48:14.227 argnostic[10697:10b] pySocket
> 2008-10-18 17:48:14.228 argnostic[10697:10b] *** +[pySocket
> setdefaulttimeout:]: unrecognized selector sent to class 0x3b33d0
> 2008-10-18 17:48:14.228 argnostic[10697:10b] *** +[pySocket
> setdefaulttimeout:]: unrecognized selector sent to class 0x3b33d0
>
> How then do I call a Python NSObject subclasses classmethods from
> cocoa?
> Thank you
> Saptarshi
>
>
> Saptarshi Guha | saptarshi.guha at gmail.com | http://www.stat.purdue.edu/~sguha
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
On Oct 18, 2008, at 6:15 PM, Saptarshi Guha wrote:
> Hello,
> I have a mainly cocoa app which uses some Python modules. I need to
> call a classmethod of a NSObject subclass written in
> python from Cocoa
> =Structure=
>
> After loading the Python interpreter, i call this method
>
> -(void)initialize
> {
> Class pySocket = NSClassFromString(@"pySocket");
> NSLog(@"%@",pySocket);
> [pySocket setdefaulttimeout:10];
> }
>
> pySocket:
>
> from Foundation import *
> import socket
> class pySocket(NSObject):
> #no init method right now, only want to run class methods
> @classmethod
> def setdefaulttimeout(cls,timeout):
> socket.setdefaulttimeout(timeout)
>
> ==Error==
>
> I get the following error:
> 2008-10-18 17:48:14.227 argnostic[10697:10b] pySocket
> 2008-10-18 17:48:14.228 argnostic[10697:10b] *** +[pySocket
> setdefaulttimeout:]: unrecognized selector sent to class 0x3b33d0
> 2008-10-18 17:48:14.228 argnostic[10697:10b] *** +[pySocket
> setdefaulttimeout:]: unrecognized selector sent to class 0x3b33d0
>
> How then do I call a Python NSObject subclasses classmethods from
> cocoa?
> Thank you
> Saptarshi
>
>
> Saptarshi Guha | saptarshi.guha at gmail.com | http://www.stat.purdue.edu/~sguha
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythonmac-sig/attachments/20081018/04de35f1/attachment.htm>
More information about the Pythonmac-SIG
mailing list