DefaultClonerConfig added, removed obsolette bash file

Signed-off-by: Václav Valíček <valicek1994@gmail.com>
This commit is contained in:
Václav Valíček 2022-06-26 02:16:51 +02:00
parent 525c27795c
commit 9feca35311
Signed by: valicek
GPG Key ID: FF05BDCA0C73BB31
4 changed files with 65 additions and 12 deletions

View File

@ -1,11 +0,0 @@
#!/bin/bash
# configure
export CCLONE_PATH=$BASE/repos
export CCLONE_CACHE=$BASE/cache
export CONFIG_DIR=$BASE/config
function die(){
echo "$@" 1>&2
exit 1
}

View File

@ -4,7 +4,6 @@ IFS=$'\n\t'
# source libs
mydir=$(dirname $(realpath $0))
source $mydir/cloner-lib-general
source $mydir/cloner-lib-cfg
source $mydir/detector-lib-cfg

View File

@ -0,0 +1,29 @@
class DefaultClonerConfig:
def __init__(self):
properties = list(filter(lambda prop: not str(prop).startswith("__"), dir(self)))
self.__properties: list = properties
@property
def cloner_repo_url(self) -> str:
return ""
@property
def cloner_project_name(self) -> str:
return ""
@property
def cloner_interval(self) -> int:
return 5
@property
def cloner_submodules(self) -> bool:
return True
@property
def cloner_submodule_depth(self) -> int:
return 50000
def has_property(self, prop: str) -> bool:
if prop == "has_property":
return False
return prop in self.__properties

View File

@ -0,0 +1,36 @@
from repo_cloner.lib.default_cloner_config import DefaultClonerConfig
def test_init():
x = DefaultClonerConfig()
assert isinstance(x, DefaultClonerConfig)
def test_types():
x = DefaultClonerConfig()
assert isinstance(x.cloner_project_name, str)
assert isinstance(x.cloner_repo_url, str)
assert isinstance(x.cloner_interval, int)
assert isinstance(x.cloner_submodules, bool)
assert isinstance(x.cloner_submodule_depth, int)
assert isinstance(x.has_property("wut"), bool)
def test_values():
x = DefaultClonerConfig()
assert x.cloner_project_name == ""
assert x.cloner_repo_url == ""
assert x.cloner_interval == 5
assert x.cloner_submodules
assert x.cloner_submodule_depth == 50000
def test_has_property():
x = DefaultClonerConfig()
assert not x.has_property("nonexistent")
assert x.has_property("cloner_project_name")
assert x.has_property("cloner_repo_url")
assert x.has_property("cloner_interval")
assert x.has_property("cloner_submodules")
assert x.has_property("cloner_submodule_depth")