diff --git a/repository.py b/repository.py index 6950843..20c11f8 100644 --- a/repository.py +++ b/repository.py @@ -2,6 +2,8 @@ import arguments import datetime import os +import remote + class Repository: def __init__(self, args): @@ -10,11 +12,30 @@ class Repository: self.tmp = os.path.join(self.temporary, datetime.datetime.now() .strftime('%Y%m%d%H%M%S')) + self.load() + + def load(self): + distribution = os.path.join( + self.directory, remote.DISTRIBUTION) + d = {} + _, architectures, _ = next(os.walk(distribution)) + for architecture in [a for a in architectures + if a in remote.ARCHITECTURES]: + directory = os.path.join(distribution, architecture) + _, _, files = next(os.walk(directory)) + archives = sorted([file for file in files + if file.endswith(remote.ARCHIVE)]) + archive = archives[-1] + d[architecture] = archive + self.archives = d def __str__(self): lines = [ f'Directory: {self.directory}', f' → {os.path.realpath(self.directory)}', - f'Temporary: {self.tmp}', + f'Archives:', ] + for architecture, archive in reversed(sorted(self.archives.items())): + lines.append(f'{architecture} → {archive}') + lines.append(f'Temporary: {self.tmp}') return os.linesep.join(lines)