def init(path=None):
"""Creates an empty uj project. If possible and not existing, it initializes a git repository."""
# Initialize current directory if no arguments where given.
target_directory = path or "./"
# Walk through empty source directory and copy any non existing files.
for (dir_path, dir_names, file_names) in os.walk(empty_project_dir):
# Get relative path to source root.
rel_path = os.path.relpath(dir_path, empty_project_dir)
# Get path to current target directory
target_path = os.path.normpath(os.path.join(target_directory, rel_path))
# Create target directory if necessary.
if not os.path.isdir(target_path):
os.mkdir(target_path)
# Create file id necessary.
for file_name in file_names:
if not os.path.exists(os.path.join(target_path, file_name)):
copyfile(os.path.join(dir_path, file_name), os.path.join(target_path, file_name))
# If it's copying a ujml file. Fill is the version number.
if file_name.endswith(".ujml"):
with open(os.path.join(target_path, file_name), "r") as f:
content = f.read()
with open(os.path.join(target_path, file_name), "w") as f:
f.write(content.format(version=uj_version))
# If possible make sure it's a git repository.
if git_available:
try:
Repo(target_directory)
except InvalidGitRepositoryError:
Repo.init(target_directory)
评论列表
文章目录