Example #1
0
def explore(resources):
    """
    Return the objects inside the Blender files present in 'resources'.
    """

    updates = {r: path.getmtime(r) for r in resources if path.exists(r)}
    query = BlenderModel.get_models_from_paths(resources)

    resources_old = set(model.path for model in query
                        if model.last_update == updates[model.path])
    resources_new = set(resources) - resources_old
    models_old = [(model.name, model.path) for model in query]

    if resources_new:
        command = EXPLORE_COMMAND.format(EXPLORE_SCRIPT,
                                         " ".join(resources_new))
        out = subprocess.run(command,
                             shell=True,
                             stdout=subprocess.PIPE,
                             universal_newlines=True)

        p = re.compile(r"^#{3}\s(.*)\s(/.*)\s\${3}", re.M)
        models_new = p.findall(out.stdout)
    else:
        models_new = []

    return models_old + models_new
Example #2
0
def explore(resources):
    """
    Return the objects inside the Blender files present in 'resources'.
    """

    updates = {r: path.getmtime(r) for r in resources if path.exists(r)}
    query = BlenderModel.get_models_from_paths(resources)

    resources_old = set(model.path for model in query
                                   if model.last_update == updates[model.path])
    resources_new = set(resources) - resources_old
    models_old = [(model.name, model.path) for model in query]

    if resources_new:
        command = EXPLORE_COMMAND.format(EXPLORE_SCRIPT, " ".join(resources_new))
        out = subprocess.run(command, shell=True, stdout=subprocess.PIPE,
                             universal_newlines=True)

        p = re.compile(r"^#{3}\s(.*)\s(/.*)\s\${3}", re.M)
        models_new = p.findall(out.stdout)
    else:
        models_new = []

    return models_old + models_new