Esempio n. 1
0
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
Esempio n. 2
0
 def ConvertParameterToAttribute(self,param):
     atr = Attribute()
     atr.Name=param.Name
     atr.Type = param.Type
     self.Attributes.append(atr)