-
Notifications
You must be signed in to change notification settings - Fork 1
/
extractDataset.py
73 lines (59 loc) · 2.52 KB
/
extractDataset.py
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
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import json
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client["global_metrics"]
allMetrics = list(db.projectMetrics.find({}))
for repoMetrics in allMetrics:
projectName = repoMetrics.get("projectName")
print projectName
namerepo = ""
if "." in projectName:
namerepo = projectName.replace(".","")
namerepo = namerepo.replace("/","#")
else:
namerepo = projectName.replace("/","#")
arq2 = open("./results/repo-index.csv","a")
arq = open("./results/"+namerepo+".csv","w")
users = []
committers = repoMetrics.get("committers")
if committers != []:
for committer in committers:
users.append(committer)
members = repoMetrics.get("members")
if members != []:
for member in members:
users.append(member)
collaborators = repoMetrics.get("collaborators")
if collaborators != []:
for collaborator in collaborators:
users.append(collaborator)
contributors = repoMetrics.get("contributors")
if contributors != []:
for contributor in contributors:
users.append(contributor)
owner = repoMetrics.get("owner")
if owner != None:
users.append(owner)
for user in users:
status = user.get("status")
participationWComments = user.get("participationWComments")
sourceOfLearning = user.get("sourceOfLearning")
participationWcode = user.get("participationWcode")
longTimeInteraction = user.get("longTimeInteraction")
login = user.get("login")
statusInProject = user.get("statusInProject")
association = user.get("association")
contentValueInProject = user.get("contentValueInProject")
if((association == "OWNER") or (association == "MEMBER")):
closeness = user.get("closeness")
if closeness == None:
closeness = 0
else:
closeness = closeness[0]
arq.write(("{};{};{};{};{};{};{};{};{};{}\n".format(login,association,closeness,longTimeInteraction,status,statusInProject,contentValueInProject,sourceOfLearning,participationWcode,participationWComments)))
else:
arq.write(("{};{};{};{};{};{};{};{};{}\n".format(login,association,longTimeInteraction,status,statusInProject,contentValueInProject,sourceOfLearning,participationWcode,participationWComments)))
arq2.write("{}".format(projectName))