[Engine-devel] [ovirt-engine-sdk] Simplify the process of the RSDL code generation

Michael Pasternak mpastern at redhat.com
Fri May 25 17:48:50 UTC 2012


Hi,

On 05/24/2012 09:13 PM, ShaoHe Fen3g wrote:
> Hi all,
> 
> Now I'm using the code generation suites of ovirt-engine-sdk, I find it is very troublesome.

I completely agree with you, automating python entities generation is on top
of my TODO stack see [1],

Along with this, there was always something more important to do, and
it was delayed time after time, so your help is most welcome.

[1] http://www.ovirt.org/wiki/SDK#codegen

> 
> IMO,  we can simplify the process. And I want to engaged in it.
> 
> there are two tools parse the api.xsd and generate the params.py code.  They are generateds_gui.py and generateDS.py.
> but there still some code can not be generate by these tools. now we should add these codes manually.
> 
> the not NOT_GENERATED codes are as follow in the current  params.py code:
> 1.  import python module
> 2.  a new attribute of GeneratedsSuper class
> 3.  modify the get_root_tag function.
> 4.  modify the parseString function to shut up the stdout.
> 5.  _rootClassMap
> 6 . _elementToClassMap
> 7. findRootClass
> 
> And I have two ideas about the code generation.
> For we should not modify the generateDS.py tools. 
> But we can improve it.
> 
> I think the 1, 2, 3, 7, can be hard-code, and 4, 5 and 6 can be configured.
> So I want to add an configure file to tell how to add the extra code that are not generated  by generateDS.py tools.
> And  new python program, as extension of generateDS.py to read the configure file and generate these codes.

sounds good, btw 5,6 can be constructed programmatically using __all__ generated by generateDS
and finding element name in xsd by type (from __all__).

> 
> Or without the configure file, just make the new python program that supports an interactive commands.
> 
> 
> 
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel


-- 

Michael Pasternak
RedHat, ENG-Virtualization R&D



More information about the Engine-devel mailing list