diff --git a/.idea/kiwi-config.iml b/.idea/kiwi-config.iml
index 15c0cd1..48e8b4f 100644
--- a/.idea/kiwi-config.iml
+++ b/.idea/kiwi-config.iml
@@ -3,8 +3,9 @@
+
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index d4fc832..b2ea69b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/src/default.kiwi.yml b/src/default.kiwi.yml
index f3bd13b..b1edc12 100644
--- a/src/default.kiwi.yml
+++ b/src/default.kiwi.yml
@@ -1,12 +1,9 @@
version:
-
-suffix:
+suffixes:
project: .project
down: .down
-
-docker:
- net: kiwinet
+network:
+ name: kiwinet
cidr: 10.22.46.0/24
-
-target:
- root: /var/kiwi
+storage:
+ location: /var/kiwi
diff --git a/src/kiwi-config.py b/src/kiwi-config.py
index 1f38814..ab1183c 100755
--- a/src/kiwi-config.py
+++ b/src/kiwi-config.py
@@ -20,7 +20,7 @@ def main():
print(args.command)
cf = Config.default()
- cf.init()
+ cf.user_input()
pass
diff --git a/src/kiwi/config.py b/src/kiwi/config.py
index 07f0e69..3ba490e 100644
--- a/src/kiwi/config.py
+++ b/src/kiwi/config.py
@@ -2,50 +2,57 @@ import os
import yaml
-
class Config:
- __content = None
+ KIWI_ROOT = os.getenv('KIWI_ROOT', '.')
+ __ymlContent = None
- def __init__(self, filename):
+ def __init__(self):
+
+
+ @classmethod
+ def __from_file(cls, filename):
with open(filename, 'r') as stream:
try:
- self.__content = yaml.safe_load(stream)
- print(self.__content)
+ self.__ymlContent = yaml.safe_load(stream)
except yaml.YAMLError as exc:
print(exc)
@classmethod
def default(cls):
- kiwi_root = os.environ.get('KIWI_ROOT')
+ result = cls.__from_file(cls.KIWI_ROOT + "/default.kiwi.yml")
- cfg = cls(kiwi_root + "/default.kiwi.yml")
- with open(kiwi_root + "/version-tag", 'r') as stream:
- cfg.__content["version"] = stream.read().strip()
+ with open(cls.KIWI_ROOT + "/version-tag", 'r') as stream:
+ result.__ymlContent["version"] = stream.read().strip()
- return cfg
+ return result
- def __user_input(self, path, key, prompt):
- content = self.__content
+ def __user_input(self, key, prompt):
+ """"""
+ # "a:b:c" => path = ['a', 'b'], key = 'c'
+ path = key.split(':')
+ (path, key) = (path[:-1], path[-1])
+
+ # resolve path
+ content = self.__ymlContent
for step in path:
content = content[step]
- try:
- result = input("{} [Default: {}] ".format(prompt, content[key])).strip()
- except:
- result = None
+ # prompt user as per argument
+ result = input("{} [Default: {}] ".format(prompt, content[key])).strip()
+ #
if result:
content[key] = result
- def init(self):
- self.__user_input([], "version", "Choose kiwi-config version")
+ def user_input(self):
+ self.__user_input("version", "Choose kiwi-config version")
- self.__user_input(["suffix"], "project", "Enter suffix for project directories")
- self.__user_input(["suffix"], "down", "Enter suffix for disabled projects")
+ self.__user_input("suffixes:project", "Enter suffix for project directories")
+ self.__user_input("suffixes:down", "Enter suffix for disabled projects")
- self.__user_input(["docker"], "net", "Enter ")
- self.__user_input(["docker"], "cidr", "Enter ")
+ self.__user_input("network:name", "Enter name for docker network")
+ self.__user_input("network:cidr", "Enter ")
- self.__user_input(["target"], "root", "Enter ")
+ self.__user_input("storage:location", "Enter ")
diff --git a/src/kiwi/init.py b/src/kiwi/init.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/venv/bin/activate b/src/venv/bin/activate
new file mode 100644
index 0000000..7acdce2
--- /dev/null
+++ b/src/venv/bin/activate
@@ -0,0 +1,76 @@
+# This file must be used with "source bin/activate" *from bash*
+# you cannot run it directly
+
+deactivate () {
+ # reset old environment variables
+ if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
+ PATH="${_OLD_VIRTUAL_PATH:-}"
+ export PATH
+ unset _OLD_VIRTUAL_PATH
+ fi
+ if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
+ PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
+ export PYTHONHOME
+ unset _OLD_VIRTUAL_PYTHONHOME
+ fi
+
+ # This should detect bash and zsh, which have a hash command that must
+ # be called to get it to forget past commands. Without forgetting
+ # past commands the $PATH changes we made may not be respected
+ if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
+ hash -r
+ fi
+
+ if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
+ PS1="${_OLD_VIRTUAL_PS1:-}"
+ export PS1
+ unset _OLD_VIRTUAL_PS1
+ fi
+
+ unset VIRTUAL_ENV
+ if [ ! "$1" = "nondestructive" ] ; then
+ # Self destruct!
+ unset -f deactivate
+ fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+VIRTUAL_ENV="/home/jmm/Dokumente/git/dev/kiwi-config/src/venv"
+export VIRTUAL_ENV
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/bin:$PATH"
+export PATH
+
+# unset PYTHONHOME if set
+# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
+# could use `if (set -u; : $PYTHONHOME) ;` in bash
+if [ -n "${PYTHONHOME:-}" ] ; then
+ _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
+ unset PYTHONHOME
+fi
+
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
+ _OLD_VIRTUAL_PS1="${PS1:-}"
+ if [ "x(venv) " != x ] ; then
+ PS1="(venv) ${PS1:-}"
+ else
+ if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
+ # special case for Aspen magic directories
+ # see http://www.zetadev.com/software/aspen/
+ PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
+ else
+ PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
+ fi
+ fi
+ export PS1
+fi
+
+# This should detect bash and zsh, which have a hash command that must
+# be called to get it to forget past commands. Without forgetting
+# past commands the $PATH changes we made may not be respected
+if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
+ hash -r
+fi
diff --git a/src/venv/bin/activate.csh b/src/venv/bin/activate.csh
new file mode 100644
index 0000000..7fa116f
--- /dev/null
+++ b/src/venv/bin/activate.csh
@@ -0,0 +1,37 @@
+# This file must be used with "source bin/activate.csh" *from csh*.
+# You cannot run it directly.
+# Created by Davide Di Blasi .
+# Ported to Python 3.3 venv by Andrew Svetlov
+
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+setenv VIRTUAL_ENV "/home/jmm/Dokumente/git/dev/kiwi-config/src/venv"
+
+set _OLD_VIRTUAL_PATH="$PATH"
+setenv PATH "$VIRTUAL_ENV/bin:$PATH"
+
+
+set _OLD_VIRTUAL_PROMPT="$prompt"
+
+if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
+ if ("venv" != "") then
+ set env_name = "venv"
+ else
+ if (`basename "VIRTUAL_ENV"` == "__") then
+ # special case for Aspen magic directories
+ # see http://www.zetadev.com/software/aspen/
+ set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
+ else
+ set env_name = `basename "$VIRTUAL_ENV"`
+ endif
+ endif
+ set prompt = "[$env_name] $prompt"
+ unset env_name
+endif
+
+alias pydoc python -m pydoc
+
+rehash
diff --git a/src/venv/bin/activate.fish b/src/venv/bin/activate.fish
new file mode 100644
index 0000000..2819498
--- /dev/null
+++ b/src/venv/bin/activate.fish
@@ -0,0 +1,75 @@
+# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
+# you cannot run it directly
+
+function deactivate -d "Exit virtualenv and return to normal shell environment"
+ # reset old environment variables
+ if test -n "$_OLD_VIRTUAL_PATH"
+ set -gx PATH $_OLD_VIRTUAL_PATH
+ set -e _OLD_VIRTUAL_PATH
+ end
+ if test -n "$_OLD_VIRTUAL_PYTHONHOME"
+ set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
+ set -e _OLD_VIRTUAL_PYTHONHOME
+ end
+
+ if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
+ functions -e fish_prompt
+ set -e _OLD_FISH_PROMPT_OVERRIDE
+ functions -c _old_fish_prompt fish_prompt
+ functions -e _old_fish_prompt
+ end
+
+ set -e VIRTUAL_ENV
+ if test "$argv[1]" != "nondestructive"
+ # Self destruct!
+ functions -e deactivate
+ end
+end
+
+# unset irrelevant variables
+deactivate nondestructive
+
+set -gx VIRTUAL_ENV "/home/jmm/Dokumente/git/dev/kiwi-config/src/venv"
+
+set -gx _OLD_VIRTUAL_PATH $PATH
+set -gx PATH "$VIRTUAL_ENV/bin" $PATH
+
+# unset PYTHONHOME if set
+if set -q PYTHONHOME
+ set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
+ set -e PYTHONHOME
+end
+
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
+ # fish uses a function instead of an env var to generate the prompt.
+
+ # save the current fish_prompt function as the function _old_fish_prompt
+ functions -c fish_prompt _old_fish_prompt
+
+ # with the original prompt function renamed, we can override with our own.
+ function fish_prompt
+ # Save the return status of the last command
+ set -l old_status $status
+
+ # Prompt override?
+ if test -n "(venv) "
+ printf "%s%s" "(venv) " (set_color normal)
+ else
+ # ...Otherwise, prepend env
+ set -l _checkbase (basename "$VIRTUAL_ENV")
+ if test $_checkbase = "__"
+ # special case for Aspen magic directories
+ # see http://www.zetadev.com/software/aspen/
+ printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
+ else
+ printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
+ end
+ end
+
+ # Restore the return status of the previous command.
+ echo "exit $old_status" | .
+ _old_fish_prompt
+ end
+
+ set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
+end
diff --git a/src/venv/bin/python b/src/venv/bin/python
new file mode 120000
index 0000000..b8a0adb
--- /dev/null
+++ b/src/venv/bin/python
@@ -0,0 +1 @@
+python3
\ No newline at end of file
diff --git a/src/venv/bin/python3 b/src/venv/bin/python3
new file mode 120000
index 0000000..ae65fda
--- /dev/null
+++ b/src/venv/bin/python3
@@ -0,0 +1 @@
+/usr/bin/python3
\ No newline at end of file
diff --git a/src/venv/lib64 b/src/venv/lib64
new file mode 120000
index 0000000..7951405
--- /dev/null
+++ b/src/venv/lib64
@@ -0,0 +1 @@
+lib
\ No newline at end of file
diff --git a/src/venv/pyvenv.cfg b/src/venv/pyvenv.cfg
new file mode 100644
index 0000000..d411f1c
--- /dev/null
+++ b/src/venv/pyvenv.cfg
@@ -0,0 +1,3 @@
+home = /usr/bin
+include-system-site-packages = false
+version = 3.6.9