[Python-de] monkey patch mit einem egg

Andreas Jung lists at zopyx.com
Mo Mär 28 10:06:54 CEST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

robert rottermann wrote:
> Am 27.03.2011 13:37, schrieb Diez B. Roggisch:
>>
>> Am 27.03.2011 um 12:14 schrieb robert rottermann:
>>
>>> Hoi zäme,
>>>
>>> ich versuche eine methode einer Klasse die aus einem egg stamm mit
>>> einem monkey pach anzupassen.

Was 'egg' mit Monkeypatching zu tun. Monkeypatching hat nichts damit
zu tun wie ein Package deployed wurde.

>>>
>>> das gelingt aber nicht.
>>> Python ist Version 2.4
>>>
>>> was ich mache ist folgendes:
>>> from xlwt import *
>>> def adjust_bound_col_idx(self, *args(...)
>>>    meine Anpassungen
>>>    ..
>>> Row.__adjust_bound_col_idx = adjust_bound_col_idx

Die zu überschreibende Methode ist __adjust_bound_col_idx()???

>>>
>>> jedoch wird weiterhin die ursprüngliche methode genutzt.

Schwer zu glauben. Monkeypatching

>>> wenn ich im debugger die Klasse untersuche, hat sie zwei Methoden mit
>>> dem Namen __adjust_bound_col_idx.

Ein Klasse kann keine zwei Methoden mit gleichen Namen haben - absolut
unmöglich. Wahrscheinlich lügt Dir WingIDE irgendwas vor (wie so oft).

>>> Jedenfalls behaupted das die codeinspection von Wing4.

s.o.

>>>
>>> Ist es möglich, dass "semiprivate" methoden die mit __ beginnen nicht
>>> gepatcht werden können?

Es gibt keine semiprivaten Methoden oder privaten Methoden - eine
Methode ist eine Methode ist eine Methode...alles mit "privat" ist
reine Festlegungssache ohne Python-interne Bedeutung.

- -aj

- -- 
ZOPYX Limited           | zopyx group
Charlottenstr. 37/1     | The full-service network for Zope & Plone
D-72070 Tübingen        | Produce & Publish
www.zopyx.com           | www.produce-and-publish.com
- ------------------------------------------------------------------------
E-Publishing, Python, Zope & Plone development, Consulting


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQGUBAEBAgAGBQJNkEGeAAoJEADcfz7u4AZjT+sLvA9tPC4pPiGS+ylj/3C4UJa0
J16FJtBohmYozGKtq++k+zro4jYMH9kCKUcAUjFCeGM7izX4VZJrQky5uHNlFOyj
gE4gmrSYI0EWTIsJbUwfMX2vPtgFdzFy08dVLqImACr0lOaFvxf120cXWP9I/h4J
0lKxOFeOTQ4t3q3o/JrZyC38D5cgVukCP+EiUHK866X/1xsHGHJrKoWWWMoL9XKC
JKqwcluV8p8fpv7LTzjcL5YWtvoZ01/NcuhmjuN8l7uM/UWp5spRbjakPTn+OVyk
NtBmw4m/83LsooGLkACIuwNmUQJZkcvWjsIgeSfHis9Wp6BtAu4L4Gz13gX6ftBV
DrzyPSDBEWxywQcRIvW+P02Bhfti+SjMLurbDRO+hfBmAuJlKrjASxCnf4rhLcrH
tdIhZW8SwfuFlfKsX/ak8VGFXXPUZ+YujUNntxFL1nEOM9mubAs5Qi6tAvYJ7OVA
cXVVH4/wzs49px0wjRoutZfDMa+Opho=
=N3Je
-----END PGP SIGNATURE-----
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : lists.vcf
Dateityp    : text/x-vcard
Dateigröße  : 316 bytes
Beschreibung: nicht verfügbar
URL         : <http://mail.python.org/pipermail/python-de/attachments/20110328/1273b79a/attachment.vcf>


Mehr Informationen über die Mailingliste python-de