else:
return name+'s'
+ def singular(self):
+ return str(self)
+
+ def rest_name(self):
+ # These are things that either for historic reasons or due to incorrect naming,
+ # got called something different than the autogen thinks they should be
+ # called.
+ REST_FIXUP = {'controllernetworkses': 'controllernetworks',
+ 'controllerimageses': 'controllerimages',
+ 'controllersliceses': 'controllerslices',
+ 'controlleruserses': 'controllerusers',
+ 'sitedeploymentses': 'sitedeployments',
+ 'siteroles': 'site_roles',
+ 'sliceprivileges': 'slice_privileges',
+ 'sliceroles': 'slice_roles',
+ }
+ return REST_FIXUP.get(self.plural(), self.plural())
+
def camel(self):
name = str(self.model.__name__)
return name
cobj = copy.deepcopy(obj)
cobj.multi = True
cobj.plural_name = related_name
- #if (str(refobj)=='slice' and related_name=='networks'):
- # pdb.set_trace()
refobj.refs.append(cobj)
else:
obj.props.append(f.name)
related_name = f.related_query_name()
if related_model_name in self.keys():
- # pdb.set_trace()
+ #print "XXX1", obj, f, related_name, related_model_name
refobj = self[related_model_name]
cobj = copy.deepcopy(obj)
cobj.multi=True
refobj.refs.append(cobj)
-
+
+ # deal with upgradeFrom_rel_+
+ if (related_name.endswith("+")):
+ continue
+
if (related_name!='+' and related_name.lower()!=str(obj).lower()):
- cobj = copy.deepcopy(obj)
+ #print "XXX2", obj, f, related_name, related_model_name, refobj.plural_name
+ refobj = self[related_model_name]
+ cobj = copy.deepcopy(refobj)
cobj.multi = True
- cobj.plural_name = related_name
-
- #if (str(refobj)=='slice' and related_name=='networks'):
- # pdb.set_trace()
- refobj.refs.append(cobj)
- #if (related_name=='networks'):
- #pdb.set_trace()
- #print str(refobj)
+ obj.refs.append(cobj)