35 lines
930 B
Plaintext
35 lines
930 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
source $HOME/.config/rofi-pass/config
|
||
|
|
||
|
if [[ -n "$2" && "$1" == "--root" ]]; then
|
||
|
root="${2}"
|
||
|
else
|
||
|
:
|
||
|
fi
|
||
|
|
||
|
OIFS=$IFS;
|
||
|
IFS="-";
|
||
|
|
||
|
|
||
|
fields="$@";
|
||
|
fieldsArray=($fields);
|
||
|
name=$(printf '%s\n' "${fieldsArray[@]}" | grep "name" | cut -d ' ' -f 2- | sed -e 's/[[:blank:]]\+$//')
|
||
|
read -p "Enter password for entry ${name}> " -s pass
|
||
|
|
||
|
cd "${basedir}"
|
||
|
group=$(find -type d -not -iwholename '*.git*' -printf '%d\t%P\n' | sort -r -nk1 | cut -f2- | rofi -dmenu -p "Choose Group > ")
|
||
|
|
||
|
echo -e "\n\nStoring file ${name} in group ${group}"
|
||
|
|
||
|
printEntry () {
|
||
|
echo -e "$pass\n---"
|
||
|
for ((i=1; i<${#fieldsArray[@]}; ++i)); do
|
||
|
field=$(echo "${fieldsArray[$i]}" | awk -F' ' '{print $1}')
|
||
|
option=$(echo "${fieldsArray[$i]}" | cut -d ' ' -f 2- | sed -e 's/[[:blank:]]\+$//')
|
||
|
echo "$field: $option" | grep -Ev 'name:' #${fieldsArray[$i]}";
|
||
|
done
|
||
|
}
|
||
|
|
||
|
printEntry | pass insert -m "${root}/${group}/${name}"
|