-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·35 lines (28 loc) · 913 Bytes
/
build.sh
File metadata and controls
executable file
·35 lines (28 loc) · 913 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
set -e
green="\e[32m"
red="\e[31m"
default="\e[0m"
blue="\e[94m"
create_init() {
[ -f __init__.py ] && rm __init__.py
files=$(ls | grep -E "*\.py" | tr " " "\n")
[ ! ${#files[0]} -gt 0 ] && echo -e "- ${red}$1 file is empty!${default}" && return 0
touch '__init__.py'
echo -e "${blue}*${default} creating __init__.py for $1"
folders+=("$1")
for file in ${files[@]}; do
echo -e "${red}- ${default}Importing $file to $1"
echo "from main.$1.${file::-3} import *" | tee -a __init__.py >> /dev/null
done
echo -e "${green}+ ${default}done!\n"
}
create_init_for_dir() {
[ -d $1 ] && cd $1 && create_init $1 && cd ..
}
[ ! -d main ] && echo "<main> directory not found." && exit
cd main
create_init_for_dir routes
create_init_for_dir models
create_init_for_dir forms
echo -e "created __init__.py files for: ${blue}${folders[@]}${default}"