mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
32 lines
867 B
Python
Executable File
32 lines
867 B
Python
Executable File
#!/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()
|