IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zope Python Discussion :

Instanciation d'une ZClass


Sujet :

Zope Python

  1. #1
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut Instanciation d'une ZClass
    Je souhaite créer un produit.
    Dedans, il y a entre autres une ZClass maclasse et Zope a créé tout seul le script python suivant auquel il a donné l'ID maclasse_ad.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    # Add a new instance of the ZClass
    request = context.REQUEST
    instance = container.maclasse.createInObjectManager(request['id'], request)
     
    # *****************************************************************
    # Perform any initialization of the new instance here.
    # For example, to update a property sheet named "Basic" from the
    # form values, uncomment the following line of code:
    # instance.propertysheets.Basic.manage_editProperties(request)
    # *****************************************************************
     
    if redirect:
        # redirect to the management view of the instance's container
        request.RESPONSE.redirect(instance.aq_parent.absolute_url() + '/manage_main')
    else:
        # If we aren't supposed to redirect (ie, we are called from a script)
        # then just return the ZClass instance to the caller
        return instance

    Lorsque j'appelle ce script, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Traceback (innermost last):
     
        * Module ZPublisher.Publish, line 121, in publish
        * Module Zope2.App.startup, line 240, in commit
        * Module transaction._manager, line 96, in commit
        * Module transaction._transaction, line 380, in commit
        * Module transaction._transaction, line 378, in commit
        * Module transaction._transaction, line 433, in _commitResources
        * Module ZODB.Connection, line 484, in commit
        * Module ZODB.Connection, line 526, in _commit
        * Module ZODB.Connection, line 553, in _store_objects
        * Module ZODB.serialize, line 407, in serialize
        * Module ZODB.serialize, line 416, in _dump
        * Module copy_reg, line 70, in _reduce_ex
     
    TypeError: default __new__ takes no parameters
    Apparemment, c'est la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    instance = container.maclasse.createInObjectManager(request['id'], request)
    qui pose problème, et plus exactement les arguments entre ().

    Pourquoi ?
    Le code créé par Zope lui-même n'est pas bon ?
    J'ai Zope 2.9.3.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Points : 107
    Points
    107
    Par défaut Laisse tomber
    Oublies les ZClasses, plus personne ne s'en sert et je ne sais pas si ça va durer autant que les impôts.

    Bref écris ton propre produit

    @++

  3. #3
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut
    Effectivement, j'ai trouvé à plusieurs endroits que les ZClass seront 'deprecated' à partir de la version 2.10 de Zope.

    Le Zope Developper Book explique comment développer les produits en filesystem .


    Par contre, s'il est compréhensible qu'un logiciel évolue, je pense qu'il serait bien que des bouts de code permettant l'adaptation aux nouvelles versions de Zope soient prévus.

    Quand on lance Zope 2.9.3, il y a plusieurs avertissements indiquant des 'deprecated'.
    Plusieurs produits ont été développés avec les anciennes versions et risquent de ne plus tourner sur les prochaines, à moins d'être adaptés par leurs auteurs.
    Je pense que c'est une limitation de Zope assez gênante.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2006, 20h18
  2. Instanciation d'une sous-classe
    Par iubito dans le forum Langage
    Réponses: 6
    Dernier message: 23/01/2006, 16h27
  3. instanciation d'une classe
    Par firejocker dans le forum C++
    Réponses: 6
    Dernier message: 15/11/2005, 11h54
  4. Réponses: 7
    Dernier message: 10/11/2005, 10h09
  5. Réponses: 12
    Dernier message: 14/07/2005, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo