From 31d30a82b39172bb80c8b2105d58080af4f239fe Mon Sep 17 00:00:00 2001 From: jeanrhum Date: Fri, 12 Mar 2021 18:48:51 +0100 Subject: [PATCH 1/4] Update mirror_list.py Add a mirror path paramater to class Mirror --- app/mirror_list.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/mirror_list.py b/app/mirror_list.py index aed081d..fa16d2c 100644 --- a/app/mirror_list.py +++ b/app/mirror_list.py @@ -4,7 +4,8 @@ from ruamel.yaml import YAML class Mirror(): - def __init__(self): + def __init__(self,mirror_path='mirrors.yaml'): + self.mirror_path=mirror_path self.load_mirrors() self._list_position = dict() self._list_max = dict() @@ -22,7 +23,7 @@ class Mirror(): yaml.indent(mapping=2, sequence=4, offset=2) yaml.preserve_quotes = True - with open('mirrors.yaml', 'r') as f: + with open(self.mirror_path, 'r') as f: config = yaml.load(f) self.mode = config['mode'] print("using mode: {}".format(self.mode)) From 96d55a9bddff3f1c29334f1159a8d7d972f6573a Mon Sep 17 00:00:00 2001 From: jeanrhum Date: Fri, 12 Mar 2021 18:50:43 +0100 Subject: [PATCH 2/4] Update main.py Adding command line parameter to set a mirror config file: https://github.com/armbian/dl-router/issues/12 --- app/main.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/main.py b/app/main.py index 5da7e41..1e03a31 100644 --- a/app/main.py +++ b/app/main.py @@ -13,8 +13,21 @@ from geolite2 import geolite2 from download_image_map import Parser from mirror_list import Mirror +import sys +mirror_path="mirrors.yaml" +# list of managed options string +options=["--mirror-conf"] +# look on all provided command line parameters +for param in sys.argv[1:]: + for opt in options: + if param.startswith(opt): + if opt=="--mirror-conf": + mirror_path=param[len(opt)+1:] + else: + print("Unhandled option",param) + break -mirror = Mirror() +mirror = Mirror(mirror_path) if mirror.mode == "dl_map": parser = Parser('userdata.csv') DL_MAP = parser.parsed_data From 93b110b557b3f672453ff02c6186adf1c8d1745f Mon Sep 17 00:00:00 2001 From: jeanrhum Date: Mon, 15 Mar 2021 15:11:10 +0100 Subject: [PATCH 3/4] Update main.py conditionally load uwsgi modiule --- app/main.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/main.py b/app/main.py index 1e03a31..8b7973f 100644 --- a/app/main.py +++ b/app/main.py @@ -2,7 +2,11 @@ import json -import uwsgi +try: + import uwsgi +except: + print("not running under uwsgi") + from flask import ( Flask, redirect, From 26b1064f0c594ac0753a551fed4422f2f2fe0484 Mon Sep 17 00:00:00 2001 From: jeanrhum Date: Mon, 15 Mar 2021 16:04:59 +0100 Subject: [PATCH 4/4] Update main.py Use the environment variable ARMBIAN_MIRROR_CONF to select the mirrors used. Default is the local mirrors.yaml. --- app/main.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/app/main.py b/app/main.py index 8b7973f..2f1c40b 100644 --- a/app/main.py +++ b/app/main.py @@ -17,19 +17,12 @@ from geolite2 import geolite2 from download_image_map import Parser from mirror_list import Mirror -import sys +import os mirror_path="mirrors.yaml" -# list of managed options string -options=["--mirror-conf"] -# look on all provided command line parameters -for param in sys.argv[1:]: - for opt in options: - if param.startswith(opt): - if opt=="--mirror-conf": - mirror_path=param[len(opt)+1:] - else: - print("Unhandled option",param) - break +if "ARMBIAN_MIRROR_CONF" in os.environ: + mirror_path=os.environ["ARMBIAN_MIRROR_CONF"] + +#print("Mirrors conf file:",mirror_path) mirror = Mirror(mirror_path) if mirror.mode == "dl_map":