Add tools/get_latest_iso.py

This commit is contained in:
Yuya Kusakabe 2018-05-15 10:34:14 +09:00
parent eb08c9a2b6
commit 135fb07d95
No known key found for this signature in database
GPG Key ID: 2AD7D1752A5D1B4D

31
tools/get_latest_iso.py Executable file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env python3
import os
import sys
from lxml import html
from urllib.parse import unquote
import requests
BASE_URL = 'https://downloads.vyos.io/'
PAGE_URL = BASE_URL+'?dir=rolling/current/amd64'
def download():
page = requests.get(PAGE_URL)
tree = html.fromstring(page.content)
path = '//*[@id="directory-listing"]/li/a[1]/@href'
isos = [x for x in tree.xpath(path) if os.path.splitext(x)[1] == '.iso']
latest_iso_url = os.path.join(BASE_URL, isos[-1])
filename = unquote(os.path.basename(latest_iso_url))
print(filename)
if os.path.exists(filename):
print("{} already exists".format(filename))
sys.exit(0)
r = requests.get(latest_iso_url)
with open(filename, 'wb') as fd:
for chunk in r.iter_content(chunk_size=128):
fd.write(chunk)
if __name__ == '__main__':
download()