示例#1
0
 def convert_all_entities(self, obj, ouputFolder, x, FilesDone):
     entiyFileName = hdl.get_entity_file_name(x)
     if entiyFileName not in FilesDone:
         print_cnvt(
             str(gTemplateIndent) + '<entity_conversion name="' +
             type(x).__name__ + '">')
         gTemplateIndent.inc()
         hdl.prepare_for_conversion(x)
         hdl.reset_TemplateMissing(x)
         try:
             entity_content = hdl.get_enity_file_content(x)
         except Exception as inst:
             raise Exception([
                 "Error in entity Converion:\nEntityFileName: " +
                 entiyFileName
             ], x, inst)
         if entity_content and not (x.__hdl_converter__.MissingTemplate
                                    and not saveUnfinishedFiles()):
             file_set_content(ouputFolder + "/" + entiyFileName,
                              entity_content)
         FilesDone.append(entiyFileName)
         if x.__hdl_converter__.MissingTemplate:
             print_cnvt(str(gTemplateIndent) + '<status ="failed">')
         else:
             print_cnvt(str(gTemplateIndent) + '<status ="sucess">')
         gTemplateIndent.deinc()
         print_cnvt(str(gTemplateIndent) + "</entity_conversion>")
    def prepare_for_conversion(self,obj):
        primary = hdl.get_primary_object(obj)
        obj.__hdl_converter__ = primary.__hdl_converter__
        if not primary.__hdl_converter__.extractedTypes:
            primary.__hdl_converter__.extractedTypes += vc_helper.extract_components(primary)

        members = obj.getMember()
        for m in members:
            hdl.prepare_for_conversion(m["symbol"])
    def convert_all_impl(self, obj, ouputFolder, FilesDone):
        FilesDone.clear()
        for x in gHDL_objectList:
            hdl.prepare_for_conversion(x)

        for x in gHDL_objectList:
            
            if hdl.IsSucessfullConverted(x):
                continue
            
            self.convert_all_packages(obj, ouputFolder,x,FilesDone)

            self.convert_all_entities(obj, ouputFolder,x,FilesDone)
            x.__hdl_converter__.IsConverted = True
    def convert_all_packages(self, obj, ouputFolder,x,FilesDone):
        if x.__abstract_type_info__.vetoHDLConversion:
            return 

        packetName =  hdl.get_packet_file_name(x)
        if packetName not in FilesDone:
            print_cnvt(str(gTemplateIndent)+ '<package_conversion name="'+type(x).__name__ +'">')
            gTemplateIndent.inc()
            hdl.prepare_for_conversion(x)
            hdl.reset_TemplateMissing(x)
            packet = hdl.get_packet_file_content(x)
            if packet and not (x.__hdl_converter__.MissingTemplate and not saveUnfinishedFiles()):
                file_set_content(ouputFolder+"/" +packetName,packet)
            FilesDone.append(packetName)
            if x.__hdl_converter__.MissingTemplate:
                print_cnvt(str(gTemplateIndent)+'<status ="failed">')
            else:
                print_cnvt(str(gTemplateIndent)+'<status ="sucess">')
            gTemplateIndent.deinc()
            print_cnvt(str(gTemplateIndent)+ '</package_conversion>')
 def prepare_for_conversion(self,obj):
     for m in obj.__dict__:
         if not issubclass(type(m),argg_hdl_base0):
             continue 
         hdl.prepare_for_conversion(m)