mirror of
https://github.com/yavook/kiwi-scp.git
synced 2024-11-22 12:53:00 +00:00
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">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/src/venv" />
|
||||||
</content>
|
</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" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<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>
|
</project>
|
|
@ -1,12 +1,9 @@
|
||||||
version:
|
version:
|
||||||
|
suffixes:
|
||||||
suffix:
|
|
||||||
project: .project
|
project: .project
|
||||||
down: .down
|
down: .down
|
||||||
|
network:
|
||||||
docker:
|
name: kiwinet
|
||||||
net: kiwinet
|
|
||||||
cidr: 10.22.46.0/24
|
cidr: 10.22.46.0/24
|
||||||
|
storage:
|
||||||
target:
|
location: /var/kiwi
|
||||||
root: /var/kiwi
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ def main():
|
||||||
print(args.command)
|
print(args.command)
|
||||||
|
|
||||||
cf = Config.default()
|
cf = Config.default()
|
||||||
cf.init()
|
cf.user_input()
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -2,50 +2,57 @@ import os
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
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:
|
with open(filename, 'r') as stream:
|
||||||
try:
|
try:
|
||||||
self.__content = yaml.safe_load(stream)
|
self.__ymlContent = yaml.safe_load(stream)
|
||||||
print(self.__content)
|
|
||||||
|
|
||||||
except yaml.YAMLError as exc:
|
except yaml.YAMLError as exc:
|
||||||
print(exc)
|
print(exc)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default(cls):
|
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(cls.KIWI_ROOT + "/version-tag", 'r') as stream:
|
||||||
with open(kiwi_root + "/version-tag", 'r') as stream:
|
result.__ymlContent["version"] = stream.read().strip()
|
||||||
cfg.__content["version"] = stream.read().strip()
|
|
||||||
|
|
||||||
return cfg
|
return result
|
||||||
|
|
||||||
def __user_input(self, path, key, prompt):
|
def __user_input(self, key, prompt):
|
||||||
content = self.__content
|
""""""
|
||||||
|
|
||||||
|
# "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:
|
for step in path:
|
||||||
content = content[step]
|
content = content[step]
|
||||||
|
|
||||||
try:
|
# prompt user as per argument
|
||||||
result = input("{} [Default: {}] ".format(prompt, content[key])).strip()
|
result = input("{} [Default: {}] ".format(prompt, content[key])).strip()
|
||||||
except:
|
|
||||||
result = None
|
|
||||||
|
|
||||||
|
#
|
||||||
if result:
|
if result:
|
||||||
content[key] = result
|
content[key] = result
|
||||||
|
|
||||||
def init(self):
|
def user_input(self):
|
||||||
self.__user_input([], "version", "Choose kiwi-config version")
|
self.__user_input("version", "Choose kiwi-config version")
|
||||||
|
|
||||||
self.__user_input(["suffix"], "project", "Enter suffix for project directories")
|
self.__user_input("suffixes:project", "Enter suffix for project directories")
|
||||||
self.__user_input(["suffix"], "down", "Enter suffix for disabled projects")
|
self.__user_input("suffixes:down", "Enter suffix for disabled projects")
|
||||||
|
|
||||||
self.__user_input(["docker"], "net", "Enter ")
|
self.__user_input("network:name", "Enter name for docker network")
|
||||||
self.__user_input(["docker"], "cidr", "Enter ")
|
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