[F] views: fix 2 unicode errors
1. You can now use valid unicode strings in ValidationError exception.
Previously, if 'err' contains unicode, UnicodeDecodeError was raised by format_errors()
>>> templstr = '<li>%s</li>\n'
>>> e = ValidationError(None, {None: u'oué, une exception en unicode!'})
>>> templstr % e
'<li>None (None): ou\xc3\xa9, une exception en unicode!</li>\n'
>>> templstr = u'<li>%s</li>\n'
>>> templstr % e
u'<li>None (None): ou\xe9, une exception en unicode!</li>\n'
2. The message of an Exception can contains unicode. But it now properly managed by “informal” string representation.
We can easily fix the problem by using the Exception.message attribute that still contains the original message.
>>> a = AssertionError(u'séfdsdf')
>>> a.message
u's\xe9fdsdf'
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128)
>>> a = ValueError(u'fsdfsdéfsdfs')
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128)
>>> a
ValueError(u'fsdfsd\xe9fsdfs',)
>>> unicode(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128)
>>> a.message
u'fsdfsd\xe9fsdfs'
L'outil `cubicweb-ctl`
-------------------
`cubicweb-ctl` est le couteau suisse pour la gestion d'instances CubicWeb.
La syntaxe gnrale est ::
cubicweb-ctl <commande> [options commande] <arguments commandes>
Pour voir les commandes disponibles ::
cubicweb-ctl
cubicweb-ctl --help
A noter que les commandes disponibles varient en fonction des parties de CubicWeb
qui sont installes.
Pour voir l'aide pour une commande spcifiques ::
cubicweb-ctl <commande> --help
Commandes pour la cration d'un composant
````````````````````````````````````````
* ``newtemplate``, cre un nouveau composant sur le systme de fichiers
partir du nom pass en paramtre. Cette commande cre le composant partir
d'une squelette d'application, incluant galement les fichiers pour le
packaging debian)
Commandes pour la cration d'une instance
`````````````````````````````````````````
* ``create``, cre les fichiers de configuration d'une instance
* ``db-create``, cre la base de donnes systme d'une instance (tables et
extensions uniquement)
* ``db-init``, initialise la base de donnes systme d'une instance (schma,
groupes, utilisateurs, workflows...)
Par dfaut ces trois commandes sont enchaines.
Commandes pour le lancement des instances
`````````````````````````````````````````
* ``start``, dmarre une, plusieurs, ou toutes les instances
* ``stop``, arrt une, plusieurs, ou toutes les instances
* ``restart``, redmarre une, plusieurs, ou toutes les instances
* ``status``, donne l'tat des instances
Commandes pour la maintenance des instances
```````````````````````````````````````````
* ``upgrade``, lance la migration d'instance(s) existante(s) lorsqu'une nouvelle
version d'CubicWeb ou du composant est installe
* ``shell``, ouvre un shell de migration pour maintenance manuelle d'une instance
* ``db-dump``, cre un dump de la base de donnes systme
* ``db-restore``, restore un dump de la base de donnes systme
* ``db-check``, vrifie l'intgrit des donnes d'une instance. Si la correction
automatique est active, il est conseill de faire un dump avant cette
opration
* ``schema-sync``, , synchronise le schma persistent d'une instance avec le schma
de l'application. Il est conseill de faire un dump avant cette opration
Commandes pour la maintenance des catalogues i18n
`````````````````````````````````````````````````
* ``i18ncubicweb``, regnre les catalogues de messages de la librairie CubicWeb
* ``i18ncube``, regnre les catalogues de messages d'un composant
* ``i18ninstance``, recompile les catalogues de messages d'une instance. Cela est
effectu automatiquement lors d'une upgrade
Cf Internationalisation_.
Autres commandes
````````````````
* ``list``, donne la liste des configurations, des composants et des instances
disponibles
* ``delete``, supprime une instance (fichiers de configuration et base de donnes)