35
35
for p in os.listdir(sem_path):
36
36
full_path = os.path.join(sem_path, p)
37
37
if os.path.isfile(full_path):
38
canon_p = helpers.canon_sem_name(p)
40
new_path = os.path.join(sem_path, p)
38
(name, ext) = os.path.splitext(p)
39
canon_name = helpers.canon_sem_name(name)
40
if canon_name != name:
41
new_path = os.path.join(sem_path, canon_name + ext)
41
42
shutil.move(full_path, new_path)
47
def _migrate_legacy_sems(cloud, log):
48
sem_path = cloud.paths.get_ipath('sem')
50
'apt-update-upgrade': [
52
'package-update-upgrade-install',
55
sem_helper = helpers.FileSemaphores(sem_path)
56
for (mod_name, migrate_to) in touch_there.items():
57
possibles = [mod_name, helpers.canon_sem_name(mod_name)]
59
for p in os.listdir(sem_path):
60
(name, _ext) = os.path.splitext(p)
61
if name in possibles and os.path.isfile(p):
64
util.del_file(os.path.join(sem_path, p))
65
(_name, freq) = os.path.splitext(p)
67
log.debug("Migrating %s => %s with the same frequency",
69
with sem_helper.lock(m, freq):
46
73
def handle(name, cfg, cloud, log, _args):
47
74
do_migrate = util.get_cfg_option_str(cfg, "migrate", True)
48
75
if not util.translate_bool(do_migrate):