[Kimchi-devel] [PATCH 0/3 RFC] Refactor exception
Aline Manera
alinefm at linux.vnet.ibm.com
Tue Feb 4 12:24:18 UTC 2014
Based in all comments I will follow the second approach I proposed.
That way we just translate messages in a single place.
On 01/31/2014 07:17 PM, aline.manera at gmail.com wrote:
>
> Or even better, we map all code and messages on UI (i18n.html) and
> backend returns the code and params.
>
> For example:
> KimchiError('VMERRO01', 'my-vm')
>
> And on UI:
> i18n[code], params
>
> That way the translation will be done just in one place - UI
>
> But while using the REST API we will return code and params - not a
> full message.
> (I am not sure I like it)
>
> What do you think about those 2 proposals?
>
> On Jan 31, 2014 4:21 PM, "Aline Manera" <alinefm at linux.vnet.ibm.com
> <mailto:alinefm at linux.vnet.ibm.com>> wrote:
>
> From: Aline Manera <alinefm at br.ibm.com <mailto:alinefm at br.ibm.com>>
>
> Hi all,
>
> This is the RFC for the refactor exception task.
> Sheldon has already done something related to that some time ago.
>
> He also created a wiki for that:
> - https://github.com/kimchi-project/kimchi/wiki/refactor-exception
>
> The only change I made in him approach is translating the message
> in backend
> and send it to UI
> That way we don't need to duplicate the messages on backend and UI
> (as it is
> explained on wiki)
>
> The steps to get it done:
> 1) Change cherrypy error handler to send the exception data to UI
> 2) Create a common Exception class (KimchiError) to translate the
> error message
> and proper set the parameters
> 3) Update UI to show the message received from backend to the user
>
> I also would like to create a file on backend: __messages__.py
> which will
> contain all messages used on backend.
> For example:
>
> # __messages__.py
> VM_START_FAILED = "<code>: Failed to start virtual machine %(name)s"
>
> The contants names should be: <resource>_<action>_<error>
>
> The <code> need to be a unique value between all messages.
> It is needed in order to we identify the error independent of the
> message
> language.
> That way a user running Kimchi in German can easily post his error
> on mail list
> or github, and we can identify where the problem is by the message
> code.
>
> I also will add this code in the UI messages.
>
> For the code, we can build it like:
> <resource><BACK|UI><type-of-error><ident>
> And on backend:
>
> VMBACKINFO01
> VMBACKERRO01
> VMBACKWARN01
>
> And on UI:
>
> VMUIINFO01
> VMUIERRO01
> VMUIWARN01
>
> So we will also need:
> 4) Create a __messages__ file with all messages used on backend
> 5) Update build process to add the messages in this file to .po files
> 6) Update UI messages to add a code for them
>
> I made a small patch set with my proposal.
> This patch set does not include the items 4,5 and 6
> In fact, I used an existent message for test (as you can notice on
> patches)
> And *just for example* it will *always* raise an exception while
> starting a VM.
>
> Any comments/suggestions are welcome. =)
>
> Aline Manera (2):
> refactor exception: Create a common Exception to translate error
> messages
> refator exception: Example of use
>
> ShaoHe Feng (1):
> refactor exception: Add a kimchi special error handler
>
> src/kimchi/control/base.py | 5 ++++-
> src/kimchi/exception.py | 29 ++++++++++++++++++++++-------
> src/kimchi/model/vms.py | 4 +++-
> src/kimchi/template.py | 14 ++++++++++++++
> ui/js/src/kimchi.guest_main.js | 4 ++--
> 5 files changed, 45 insertions(+), 11 deletions(-)
>
> --
> 1.7.10.4
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org <mailto:Kimchi-devel at ovirt.org>
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
>
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20140204/2858b7ad/attachment.html>
More information about the Kimchi-devel
mailing list