Michael Pasternak has uploaded a new change for review. Change subject: sdk: support 3+ lengh URI methods gen ......................................................................
sdk: support 3+ lengh URI methods gen Change-Id: I61cfc092d7cde139949f31890e1446468b459434 Signed-off-by: Michael Pasternak <[email protected]> --- M src/codegen/rsdl/rsdlcodegen.py M src/ovirtsdk/infrastructure/brokers.py 2 files changed, 73 insertions(+), 67 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine-sdk refs/changes/73/12673/1 diff --git a/src/codegen/rsdl/rsdlcodegen.py b/src/codegen/rsdl/rsdlcodegen.py index a92bea6..2931079 100644 --- a/src/codegen/rsdl/rsdlcodegen.py +++ b/src/codegen/rsdl/rsdlcodegen.py @@ -262,8 +262,11 @@ self.__createAction(root_coll, sub_coll, k, url, rel, http_method, body_type, link, response_type, collectionsHolder) elif(i >= 3): - sub_root_coll = StringUtils.toSingular(root_coll, RsdlCodegen.COLLECTION_TO_ENTITY_EXCEPTIONS) + self.__toResourceType(sub_coll) - sub_res_coll = self.__toResourceType(resources.keys()[2]) + sub_root_coll = StringUtils.toSingular( + root_coll, RsdlCodegen.COLLECTION_TO_ENTITY_EXCEPTIONS + ) + self.__toResourceType(sub_coll) + sub_res_coll = self.__toResourceType(resources.keys()[i-1]) + if (v is None and self.__isCollection(link)): self.__extendSubCollection(sub_root_coll, sub_res_coll, url, rel, http_method, body_type, link, response_type, collectionsHolder) @@ -272,7 +275,8 @@ body_type, link, response_type, collectionsHolder, force_sub_resource=True) else: self.__extendSubResource(sub_root_coll, sub_res_coll, url, rel, http_method, - body_type, link, response_type, collectionsHolder) + body_type, link, response_type, collectionsHolder, + extend_only=(ln > i)) root_coll = StringUtils.toSingular(sub_root_coll) sub_coll = sub_res_coll diff --git a/src/ovirtsdk/infrastructure/brokers.py b/src/ovirtsdk/infrastructure/brokers.py index e4b503d..c3bae68 100644 --- a/src/ovirtsdk/infrastructure/brokers.py +++ b/src/ovirtsdk/infrastructure/brokers.py @@ -20,7 +20,7 @@ ############ GENERATED CODE ############ ######################################## -'''Generated at: 2013-03-04 13:43:57.387452''' +'''Generated at: 2013-03-04 15:02:46.897427''' from ovirtsdk.xml import params @@ -1384,7 +1384,7 @@ self.parentclass = datacentercluster self.superclass = glustervolume - self.glustervolumes = DataCenterClusterGlustervolumeGlustervolumes(self, context) + self.bricks = DataCenterClusterGlustervolumeBricks(self, context) def __new__(cls, datacentercluster, glustervolume, context): if glustervolume is None: return None @@ -1414,24 +1414,6 @@ {'{datacenter:id}' : self.parentclass.parentclass.get_id(), '{cluster:id}': self.parentclass.get_id(), '{glustervolume:id}': self.get_id()} - ), - headers={'Content-type':None} - ) - - def delete(self): - ''' - @return None: - ''' - - url = '/api/datacenters/{datacenter:id}/clusters/{cluster:id}/glustervolumes/{glustervolume:id}/bricks/{brick:id}' - - return self.__getProxy().delete( - url=UrlHelper.replace( - url, - {'{datacenter:id}' : self.parentclass.parentclass.parentclass.get_id(), - '{cluster:id}': self.parentclass.parentclass.get_id(), - '{glustervolume:id}': self.parentclass.get_id(), - '{brick:id}': self.get_id()} ), headers={'Content-type':None} ) @@ -1580,17 +1562,17 @@ return result -class DataCenterClusterGlustervolumeGlustervolume(params.GlusterVolume, Base): - def __init__(self, datacenterclusterglustervolume, glustervolume, context): +class DataCenterClusterGlustervolumeBrick(params.GlusterBrick, Base): + def __init__(self, datacenterclusterglustervolume, brick, context): Base.__init__(self, context) self.parentclass = datacenterclusterglustervolume - self.superclass = glustervolume + self.superclass = brick #SUB_COLLECTIONS - def __new__(cls, datacenterclusterglustervolume, glustervolume, context): - if glustervolume is None: return None + def __new__(cls, datacenterclusterglustervolume, brick, context): + if brick is None: return None obj = object.__new__(cls) - obj.__init__(datacenterclusterglustervolume, glustervolume, context) + obj.__init__(datacenterclusterglustervolume, brick, context) return obj def __getProxy(self): @@ -1645,7 +1627,7 @@ return result -class DataCenterClusterGlustervolumeGlustervolumes(Base): +class DataCenterClusterGlustervolumeBricks(Base): def __init__(self, datacenterclusterglustervolume , context): Base.__init__(self, context) @@ -1682,7 +1664,7 @@ headers={} ) - return DataCenterClusterGlustervolumeGlustervolume( + return DataCenterClusterGlustervolumeBrick( self.parentclass, result, self.context @@ -1714,7 +1696,7 @@ headers={} ) - return DataCenterClusterGlustervolumeGlustervolume( + return DataCenterClusterGlustervolumeBrick( self.parentclass, result, self.context @@ -1734,7 +1716,7 @@ headers={} ).get_brick() - return DataCenterClusterGlustervolumeGlustervolume( + return DataCenterClusterGlustervolumeBrick( self.parentclass, FilterHelper.getItem( FilterHelper.filter( @@ -1766,7 +1748,7 @@ ).get_brick() return ParseHelper.toSubCollection( - DataCenterClusterGlustervolumeGlustervolume, + DataCenterClusterGlustervolumeBrick, self.parentclass, FilterHelper.filter( result, @@ -2874,7 +2856,8 @@ self.parentclass = datacenterstoragedomain self.superclass = disk - self.disks = DataCenterStorageDomainDiskDisks(self, context) + self.statistics = DataCenterStorageDomainDiskStatistics(self, context) + self.permissions = DataCenterStorageDomainDiskPermissions(self, context) def __new__(cls, datacenterstoragedomain, disk, context): if disk is None: return None @@ -2914,35 +2897,17 @@ headers={"Correlation-Id":correlation_id,"Content-type":None} ) - def delete(self): - ''' - @return None: - ''' - - url = '/api/datacenters/{datacenter:id}/storagedomains/{storagedomain:id}/disks/{disk:id}/permissions/{permission:id}' - - return self.__getProxy().delete( - url=UrlHelper.replace( - url, - {'{datacenter:id}' : self.parentclass.parentclass.parentclass.get_id(), - '{storagedomain:id}': self.parentclass.parentclass.get_id(), - '{disk:id}': self.parentclass.get_id(), - '{permission:id}': self.get_id()} - ), - headers={'Content-type':None} - ) - -class DataCenterStorageDomainDiskDisk(params.Disk, Base): - def __init__(self, datacenterstoragedomaindisk, disk, context): +class DataCenterStorageDomainDiskPermission(params.Permission, Base): + def __init__(self, datacenterstoragedomaindisk, permission, context): Base.__init__(self, context) self.parentclass = datacenterstoragedomaindisk - self.superclass = disk + self.superclass = permission #SUB_COLLECTIONS - def __new__(cls, datacenterstoragedomaindisk, disk, context): - if disk is None: return None + def __new__(cls, datacenterstoragedomaindisk, permission, context): + if permission is None: return None obj = object.__new__(cls) - obj.__init__(datacenterstoragedomaindisk, disk, context) + obj.__init__(datacenterstoragedomaindisk, permission, context) return obj def __getProxy(self): @@ -2972,7 +2937,7 @@ headers={'Content-type':None} ) -class DataCenterStorageDomainDiskDisks(Base): +class DataCenterStorageDomainDiskPermissions(Base): def __init__(self, datacenterstoragedomaindisk , context): Base.__init__(self, context) @@ -3009,7 +2974,7 @@ headers={} ) - return DataCenterStorageDomainDiskDisk( + return DataCenterStorageDomainDiskPermission( self.parentclass, result, self.context @@ -3041,7 +3006,7 @@ headers={} ) - return DataCenterStorageDomainDiskDisk( + return DataCenterStorageDomainDiskPermission( self.parentclass, result, self.context @@ -3061,7 +3026,7 @@ headers={} ).get_permission() - return DataCenterStorageDomainDiskDisk( + return DataCenterStorageDomainDiskPermission( self.parentclass, FilterHelper.getItem( FilterHelper.filter( @@ -3093,7 +3058,7 @@ ).get_permission() return ParseHelper.toSubCollection( - DataCenterStorageDomainDiskDisk, + DataCenterStorageDomainDiskPermission, self.parentclass, FilterHelper.filter( result, @@ -3101,6 +3066,43 @@ ), context=self.context ) + +class DataCenterStorageDomainDiskStatistic(params.Statistic, Base): + def __init__(self, datacenterstoragedomaindisk, statistic, context): + Base.__init__(self, context) + self.parentclass = datacenterstoragedomaindisk + self.superclass = statistic + + #SUB_COLLECTIONS + def __new__(cls, datacenterstoragedomaindisk, statistic, context): + if statistic is None: return None + obj = object.__new__(cls) + obj.__init__(datacenterstoragedomaindisk, statistic, context) + return obj + + def __getProxy(self): + proxy = context.manager[self.context].get('proxy') + if proxy: + return proxy + #This may happen only if sdk was explicitly disconnected + #using .disconnect() method, but resource instance ref. is + #still available at client's code. + raise DisconnectedError + +class DataCenterStorageDomainDiskStatistics(Base): + + def __init__(self, datacenterstoragedomaindisk , context): + Base.__init__(self, context) + self.parentclass = datacenterstoragedomaindisk + + def __getProxy(self): + proxy = context.manager[self.context].get('proxy') + if proxy: + return proxy + #This may happen only if sdk was explicitly disconnected + #using .disconnect() method, but resource instance ref. is + #still available at client's code. + raise DisconnectedError def get(self, name=None, id=None): @@ -3128,7 +3130,7 @@ headers={} ) - return DataCenterStorageDomainDiskDisk( + return DataCenterStorageDomainDiskStatistic( self.parentclass, result, self.context @@ -3148,7 +3150,7 @@ headers={} ).get_statistic() - return DataCenterStorageDomainDiskDisk( + return DataCenterStorageDomainDiskStatistic( self.parentclass, FilterHelper.getItem( FilterHelper.filter( @@ -3180,7 +3182,7 @@ ).get_statistic() return ParseHelper.toSubCollection( - DataCenterStorageDomainDiskDisk, + DataCenterStorageDomainDiskStatistic, self.parentclass, FilterHelper.filter( result, -- To view, visit http://gerrit.ovirt.org/12673 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I61cfc092d7cde139949f31890e1446468b459434 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine-sdk Gerrit-Branch: master Gerrit-Owner: Michael Pasternak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
