from . import host from .linker import Linker class Home: resource_name = 'home' def __init__(self, label, section): self.label = label or None self.parse_files(section.get('files', '')) def parse_files(self, text): self.files = [] lines = [s for s in text.splitlines() if s] for line in lines: parts = line.split(">", 2) if len(parts) == 1: pair = (parts[0].strip(), parts[0].strip()) else: pair = (parts[0].strip(), parts[1].strip()) self.files.append(pair) def __repr__(self): if self.label: return f'' return '' def run(self): linker = Linker(host.dotfiles_root, host.home) for pair in self.files: source_path = host.dotfiles_root / pair[0] target_path = host.home / pair[1] linker.link(source_path, target_path)