summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2022-08-14 16:53:44 +0100
committerDaniil Baturin <daniil@baturin.org>2022-08-14 16:53:44 +0100
commit197323a832082991aec0c287ee6a5b1620f6067c (patch)
tree56389958b933f868da9100dc096570dcc89226de /scripts
parent4675abe6c47f69f05441db596a79cbada1137135 (diff)
downloadcommunity.vyos.net-197323a832082991aec0c287ee6a5b1620f6067c.tar.gz
community.vyos.net-197323a832082991aec0c287ee6a5b1620f6067c.zip
Remove snapshots page
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/list-snapshots.py80
1 files changed, 0 insertions, 80 deletions
diff --git a/scripts/list-snapshots.py b/scripts/list-snapshots.py
deleted file mode 100755
index bea96fa..0000000
--- a/scripts/list-snapshots.py
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env python3
-
-# Requires the following environment variables:
-# SNAPSHOTS_BUCKET
-# AWS_ACCESS_KEY_ID
-# AWS_SECRET_ACCESS_KEY
-
-import os
-import re
-import json
-
-import boto3
-
-import jinja2
-
-from functools import cmp_to_key
-
-bucket = os.getenv("SNAPSHOTS_BUCKET")
-
-def make_link(f):
- f = re.sub(r'\s+', '+', f)
- return "https://s3-us.vyos.io/{0}".format(f)
-
-def natural_sort(iterable, reverse=False):
- import re
- from jinja2.runtime import Undefined
-
- if isinstance(iterable, Undefined) or iterable is None:
- return list()
-
- def convert(text):
- return int(text) if text.isdigit() else text.lower()
- def alphanum_key(key):
- return [convert(c) for c in re.split('([0-9]+)', str(key))]
-
- return sorted(iterable, key=alphanum_key, reverse=reverse)
-
-
-s3 = boto3.client('s3')
-object_listing = s3.list_objects_v2(Bucket=bucket, Prefix='snapshot')
-data = object_listing['Contents']
-
-files = []
-for f in data:
- files.append(f['Key'])
-
-snapshot_names = set(map(lambda s: re.sub(r'snapshot/(.*?)/.*', r'\1', s), files))
-
-snapshots = []
-
-
-for name in snapshot_names:
- snapshot = {}
- snapshot['name'] = name
- snapshot['files'] = list(filter(lambda s: re.search(name, s), files))
-
- snapshot_files = list(filter(lambda s: re.search(name, s), files))
- snapshot_files = list(map(lambda f: {'name': os.path.basename(f).strip(), 'platform': os.path.basename(os.path.dirname(f)), 'link': make_link(f)}, snapshot_files))
-
- # S3 listing sometimes returns dir names among file names... filter those out.
- snapshot_files = list(filter(lambda f: f['name'] != "", snapshot_files))
-
- snapshot['files'] = snapshot_files
-
- snapshots.append(snapshot)
-
-snapshots = natural_sort(snapshots, reverse=True)
-
-tmpl = jinja2.Template("""
-{% for s in snapshots %}
- <h3 id="{{s.name}}"><a href="#{{s.name}}">#</a> {{s.name}}</h3>
- <ul>
- {% for f in s.files %}
- <li><a href="{{f.link}}">{{f.name}} ({{f.platform}})</a></li>
- {% endfor %}
- </ul>
-{% endfor %}
-""")
-
-print(tmpl.render(snapshots=snapshots))