mirror of https://github.com/kianby/dotfiles
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
Cheetah
58 lines
1.4 KiB
Cheetah
2 years ago
|
#!/usr/bin/python3
|
||
|
# -*- coding: UTF-8 -*-
|
||
|
|
||
|
import os
|
||
|
from shutil import copy2
|
||
|
|
||
|
DEPLOY_DIRECTORY = "{{ .deploydir }}"
|
||
|
|
||
|
|
||
|
def get_file_weight(filename):
|
||
|
if filename.endswith(".ear"):
|
||
|
return 4
|
||
|
elif filename.endswith(".war"):
|
||
|
return 3
|
||
|
elif filename.endswith(".zip"):
|
||
|
return 2
|
||
|
elif filename.endswith(".jar"):
|
||
|
return 1
|
||
|
else:
|
||
|
return 0
|
||
|
|
||
|
|
||
|
def find_targets(path):
|
||
|
dest_path = path + "/target"
|
||
|
targets = []
|
||
|
if os.path.isdir(dest_path):
|
||
|
with os.scandir(dest_path) as it:
|
||
|
for entry in it:
|
||
|
weight = get_file_weight(entry.name)
|
||
|
if entry.is_file() and weight:
|
||
|
target = (entry.path, weight)
|
||
|
targets.append(target)
|
||
|
return targets
|
||
|
|
||
|
|
||
|
def find_recursive_targets(path):
|
||
|
targets = []
|
||
|
with os.scandir(path) as it:
|
||
|
for entry in it:
|
||
|
if not entry.name.startswith(".") and entry.is_dir():
|
||
|
targets = targets + find_targets(entry.path)
|
||
|
targets = targets + find_targets(path)
|
||
|
return targets
|
||
|
|
||
|
|
||
|
def process(path):
|
||
|
candidates = sorted(find_recursive_targets(path), key=lambda target: target[1], reverse=True)
|
||
|
if candidates:
|
||
|
filename, _ = candidates[0]
|
||
|
print("copie " + filename) # + ' vers ' + DEPLOY_DIRECTORY)
|
||
|
copy2(filename, DEPLOY_DIRECTORY)
|
||
|
else:
|
||
|
print("impossible de déterminer l'archive à copier")
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
process(".")
|