File: migration_report.sh

package info (click to toggle)
python-neutron-lib 3.18.2-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 7,652 kB
  • sloc: python: 22,800; sh: 145; makefile: 24
file content (39 lines) | stat: -rwxr-xr-x 1,203 bytes parent folder | download | duplicates (5)
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
36
37
38
39
#!/bin/bash

function count_imports() {
    local module="$1"
    local path="$2"
    egrep -R -w "^(import|from) $module" --exclude-dir=".*tox" $your_project  | wc -l
}


if [ $# -eq 0 ]; then
    echo "Please specify path to your project."
    exit 1
else
    your_project="$1"
fi

command -v bc >/dev/null 2>&1 || { echo "I require bc but it's not installed.  Aborting." >&2; exit 1; }

total_imports=$(egrep -R -w "^(import|from)" --exclude-dir=".*tox" $your_project  | wc -l)
neutron_imports=$(count_imports neutron $your_project)
lib_imports=$(count_imports neutron_lib $your_project)
total_neutron_related_imports=$((neutron_imports + lib_imports))

echo "You have $total_imports total imports"
echo "You imported Neutron $neutron_imports times"
echo "You imported Neutron-Lib $lib_imports times"

if [ "$lib_imports" -eq 0 ]; then
    echo "Your project does not import neutron-lib once, you suck!"
fi

goal=$(bc -l <<< "scale=4; ($lib_imports/$total_neutron_related_imports*100)")
target=$(bc <<< "$goal>50")

if [ "$target" -eq 0 ]; then
    echo "You need to get to 100%, you are this far: $goal%, get on with it!"
else
    echo "You need to get to 100%, you are close: $goal%, good job!"
fi