forked from rmeloca/EcosystemsAnalysis
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerateContactList.py
More file actions
52 lines (45 loc) · 1.8 KB
/
generateContactList.py
File metadata and controls
52 lines (45 loc) · 1.8 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
from ecosystemDataManager.ecosystemDataManager import EcosystemDataManager
import csv
import sys
if __name__ == '__main__':
if len(sys.argv) < 2:
print("Usage:", sys.argv[0], "<ecosystem> [<home>]")
sys.exit(1)
if len(sys.argv) > 2:
home = sys.argv[2]
else:
home = ""
ecosystem = sys.argv[1]
ecosystemDataManager = EcosystemDataManager(ecosystem, home)
irregularPackages = ecosystemDataManager.getIrregularPackages()
with open(ecosystem + "Emails.csv", 'w', newline = '') as csvfile:
file = csv.writer(csvfile, delimiter = ';')
email = "E-mail"
packageName = "Package Name"
tags = "Tags"
firstInsertion = "First Insertion"
repository = "Repository"
irregularVersions = "Versions"
dependenciesSize = "Dependency Number"
author = "Author"
downloads = "Downloads Number"
licenses = "Licenses"
file.writerow([email, packageName, tags, firstInsertion, repository, irregularVersions, dependenciesSize, author, downloads, licenses])
for package in irregularPackages:
irregularVersions = package.getIrregularVersions()
irregularVersion = irregularVersions[0]
irregularVersions = ",".join([version.getName() for version in irregularVersions])
irregularityType = None
email = irregularVersion.getEmail()
packageName = package.getName()
tags = ", ".join([str(tag) for tag in package.getTags()])
try:
firstInsertion = package.getFirstInsertion()
except Exception as e:
firstInsertion = None
repository = package.getRepository()
dependenciesSize = len(package.getDependencies())
author = irregularVersion.getAuthor()
downloads = irregularVersion.getDownloads()
licenses = ", ".join(irregularVersion.getOriginalLicenses())
file.writerow([email, packageName, tags, firstInsertion, repository, irregularVersions, dependenciesSize, author, downloads, licenses])