sync commercialhaskell/stackage-snapshots (solve #50)

This commit is contained in:
z4yx 2020-06-25 09:10:13 +08:00
parent 924403f204
commit 61482f8ea7

View File

@ -24,7 +24,8 @@ class StackageSession(object):
print('{} exists, skipping'.format(file_path), flush=True)
else:
args = [
'aria2c', url, '--dir={}'.format(dir_path), '--out={}.tmp'.format(url.split('/')[-1]),
'aria2c', url, '--dir={}'.format(
dir_path), '--out={}.tmp'.format(url.split('/')[-1]),
'--file-allocation=none', '--quiet=true'
]
if sha1:
@ -82,7 +83,19 @@ class StackageSession(object):
print('Loaded snapshots.json', flush=True)
def stackage_snapshots_git_sync():
base_path = pathlib.Path(os.environ['TUNASYNC_WORKING_DIR'])
working_dir = base_path / "stackage-snapshots"
if working_dir.is_dir():
subprocess.run(
['git', '-C', working_dir.as_posix(), 'pull'], check=True)
else:
subprocess.run(['git', '-C', base_path.as_posix(), 'clone', '--depth', '1',
'https://github.com/commercialhaskell/stackage-snapshots.git'], check=True)
if __name__ == '__main__':
s = StackageSession()
stackage_snapshots_git_sync()
s.load_stackage_snapshots()
s.load_stack_setup()