#
# Copyright 2008 Develer S.r.l. (http://www.develer.com/)
#
-# $Id$
#
# Author: Lorenzo Berni <duplo@develer.com>
#
-import os
+import os, sys
import const
if not path.endswith(os.sep):
path += os.sep
file_dict = {}
- for root, dirs, files in os.walk(path):
+ # also follow all symlinks under POSIX OSes
+ if os.name == 'posix' and sys.version_info >= (2, 6):
+ file_list = os.walk(path, followlinks=True)
+ else:
+ file_list = os.walk(path)
+ for root, dirs, files in file_list:
if root.find("svn") == -1:
file_dict[root.replace(path, "")] = {"dirs": [], "files": []}
for dir in dirs:
# TODO: place the directory name in a constant file.
- if dir.find("svn") == -1 and dir != "images" and dir != "obj":
+ if dir.find("svn") == -1 and dir != "images" and dir != "obj" and dir != "doc":
file_dict[root.replace(path, "")]["dirs"].append(dir)
for file in files:
if file.endswith(const.EXTENSION_FILTER) and file != "buildrev.h":
"""
Returns the string rapresenting the codelite project.
"""
- template = open("cltemplates/bertos.project", "r").read()
+ template = open(os.path.join(const.DATA_DIR, "cltemplates/bertos.project"), "r").read()
filelist = "\n".join(clFiles(findSources(project_info.info("PROJECT_PATH")), ""))
debugger_path = project_info.info("TOOLCHAIN")["path"].replace("gcc", "gdb")
init_script = project_info.info("CPU_INFOS")["GDB_INIT_SCRIPT"]
- while template.find("$filelist") != -1:
- template = template.replace("$filelist", filelist)
+ template = template.replace("$filelist", filelist)
project_name = os.path.basename(project_info.info("PROJECT_PATH"))
- while template.find("$project") != -1:
- template = template.replace("$project", project_name)
- while template.find("$debuggerpath") != -1:
- template = template.replace("$debuggerpath", debugger_path)
- while template.find("$initscript") != -1:
- template = template.replace("$initscript", init_script)
+ template = template.replace("$project", project_name)
+ template = template.replace("$debuggerpath", debugger_path)
+ template = template.replace("$initscript", init_script)
return template
def codeliteWorkspaceGenerator(project_info):
"""
Returns the string rapresentig the codelite workspace.
"""
- template = open("cltemplates/bertos.workspace", "r").read()
+ template = open(os.path.join(const.DATA_DIR, "cltemplates/bertos.workspace"), "r").read()
project_name = os.path.basename(project_info.info("PROJECT_PATH"))
- while template.find("$project") != -1:
- template = template.replace("$project", project_name)
+ template = template.replace("$project", project_name)
return template