Skip to content
Snippets Groups Projects
Commit e0a94c0d authored by Frede H's avatar Frede H :speech_balloon:
Browse files

setting pacman-mirrors.conf dynamically

parent 64e7a52a
No related branches found
No related tags found
1 merge request!614.0.0rc1
......@@ -20,21 +20,20 @@
"""Pacman-Mirrors Configuration Functions"""
from . import txt
from .configuration import CONFIG_FILE, MIRROR_DIR, MIRROR_FILE, MIRROR_LIST
from .configuration import MIRROR_DIR, MIRROR_FILE, MIRROR_LIST
class ConfigFn:
"""Configuration Functions"""
@staticmethod
def build_config():
def build_config(configfile):
"""Get config informations"""
# initialising defaults
# information which can differ from these defaults
# is fetched from config file
config = {
"branch": "stable",
"config_file": CONFIG_FILE,
"method": "rank",
"mirror_dir": MIRROR_DIR,
"mirror_file": MIRROR_FILE,
......@@ -44,7 +43,7 @@ class ConfigFn:
}
try:
# read configuration from file
with open(config["config_file"]) as conf:
with open(configfile) as conf:
for line in conf:
line = line.strip()
if line.startswith("#") or "=" not in line:
......
......@@ -32,7 +32,7 @@ from pacman_mirrors import __version__
from random import shuffle
# CHANGE CONTENT IN configuration
from .configuration import DEVELOPMENT, DESCRIPTION
from .configuration import CUSTOM_FILE, MIRROR_DIR
from .configuration import CONFIG_FILE, CUSTOM_FILE, MIRROR_DIR
from .configfn import ConfigFn
from .custom_help_formatter import CustomHelpFormatter
from .customfn import CustomFn
......@@ -60,7 +60,7 @@ class PacmanMirrors:
def __init__(self):
"""Init"""
self.config = {}
self.configfile = CONFIG_FILE
self.custom = False
self.fasttrack = None
self.geoip = False
......@@ -310,7 +310,6 @@ class PacmanMirrors:
def load_all_mirrors(self):
"""Load mirrors"""
MiscFn.debug("ENTER: load_all_mirrors", "config['only_country']", self.config["only_country"])
if self.config["only_country"] == ["all"]:
self.disable_custom_config()
......@@ -376,7 +375,7 @@ class PacmanMirrors:
def run(self):
"""Run"""
FileFn.dir_must_exist(MIRROR_DIR)
self.config = ConfigFn.build_config()
self.config = ConfigFn.build_config(self.configfile)
self.command_line_parse()
self.network = HttpFn.update_mirrors()
self.load_all_mirrors()
......
......@@ -28,6 +28,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-b", "unstable"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.config["branch"] == "unstable"
......@@ -40,6 +41,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-b", "testing"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.config["branch"] == "testing"
......@@ -52,6 +54,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-m", "random"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.config["method"] == "random"
......@@ -64,6 +67,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-d", "/another/dir/"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.config["mirror_dir"] == "/another/dir/"
......@@ -76,6 +80,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-o", "/another/list"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.config["mirror_list"] == "/another/list"
......@@ -88,6 +93,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-c", "France,Germany"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.config["only_country"] == ["France", "Germany"]
......@@ -100,6 +106,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-c Denmark"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.custom is True
......@@ -112,6 +119,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"--geoip"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.geoip is True
......@@ -124,6 +132,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-f 5"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.fasttrack == 5
......@@ -136,6 +145,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-i"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.interactive is True
......@@ -148,6 +158,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-t 5"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.max_wait_time == 5
......@@ -160,6 +171,7 @@ class TestCommandLineParse(unittest.TestCase):
["pacman-mirrors",
"-q"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
assert app.quiet is True
......
......@@ -28,6 +28,7 @@ class TestDefaultConfig(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
assert app.config["branch"] == "stable"
......@@ -39,6 +40,7 @@ class TestDefaultConfig(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
assert app.config["method"] == "rank"
......@@ -50,6 +52,7 @@ class TestDefaultConfig(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
assert app.config["mirror_dir"] == "mock/var/"
......@@ -61,6 +64,7 @@ class TestDefaultConfig(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
assert app.config["mirror_file"] == "mock/var/mirrors.json"
......@@ -72,6 +76,7 @@ class TestDefaultConfig(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
assert app.config["mirror_list"] == "mock/etc/mirrorlist"
......@@ -83,6 +88,7 @@ class TestDefaultConfig(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
assert app.config["no_update"] is False
......
......@@ -31,6 +31,7 @@ class TestHttpFn(unittest.TestCase):
["pacman-mirrors",
"--geoip"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
app.load_all_mirrors()
......@@ -47,6 +48,7 @@ class TestHttpFn(unittest.TestCase):
"-g",
"--geoip"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
app.load_all_mirrors()
......
......@@ -27,6 +27,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.custom is False
@patch("os.getuid")
......@@ -37,6 +38,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.fasttrack is None
@patch("os.getuid")
......@@ -47,6 +49,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.geoip is False
@patch("os.getuid")
......@@ -57,6 +60,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.interactive is False
@patch("os.getuid")
......@@ -67,6 +71,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.max_wait_time == 2
@patch("os.getuid")
......@@ -77,6 +82,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.network is True
@patch("os.getuid")
......@@ -87,6 +93,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.no_display is False
@patch("os.getuid")
......@@ -97,6 +104,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.quiet is False
@patch("os.getuid")
......@@ -107,6 +115,7 @@ class TestInitialValues(unittest.TestCase):
["pacman-mirrors",
"-g"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
assert app.selected_countries == []
def tearDown(self):
......
......@@ -31,6 +31,7 @@ class TestPacmanMirrors(unittest.TestCase):
"-qc", "all",
"-m", "random"]):
app = PacmanMirrors()
app.configfile = "conf/pacman-mirrors.conf"
app.config = ConfigFn.build_config()
app.command_line_parse()
FileFn.dir_must_exist(app.config["mirror_dir"])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment