diff options
author | Yuya Kusakabe <yuya.kusakabe@gmail.com> | 2018-05-15 10:34:14 +0900 |
---|---|---|
committer | Yuya Kusakabe <yuya.kusakabe@gmail.com> | 2018-05-15 10:34:14 +0900 |
commit | 135fb07d959741dbe9a3a4e5e1919de0e7c5bc44 (patch) | |
tree | 1e96563a2cb2952d9fc7cc6581b5ae8c250f8980 /tools | |
parent | eb08c9a2b690ca52c1ce5cc32eb5e62cc3344553 (diff) | |
download | vyos-build-135fb07d959741dbe9a3a4e5e1919de0e7c5bc44.tar.gz vyos-build-135fb07d959741dbe9a3a4e5e1919de0e7c5bc44.zip |
Add tools/get_latest_iso.py
Diffstat (limited to 'tools')
-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() |