-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplot.py
More file actions
116 lines (101 loc) · 3.22 KB
/
plot.py
File metadata and controls
116 lines (101 loc) · 3.22 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import os
import plot.plot_commit
import plot.plot_irc
import plot.plot_trac
import plot.plotter
data_directory = "data/"
out_directory = "charts/"
postfix = ".png"
color_event_project = "black"
color_event_user = "darkred"
color_commit_total = "green"
color_commit_user = "red"
trac_keywords = ["combined"] # rfc/review distinction too noisy
trac_actions = ["added", "removed"]
print_events = True
figsize = [25, 15]
dpi = 100
min_year = 2009
with open(data_directory + "git/git_month.txt") as f:
commitlines = f.readlines()
(commit_usernames, commit_values) = plot.plot_commit.parse_commit_stats(commitlines, min_year)
with open(data_directory + "irc/irc_month.txt") as f:
chatlines = f.readlines()
(chat_usernames, chat_values) = plot.plot_irc.parse_irc_stats(chatlines)
trac_values = {
"actions": plot.plot_trac.parse_trac_actions(data_directory + "trac/", min_year, ["review", "rfc"], ["added", "removed"]),
"open": plot.plot_trac.parse_trac_open(data_directory + "trac/", min_year, ["review", "rfc"])
}
#plot.plot_trac.print_trac_userstats(trac_values["actions"], ["combined"], ["added", "removed"])
with open('input/events.json') as json_file:
events = json.load(json_file)
def filename(print_chat, print_commit, print_trac, username):
return out_directory + \
username + \
("_commit" if print_commit else "") + \
("_chat" if print_chat else "") + \
("_trac" if print_trac else "") + \
postfix
try:
os.mkdir(out_directory)
except:
pass
for (print_chat, print_commit, print_trac) in [(True, True, True)]:#, (True, False), (False, True)]:
# Plot one graph per user:
if True:
for username in chat_usernames:
if username != "Total":
plot.plotter.plot_graph(
filename(print_chat, print_commit, print_trac, username),
["Total", username],
commit_values,
chat_values,
trac_values,
events,
print_chat,
print_commit,
print_trac and False, # trac open
print_trac, # trac actions
print_events,
trac_keywords,
trac_actions,
color_event_project,
color_event_user,
color_commit_user,
color_commit_total,
figsize,
dpi)
# Plot one graph for all userss
print_chat = False
print_commit = False
print_trac = True
plot.plotter.plot_graph(
filename(print_chat, print_commit, print_trac, "Total"),
[
"Total",
#"elexis",
#"leper",
#"wraitii",
#"Stan",
#"Itms",
],
commit_values,
chat_values,
trac_values,
events,
print_chat,
print_commit,
print_trac,
True,
print_events,
trac_keywords,
trac_actions,
color_event_project,
color_event_user,
color_commit_user,
color_commit_total,
figsize,
dpi)