Ejemplo n.º 1
0
 def create_from_absolute_pathstr(base, file):
     s_absolutepath, filename, ext = utils.split_fullpath(file)
     _relative = utils.extract_relative(base, s_absolutepath)
     
     relative = []
     for d in os.path.split(_relative):
         if d != "" :
             relative.append(d)
     
     return Script(filename, relative)
Ejemplo n.º 2
0
    def create_from_absolute_pathstr(base, file):
        s_absolutepath, filename, ext = utils.split_fullpath(file)
        _relative = utils.extract_relative(base, s_absolutepath)

        relative = []
        for d in os.path.split(_relative):
            if d != "":
                relative.append(d)

        return Script(filename, relative)
Ejemplo n.º 3
0
def load_xml(filename):
    
    
    import xml.etree.ElementTree as et

    project = Project()    
    path,name, ext = utils.split_fullpath(filename)
    
    project.absolutepath = path
    
    e = et.parse(filename)    
    root = e.getroot()
    it_project = root.getchildren()
    
    # Project Name
    if it_project[0].tag == "Name":
        project.name = it_project[0].text
    else :
        raise KeyError("No project name")
    # Script pool
    if it_project[1].tag == "Scripts":
        it_scripts = it_project[1].getchildren()
        for it_script in it_scripts:            
            it_script = it_script.getchildren()
            name = it_script[0].text
            path = it_script[1].text
            if path is None :
                path_lst = list()
            else:
                path_lst = path.split(XML_PATH_SEP)
            project.add_script_in_pool(Script(name, path_lst))    
    else :
        raise KeyError("No project name")   
    
    for it_cam in it_project[2:]:
        if it_cam.tag == "Campaign":
            it_cam = it_cam.getchildren()
            campaign = it_cam[0].text
            project.add_campaign(campaign)
            for it_script in it_cam[1:]:
                if it_script.tag == "Script":
                    it_script = it_script.getchildren()
                    name = it_script[0].text
                    path = it_script[1].text
                    if path is None :
                        path_lst = list()
                    else:
                        path_lst = path.split(XML_PATH_SEP)
                    project.add_script_in_campaign(campaign, Script(name, path_lst))
        else :
            raise KeyError("No campaign name")
        
    return project
Ejemplo n.º 4
0
def load_xml(filename):

    import xml.etree.ElementTree as et

    project = Project()
    path, name, ext = utils.split_fullpath(filename)

    project.absolutepath = path

    e = et.parse(filename)
    root = e.getroot()
    it_project = root.getchildren()

    # Project Name
    if it_project[0].tag == "Name":
        project.name = it_project[0].text
    else:
        raise KeyError("No project name")
    # Script pool
    if it_project[1].tag == "Scripts":
        it_scripts = it_project[1].getchildren()
        for it_script in it_scripts:
            it_script = it_script.getchildren()
            name = it_script[0].text
            path = it_script[1].text
            if path is None:
                path_lst = list()
            else:
                path_lst = path.split(XML_PATH_SEP)
            project.add_script_in_pool(Script(name, path_lst))
    else:
        raise KeyError("No project name")

    for it_cam in it_project[2:]:
        if it_cam.tag == "Campaign":
            it_cam = it_cam.getchildren()
            campaign = it_cam[0].text
            project.add_campaign(campaign)
            for it_script in it_cam[1:]:
                if it_script.tag == "Script":
                    it_script = it_script.getchildren()
                    name = it_script[0].text
                    path = it_script[1].text
                    if path is None:
                        path_lst = list()
                    else:
                        path_lst = path.split(XML_PATH_SEP)
                    project.add_script_in_campaign(campaign,
                                                   Script(name, path_lst))
        else:
            raise KeyError("No campaign name")

    return project
Ejemplo n.º 5
0
def load_from_xml(filename):
    import xml.dom.minidom

    project = Project()
    path, name, ext = utils.split_fullpath(filename)

    project.absolutepath = path

    try:
        dom1 = xml.dom.minidom.parse(filename)
    except IOError:
        raise

    try:
        eltProject = dom1.getElementsByTagName("Project")

        project.name = _get_one_tag(eltProject[0], "Name")

        eltScript = eltProject[0].getElementsByTagName(
            "Scripts")[0].getElementsByTagName("Script")
        for script in eltScript:
            name = _get_one_tag(script, "Name")
            path = _get_one_tag(script, "Path")
            path_lst = path.split(XML_PATH_SEP)
            project.add_script_in_pool(Script(name, path_lst))

        eltCampaign = eltProject[0].getElementsByTagName("Campaign")
        for campaign in eltCampaign:
            campaignname = _get_one_tag(campaign, "Name")
            project.add_campaign(campaignname)
            eltScript = campaign.getElementsByTagName("Script")
            for script in eltScript:
                name = _get_one_tag(script, "Name")
                path = _get_one_tag(script, "Path")
                path_lst = path.split(XML_PATH_SEP)
                project.add_script_in_campaign(campaignname,
                                               (Script(name, path_lst)))

    except (xml.dom.DOMException, IndexError):
        raise

    dom1.unlink()

    project.sort()
    return project
Ejemplo n.º 6
0
def load_from_xml(filename):
    import xml.dom.minidom
    
    project = Project()    
    path,name, ext = utils.split_fullpath(filename)
    
    project.absolutepath = path

    try:
        dom1 = xml.dom.minidom.parse(filename)           
    except IOError :
        raise
        
    try:
        eltProject = dom1.getElementsByTagName("Project")   

        project.name = _get_one_tag(eltProject[0], "Name")
    
        eltScript =  eltProject[0].getElementsByTagName("Scripts")[0].getElementsByTagName("Script")
        for script in eltScript:
            name = _get_one_tag(script, "Name")
            path = _get_one_tag(script, "Path") 
            path_lst = path.split(XML_PATH_SEP)
            project.add_script_in_pool(Script(name, path_lst))
                       
        eltCampaign =  eltProject[0].getElementsByTagName("Campaign")
        for campaign in eltCampaign:
            campaignname = _get_one_tag(campaign, "Name")
            project.add_campaign(campaignname)
            eltScript =  campaign.getElementsByTagName("Script")
            for script in eltScript:
                name = _get_one_tag(script, "Name")
                path = _get_one_tag(script, "Path") 
                path_lst = path.split(XML_PATH_SEP)
                project.add_script_in_campaign(campaignname, (Script(name, path_lst)))
                    
    except (xml.dom.DOMException, IndexError):
        raise    
    
    dom1.unlink()
    
    project.sort()
    return project