diff options
author | Daniil Baturin <daniil@baturin.org> | 2018-06-23 04:37:36 +0200 |
---|---|---|
committer | Daniil Baturin <daniil@baturin.org> | 2018-06-23 04:37:36 +0200 |
commit | 9113afff3a538a6e9a7f788189028778aa75fe1f (patch) | |
tree | 644be7e1698812eec85adaa6884643f2a775b7e6 /tools/get_latest_iso.py | |
parent | 2268a65ba8edf92400ea185a36e784365de2e853 (diff) | |
parent | 85bc557f4c458c08b096abfd5100cc324a2a2ee0 (diff) | |
download | vyos-build-9113afff3a538a6e9a7f788189028778aa75fe1f.tar.gz vyos-build-9113afff3a538a6e9a7f788189028778aa75fe1f.zip |
Merge branch 'current'
Diffstat (limited to 'tools/get_latest_iso.py')
-rwxr-xr-x | tools/get_latest_iso.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/get_latest_iso.py b/tools/get_latest_iso.py new file mode 100755 index 00000000..4a2ea9a8 --- /dev/null +++ b/tools/get_latest_iso.py @@ -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() |