Crude init function

This commit is contained in:
Jörn-Michael Miehe 2020-08-05 02:08:55 +02:00
parent 6067c30edd
commit 9444597aae
13 changed files with 233 additions and 34 deletions

View file

@ -3,8 +3,9 @@
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/src/venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.6 (kiwi-config)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (kiwi-config)" project-jdk-type="Python SDK" />
</project>

View file

@ -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

View file

@ -20,7 +20,7 @@ def main():
print(args.command)
cf = Config.default()
cf.init()
cf.user_input()
pass

View file

@ -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 ")

0
src/kiwi/init.py Normal file
View file

76
src/venv/bin/activate Normal file
View file

@ -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

37
src/venv/bin/activate.csh Normal file
View file

@ -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 <davidedb@gmail.com>.
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
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

View file

@ -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

1
src/venv/bin/python Symbolic link
View file

@ -0,0 +1 @@
python3

1
src/venv/bin/python3 Symbolic link
View file

@ -0,0 +1 @@
/usr/bin/python3

1
src/venv/lib64 Symbolic link
View file

@ -0,0 +1 @@
lib

3
src/venv/pyvenv.cfg Normal file
View file

@ -0,0 +1,3 @@
home = /usr/bin
include-system-site-packages = false
version = 3.6.9