コード例 #1
0
def load_map_and_media_as_atlas_objects(makefile):
    prefix, file = os.path.split(makefile)
    if prefix: prefix = prefix + os.sep
    sources = read_file(makefile)[0]

    all_objects = combine_files(sources.world_sources, prefix)
    #CHEAT: does only this special case ...
    if hasattr(sources, "world_sources_operations") and sources.world_sources_operations:
        file_as_operations(all_objects, sources.world_sources_operations[0][5:])
    
    all_media_info_dict = combine_files(sources.media_sources, prefix)

    return all_objects, all_media_info_dict

    base_definitions = read_file_as_dict("../../../protocols/atlas/spec/atlas.atlas")
    class_definitions = read_file_as_dict("../examples/meadow_class.atlas")
    objects = read_file_as_dict("../examples/meadow.atlas")
    all_objects = {}
    all_objects.update(base_definitions)
    all_objects.update(class_definitions)
    all_objects.update(objects)
    fill_attributes(list(all_objects.values()))
    
    media_info_dict = read_file_as_dict("../examples/meadow_media.atlas")
    all_media_info_dict = {}
    all_media_info_dict.update(base_definitions)
    all_media_info_dict.update(media_info_dict)
    fill_attributes(list(all_media_info_dict.values()))
    return all_objects, all_media_info_dict
コード例 #2
0
ファイル: map_canvas.py プロジェクト: worldforge/atlas-cpp
def load_map_and_media_as_atlas_objects(makefile):
    prefix, file = os.path.split(makefile)
    if prefix: prefix = prefix + os.sep
    sources = read_file(makefile)[0]

    all_objects = combine_files(sources.world_sources, prefix)
    #CHEAT: does only this special case ...
    if hasattr(sources, "world_sources_operations") and sources.world_sources_operations:
        file_as_operations(all_objects, sources.world_sources_operations[0][5:])
    
    all_media_info_dict = combine_files(sources.media_sources, prefix)

    return all_objects, all_media_info_dict

    base_definitions = read_file_as_dict("../../../protocols/atlas/spec/atlas.atlas")
    class_definitions = read_file_as_dict("../examples/meadow_class.atlas")
    objects = read_file_as_dict("../examples/meadow.atlas")
    all_objects = {}
    all_objects.update(base_definitions)
    all_objects.update(class_definitions)
    all_objects.update(objects)
    fill_attributes(all_objects.values())
    
    media_info_dict = read_file_as_dict("../examples/meadow_media.atlas")
    all_media_info_dict = {}
    all_media_info_dict.update(base_definitions)
    all_media_info_dict.update(media_info_dict)
    fill_attributes(all_media_info_dict.values())
    return all_objects, all_media_info_dict
コード例 #3
0
def combine_files(files, prefix=""):
    dict = {}
    for file in files:
        if file[:5]=="file:":
            file = file[5:]
        else:
            raise_(ValueError, "uri type not supported: " + file)
        print(file)
        dict.update(read_file_as_dict(prefix + file))
    fill_attributes(list(dict.values()))
    return dict
コード例 #4
0
ファイル: map_canvas.py プロジェクト: worldforge/atlas-cpp
def combine_files(files, prefix=""):
    dict = {}
    for file in files:
        if file[:5]=="file:":
            file = file[5:]
        else:
            raise ValueError, "uri type not supported: " + file
        print file
        dict.update(read_file_as_dict(prefix + file))
    fill_attributes(dict.values())
    return dict
コード例 #5
0
ファイル: gen_html.py プロジェクト: bregma/atlas-cpp
            desc = obj.description
            if desc: 
                if not obj.has_key('description'):
                    desc='-"-'
            spec=obj.specification
            if spec=="example":
                desc='<font color="green">' + desc + '</font>'
            self.out(indent+'  <li><a href="#%s">%s</a>: %s\n' % (id,id,desc))
            children = obj.get_plain_attribute("children")
            if children:
                self.output_objindex(children, indent+'    ')
        self.out(indent+"</ul>\n")
    def output_objtree(self, id_list):
        for id in id_list:
            obj=self.objects.get(id)
            if not obj:
                raise SyntaxError,"id "+id+" not defined!"
            self.output_obj(obj)
            children = obj.get_plain_attribute("children")
            if children:
                self.output_objtree(children)


if __name__=="__main__":
    filelist=["root","entity","operation","type","interface"]
    objects = read_file_as_dict("atlas.atlas")
    find_parents_children_objects(objects)
    p=atlas_spec_parser(objects)
    for file in filelist:
        p.parse(file+"_in.html",file+".html")
コード例 #6
0
                if 'description' not in obj:
                    desc = '-"-'
            spec = obj.specification
            if spec == "example":
                desc = '<font color="green">' + desc + '</font>'
            self.out(indent + '  <li><a href="#%s">%s</a>: %s\n' %
                     (id, id, desc))
            children = obj.get_plain_attribute("children")
            if children:
                self.output_objindex(children, indent + '    ')
        self.out(indent + "</ul>\n")

    def output_objtree(self, id_list):
        for id in id_list:
            obj = self.objects.get(id)
            if not obj:
                raise_(SyntaxError, "id " + id + " not defined!")
            self.output_obj(obj)
            children = obj.get_plain_attribute("children")
            if children:
                self.output_objtree(children)


if __name__ == "__main__":
    filelist = ["root", "entity", "operation", "type"]
    objects = read_file_as_dict("atlas.atlas")
    find_parents_children_objects(objects)
    p = atlas_spec_parser(objects)
    for file in filelist:
        p.parse(file + "_in.html", file + ".html")