def GetAttributes(text): from settings import AttributeDefinition,FinalDefinition from settings import PrivateDefinition,PublicDefinition from settings import ProtectedDefinition,StaticDefinition text = CleanUnusedLogicalBlocks(text) Attributes = [] for attributedef in AttributeDefinition: lines = text.split(attributedef[1]) for line in lines: type = "" tmp_line = line.replace("\n","").replace(" "," ") if tmp_line.replace(" ","") =="": break for attribute in tmp_line.split(','): a = Attribute() atr = attribute if atr.find("=")>-1: a.Value=atr[atr.find("=")+1:] atr = atr[:atr.find("=")] for word in atr.split(): if (word==PrivateDefinition.replace(" ","")): a.Private=True atr= atr.replace(word,"") elif (word==PublicDefinition.replace(" ","")): a.Public =True atr= atr.replace(word,"") elif (word==ProtectedDefinition.replace(" ","")): a.Protected=True atr= atr.replace(word,"") elif (word==FinalDefinition.replace(" ","")): a.Final = True atr=atr.replace(word,"") elif (word==StaticDefinition.replace(" ","")): a.Static=True atr= atr.replace(word,"") elif (word in DataTypes): type=word atr= atr.replace(word,"") if len(atr.split())==1: a.Name=atr.split()[0] elif len(atr.split())==2: type = atr.split()[0] a.Name=atr.split()[1] else: raise ValueError("nerozpoznane paramtre v nazve atributu v pocte "+str(len(atr.split()))+" text: ",atr) a.Type = type Attributes.append(a) text = text.replace(line,"") return Attributes,text
def ConvertParameterToAttribute(self,param): atr = Attribute() atr.Name=param.Name atr.Type = param.Type self.Attributes.append(atr)