summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Holmes <mike.holmes@linaro.org>2020-07-03 11:13:54 +0100
committerMike Holmes <mike.holmes@linaro.org>2020-07-03 11:13:54 +0100
commit85e7dd8daa32dea3e9e2cac54ee0033f50acb967 (patch)
tree14d5a6005935132b1f52485e74424ed48403027b
parent807fff04de870a6d889d824bca708cde0488f8db (diff)
Flip command line defaults
-rw-r--r--dump_all4
-rw-r--r--project_dependance.py33
-rw-r--r--run_all28
3 files changed, 38 insertions, 27 deletions
diff --git a/dump_all b/dump_all
new file mode 100644
index 0000000..d85f9e0
--- /dev/null
+++ b/dump_all
@@ -0,0 +1,4 @@
+
+python3 project_dependance.py --verbose=1 --filter_list Linaro > company_radial.dot
+
+
diff --git a/project_dependance.py b/project_dependance.py
index e3e0953..b4228b1 100644
--- a/project_dependance.py
+++ b/project_dependance.py
@@ -4,22 +4,25 @@
import csv
import pandas as pd
+pd.set_option('display.max_rows',None)
+pd.set_option('display.max_columns',None)
import io
import requests
from collections import defaultdict
import argparse
parser = argparse.ArgumentParser(description='Pull from JIre Engineers spreadsheet data to genrate graphs')
-parser.add_argument("--teams", default=1, type=int, help="generate teams dependance")
-parser.add_argument("--dependance", default=1,type=int,help="generate project dependance")
-parser.add_argument("--relates", default=1, type=int,help="generate project relates")
-parser.add_argument("--company", default=1, type=int,help="generate company relationship")
-parser.add_argument("--projects", default=1,type=int, help="generate projects")
-parser.add_argument("--governing_group", default=1,type=int, help="generate governing groups")
-parser.add_argument("--department_group", default=1,type=int, help="generate department groups")
-parser.add_argument("--all_projects", default=1,type=int, help="list all projects")
-parser.add_argument("--verbose", default=0, type=int, help="verbose")
+parser.add_argument("--teams", default=False, action='store_true', help="generate teams dependance")
+parser.add_argument("--dependance", default=False, action='store_true',help="generate project dependance")
+parser.add_argument("--relates", default=False, action='store_true',help="generate project relates")
+parser.add_argument("--company", default=False, action='store_true',help="generate company relationship")
+parser.add_argument("--projects", default=False, action='store_true', help="generate projects")
+parser.add_argument("--governing_group", default=False, action='store_true', help="generate governing groups")
+parser.add_argument("--department_group", default=False, action='store_true', help="generate department groups")
+parser.add_argument("--all_projects", default=False, action='store_true', help="list all projects")
+parser.add_argument("--verbose", default=False, action='store_true', help="verbose")
parser.add_argument("--filter_list", default=[], nargs='+', help="filter out a node name, such as team, project or member")
+parser.add_argument("--include_list", default=[], nargs='+', help="filter out a node name, such as team, project or member")
parser.add_argument("--center_on", help="center on a specific node which can be a company, team or project")
args = parser.parse_args()
@@ -37,7 +40,7 @@ if (args.center_on):
def filter_node(data, filter_list):
if (args.verbose == 1):
- print (data)
+ print (data)
print("")
print ("filtering for ",filter_list)
@@ -141,7 +144,7 @@ if (args.teams == 1):
data = filter_node(data, args.filter_list)
for row in data.index:
#generate the graph for assignee team
- print (" \"", data['Assignee Team'][row],"\"", " -> ", "\"", data['Project'][row],"\"", " [", "taillabel=\"", int(data['COUNTUNIQUE of Assignee'][row]),"\"", " weight=",
+ print (" \"", data['Assignee Team'][row],"\"", " -> ", "\"", data['Project'][row],"\"", " [", "taillabel=\"E", int(data['COUNTUNIQUE of Assignee'][row]),"\"", " weight=",
data['COUNTUNIQUE of Assignee'][row]," style=dashed"," color=red","]", sep='')
print("")
@@ -157,15 +160,15 @@ if (args.relates == 1):
for row in data.index:
if data['relates_to'][row]:
- print (" \"", data['project'][row],"\"", " -> ", "\"", data['linked'][row],"\"", " [", "taillabel=\"",
- int(data['relates_to'][row]),"\"", " weight=", data['relates_to'][row]," color=blue", " style=dotted dir=both","]", sep='')
+ print (" \"", data['project'][row],"\"", " -> ", "\"", data['linked'][row],"\"", " [", "label=\"R",
+ int(data['relates_to'][row]),"\"", " weight=", data['relates_to'][row]," color=blue", " style=dotted ","]", sep='')
if (args.dependance == 1):
print("")
print ("//generate depends on links")
for row in data.index:
if data['depends_on'][row]:
- print (" \"",data['project'][row],"\"", " -> ", "\"",data['linked'][row],"\""," [", " taillabel=\"",
+ print (" \"",data['project'][row],"\"", " -> ", "\"",data['linked'][row],"\""," [", " taillabel=\"D",
int(data['depends_on'][row]),"\"", " weight=",data['depends_on'][row], "]", sep='' )
@@ -185,6 +188,8 @@ if (args.company == 1):
if (args.company == 1):
print("")
print ("// generate company shape and colour")
+ #remove duplicates
+ data.drop_duplicates(subset="Assignee Company", keep = 'first', inplace = True)
for row in data.index:
#generate the graph for assignee team
print (" \"", data['Assignee Company'][row],"\"", " [", "fillcolor=azure, style=\"rounded,filled\", shape=diamond","]", sep='')
diff --git a/run_all b/run_all
index 82f1a5c..0fa7343 100644
--- a/run_all
+++ b/run_all
@@ -1,33 +1,33 @@
#!/bin/bash
echo team
-python3 project_dependance.py --dependance=0 --relates=0 --company=0 > team_grouped.dot
+python3 project_dependance.py --teams > team_grouped.dot
dot -Tpdf team_grouped.dot > team_linear_grouped.pdf
sfdp -Tpdf team_grouped.dot > team_radial_grouped.pdf
-python3 project_dependance.py --dependance=0 --relates=0 --department_group=0 --governing_group=0 --company=0 --center_on LEDGE > team.dot
+python3 project_dependance.py --teams --center_on LEDGE > team.dot
dot -Tpdf team.dot > team_linear.pdf
sfdp -Tpdf team_grouped.dot > team_radial.pdf
twopi -Tpdf team.dot > team_centered.pdf
neato -Tpdf team.dot > team_centered2.pdf
-python3 project_dependance.py --dependance=0 --relates=0 --department_group=0 --governing_group=0 --company=0 --center_on LEDGE > team.dot
+python3 project_dependance.py --teams --center_on LEDGE > team.dot
twopi -Tpdf team.dot > LEDGE_team_centered.pdf
-python3 project_dependance.py --dependance=0 --relates=0 --department_group=0 --governing_group=0 --company=0 --center_on "Linaro Consumer Group" > team.dot
+python3 project_dependance.py --teams --center_on "Linaro Consumer Group" > team.dot
twopi -Tpdf team.dot > LCG_team_centered.pdf
-python3 project_dependance.py --dependance=0 --relates=0 --department_group=0 --governing_group=0 --company=0 --center_on "Device Tree Evolution" > team.dot
+python3 project_dependance.py --teams --center_on "Device Tree Evolution" > team.dot
twopi -Tpdf team.dot > DTE_team_centered.pdf
-python3 project_dependance.py --dependance=0 --relates=0 --department_group=0 --governing_group=0 --company=0 --center_on "Linux Kernel Quality" > team.dot
+python3 project_dependance.py --teams --center_on "Linux Kernel Quality" > team.dot
twopi -Tpdf team.dot > LKQ_team_centered.pdf
echo projects
-python3 project_dependance.py --teams=0 --company=0 --department_group=0 --governing_group=0 --all_projects=0 --center_on "Dependable Boot Project" > project.dot
+python3 project_dependance.py --projects --all_projects --center_on "Dependable Boot Project" > project.dot
dot -Tpdf project.dot > project_linear.pdf
sfdp -Tpdf project.dot > project_radial.pdf
twopi -Tpdf project.dot > project_centered.pdf
neato -Tpdf project.dot > project_centered2.pdf
echo project dependance
-python3 project_dependance.py --teams=0 --company=0 --department_group=0 > dependancies.dot
+python3 project_dependance.py --dependance > dependancies.dot
dot -Tpdf dependancies.dot > dependancies_linear.pdf
sfdp -Tpdf dependancies.dot > dependancies_radial.pdf
twopi -Tpdf dependancies.dot > dependancies_centered.pdf
@@ -35,19 +35,21 @@ neato -Tpdf dependancies.dot > dependancies_centered2.pdf
echo company
-python3 project_dependance.py --teams=0 --dependance=0 --relates=0 --all_projects=0 --governing_group=0 --department_group=0 --filter_list Linaro > company_linaro.dot
+python3 project_dependance.py --teams --company --filter_list Linaro > company_linaro.dot
dot -Tpdf company_linaro.dot > company_linear.pdf
-python3 project_dependance.py --teams=0 --dependance=0 --relates=0 --all_projects=1 --governing_group=0 --department_group=0 --filter_list Linaro --center_on Qualcomm > company_radial.dot
+python3 project_dependance.py --teams --company --filter_list Linaro --center_on Qualcomm > company_radial.dot
twopi -Tpdf company_radial.dot > QC_company_centered.pdf
-python3 project_dependance.py --teams=0 --dependance=0 --relates=0 --all_projects=1 --governing_group=0 --department_group=0 --filter_list Linaro --center_on NXP > company_radial.dot
+python3 project_dependance.py --teams --company --filter_list Linaro --center_on NXP > company_radial.dot
twopi -Tpdf company_radial.dot > NXP_company_centered.pdf
-python3 project_dependance.py --teams=0 --dependance=0 --relates=0 --all_projects=1 --governing_group=0 --department_group=0 --filter_list Linaro --center_on ST > company_radial.dot
+python3 project_dependance.py --company --filter_list Linaro Arm --center_on ST > company_radial.dot
twopi -Tpdf company_radial.dot > ST_company_centered.pdf
+python3 project_dependance.py --company --filter_list Linaro Arm --center_on Socionext > company_radial.dot
+twopi -Tpdf company_radial.dot > Socionext_company_centered.pdf
#neato -Tpdf company_radial.dot > ST_company_centered2.pdf
#sfdp -Tpdf company_radial.dot > ST_company_radial.pdf
echo all
-python3 project_dependance.py --center_on=Security --filter_list Linaro > all.dot
+python3 project_dependance.py --teams --center_on=Security --filter_list Linaro > all.dot
dot -Tpdf all.dot > all_linear.pdf
sfdp -Tpdf all.dot > all_radial.pdf
twopi -Tpdf all.dot > all_centered.pdf