def add_LeadingLowerProperties ( cls ): new_props = [] existing_names = [] for prop in cls.properties: existing_names.append( prop.name) for prop in cls.properties: name = prop.name[0].lower() + prop.name[1:] if name not in existing_names: # lets make sure it's different existing_names.append ( name ) new_props.append( property_t( name, prop.fget, prop.fset, prop.doc, prop.is_static ) ) cls.properties.extend( new_props )
def create_read_only_property( self, fget ): found = self.find_out_ro_prefixes( fget.name ) # print "Prop Check", fget.name, ' ', if found in ( None, '' ): # print "NO" return None # print "YES" ## Now we need to look for overlapping function declarations pure_names = [] pure_names.append( fget.name[len( found ):].lower()) funcs = self.class_accessors( fget.parent )[1] funcs.extend( self.inherited_accessors( fget.parent )[1] ) for f in funcs: if f.name.lower() in pure_names: # print"Overloaded Read Only Property", fget.name, f.name return None return decl_wrappers.property_t( self.find_out_property_name( fget, found ), fget )
def create_property( self, fget, fset ): # print "**** IN Create Property" if not self.check_type_compatibility( fget, fset ): return None found = self.find_out_prefixes( fget.name, fset.name ) if not found: return None ## Now we need to look for overlapping function declarations pure_names = [] pure_names.append( fget.name[len( found[0] ):].lower()) pure_names.append( fset.name[len( found[1] ):].lower()) funcs = self.class_accessors( fget.parent )[1] funcs.extend( self.inherited_accessors( fget.parent )[1] ) for f in funcs: if f.name.lower() in pure_names: # print"Overloaded Property", fget.name, fset.name, f.name return None return decl_wrappers.property_t( self.find_out_property_name( fget, found[0] ), fget, fset )