0

describePrivate()などを実行しますか。al。Zope 2スタイルのアクセス制御宣言には最新のPython構文メソッドデコレータがありますか?

例えば

class EncryptedField(StringField):
    """
    """
    security = ClassSecurityInfo()

    # Something more nice here? like @private?
    security.declarePrivate('get')

    def get(self, instance, **kwargs):
        value = ObjectField.get(self, instance, **kwargs)
        if getattr(self, 'raw', False):
            return value
4

1 に答える 1

1

いいえ、まだこの構文に固執しています。

これらはクラスレベルの宣言であり、実際にはメソッドにアタッチされていないため、デコレータに簡単に変換することはできません。securityこれを機能させるには、クラス宣言とオブジェクトに戻るために、呼び出し元のフレームで厄介なトリックを実行する必要があります。

したがって、securityオブジェクトが処理されて、宣言がZope2が認識するクラス属性に変換されるステップがあります。このステップは、最近ではアーキタイプのregisterType呼び出しによって自動的に処理されます。

于 2012-07-11T06:24:51.990 に答える