2012-08-06 3 views
0

Lors de l'enregistrement d'une valeur de chaîne de date en espagnol dans un Archétype DateTimeField, le champ se termine par une valeur None. J'ai lu le code DateTimeField et il n'y a pas de code de paramètres régionaux du tout. Je suis sûr que cela, comme la plupart des choses, a déjà été fait quelque part à Plone, et j'aimerais savoir où, s'il vous plaît.Champ DateTime des paramètres régionaux des archétypes

Si ce n'est pas encore fait, alors j'apprécierais tous les commentaires que vous pourriez avoir sur mon plan. J'ai recueilli quelques informations de Google et SO, et c'est ce que j'ai trouvé:

1) Je vais sous-classer les Archetypes/Field.py/DateTimeField() dans ma propre source.

2) J'utiliserai @@plone_portal_state/language() pour obtenir le code de langue actuel.

3) Ensuite, définissez les paramètres régionaux en utilisant locale.setlocale(local.LC_TIME, LANG_CODE).

4) Je vais convertir la valeur de la chaîne en un objet python datetime.

5) J'utiliserai dt2DT pour convertir la valeur en zope DateTime.

6) J'écrirai ensuite la valeur.

Ceci est un plan stupide, mais c'est ce que je sais, et j'aimerais quelques indices.

Merci!

+0

Jetez un oeil à https://github.com/collective/plone.app.event et http: //pypi.python .org/pypi/icalendar/pour voir jusqu'où ça va. –

Répondre

0

J'ai le même problème, mais ce que je veux est d'afficher l'heure locale, comme 1 janvier 2012 en français dans l'environnement linguistique espagnol, en faisant cependant la recherche que j'ai découvert que locale.setlocale est pas thread-safe sur la plupart des systèmes, ce n'est donc pas une bonne idée de continuer à le mettre en/hors service parce qu'il va probablement définir cette locale particulière pour tout le monde utilisant le site.

Vous pouvez toujours installer les locales nécessaires pour les langues sélectionnées, dans Debian, vous pouvez le faire avec:

#aptitude installer les locales

puis

# dpkg-reconfigure locaux

Sélectionnez toutes les langues locales dont vous avez besoin et le système les aurait. Il devrait y avoir un moyen de traduire les formats des noms de mois, mais je ne l'ai pas encore trouvé.

Sources:

discussion Plone - http://plone.293351.n2.nabble.com/Plone-strftime-and-locales-question-td6602394.html

page de documentation locale Python, faites défiler vers le bas pour locale.setlocale - http://docs.python.org/library/locale.html

EDIT: Aussi au lieu de locale.setlocale vous voudrez peut-être Pour utiliser le paquetage babel, comme il semble être thread-safe, j'étudie actuellement cette possibilité pour mon propre projet.

Stack Overflow discussion - https://stackoverflow.com/a/225106/86294

Babel Pypi - http://pypi.python.org/pypi/Babel

Questions connexes