summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorYuya Kusakabe <yuya.kusakabe@gmail.com>2018-05-15 10:34:14 +0900
committerYuya Kusakabe <yuya.kusakabe@gmail.com>2018-05-15 10:34:14 +0900
commit135fb07d959741dbe9a3a4e5e1919de0e7c5bc44 (patch)
tree1e96563a2cb2952d9fc7cc6581b5ae8c250f8980 /tools
parenteb08c9a2b690ca52c1ce5cc32eb5e62cc3344553 (diff)
downloadvyos-build-135fb07d959741dbe9a3a4e5e1919de0e7c5bc44.tar.gz
vyos-build-135fb07d959741dbe9a3a4e5e1919de0e7c5bc44.zip
Add tools/get_latest_iso.py
Diffstat (limited to 'tools')
-rwxr-xr-xtools/get_latest_iso.py31
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()