mrmp/local.py
Marc Beninca 1db8c559a2 files
2023-01-28 21:19:16 +01:00

48 lines
1.4 KiB
Python

import datetime
import os
import architecture
import arguments
import distribution
import msys
import repository
class Local(repository.Repository):
def __init__(self):
super().__init__(arguments.directory)
self.temporary = arguments.temporary
self.load()
def load(self):
distro = os.path.join(
self.location, distribution.DISTRIBUTION)
d = {}
_, architectures, _ = next(os.walk(distro))
for arch in [a for a in architectures
if a in architecture.ARCHITECTURES.keys()]:
directory = os.path.join(distro, arch)
_, _, files = next(os.walk(directory))
archives = sorted([file for file in files
if file.endswith(msys.ARCHIVE)])
archive = archives[-1]
d[arch] = archive
self.archives = d
def get_files(self, path):
*_, files = next(os.walk(os.path.join(self.location, path)))
return files
def get_temporary(self):
return os.path.join(self.temporary,
datetime.datetime.now()
.strftime('%Y%m%d%H%M%S'))
def __str__(self):
lines = [
super().__str__(),
'Archives:',
]
for arch, archive in reversed(sorted(self.archives.items())):
lines.append(f'{arch}{archive}')
return os.linesep.join(lines)