Crude init function
This commit is contained in:
parent
6067c30edd
commit
9444597aae
13 changed files with 233 additions and 34 deletions
|
@ -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>
|
|
@ -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>
|
|
@ -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
|
||||
|
|
|
@ -20,7 +20,7 @@ def main():
|
|||
print(args.command)
|
||||
|
||||
cf = Config.default()
|
||||
cf.init()
|
||||
cf.user_input()
|
||||
|
||||
pass
|
||||
|
||||
|
|
|
@ -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
0
src/kiwi/init.py
Normal file
76
src/venv/bin/activate
Normal file
76
src/venv/bin/activate
Normal 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
37
src/venv/bin/activate.csh
Normal 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
|
75
src/venv/bin/activate.fish
Normal file
75
src/venv/bin/activate.fish
Normal 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
1
src/venv/bin/python
Symbolic link
|
@ -0,0 +1 @@
|
|||
python3
|
1
src/venv/bin/python3
Symbolic link
1
src/venv/bin/python3
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/bin/python3
|
1
src/venv/lib64
Symbolic link
1
src/venv/lib64
Symbolic link
|
@ -0,0 +1 @@
|
|||
lib
|
3
src/venv/pyvenv.cfg
Normal file
3
src/venv/pyvenv.cfg
Normal file
|
@ -0,0 +1,3 @@
|
|||
home = /usr/bin
|
||||
include-system-site-packages = false
|
||||
version = 3.6.9
|
Loading…
Reference in a new issue