[Engine-devel] [ovirt-engine-sdk] Simplify the process of the RSDL code generation
ShaoHe Feng
shaohef at linux.vnet.ibm.com
Sun May 27 17:06:25 UTC 2012
On 05/26/2012 01:48 AM, Michael Pasternak wrote:
> 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__).
should all the element name in xsd by type be added to _rootClassMap,
and no element can be exception?
>> 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
>
More information about the Engine-devel
mailing list