mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-29 09:24:33 +00:00
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
import subprocess
|
|
import sys
|
|
import json
|
|
import datetime
|
|
import urllib.parse
|
|
import sys
|
|
|
|
def main():
|
|
files_by_date = {}
|
|
bucket = sys.argv[1]
|
|
days_to_keep = int(sys.argv[2])
|
|
print(f"Looking for binaries to delete older than {days_to_keep} days")
|
|
|
|
files_lines = execute_cli(f"b2 ls --long --versions b2://{bucket}/nightly/").split("\n")
|
|
for x in files_lines:
|
|
parts = [y for y in x.split(' ') if y]
|
|
|
|
if parts and parts[0]:
|
|
date = datetime.datetime.strptime(parts[2], '%Y-%m-%d').replace(hour=0, minute=0, second=0, microsecond=0)
|
|
now = datetime.datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0)
|
|
delta = now - date
|
|
|
|
if delta.days > days_to_keep:
|
|
print(f'Deleting {parts[5]}')
|
|
execute_cli(f'b2 rm {parts[0]}')
|
|
|
|
|
|
def execute_cli(command):
|
|
sb = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
|
|
return sb.stdout.read().decode("utf-8");
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main()) |