-
Notifications
You must be signed in to change notification settings - Fork 1
/
FileEntry.py
93 lines (71 loc) · 2.39 KB
/
FileEntry.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import os
class File:
def __init__(self, name, length):
self.name = name
self.length = length
def __str__(self):
return "Name: " + self.name + " Length: " + str(self.length)
def dict(self):
return {'name': self.name, 'length': self.length}
def toList(self):
return []
class Repo:
def __init__(self, name, path):
self.name = name
self.path = path
self.Files = []
self.adoc = 0
self.xml = 0
self.pictures = 0
def append(self, file):
self.Files.append(file)
# def __str__(self):
# output = ""
# for f in self.Files:
# output += "Repository: " + self.name + " " + f.__str__() + "\n"
# return output
def __str__(self):
return "name: {} adoc: {} pictures: {} xml: {}".format(self.name, self.adoc, self.pictures, self.xml)
def count(self):
for root, dirs, files in os.walk(self.path):
for filename in files:
extension = os.path.splitext(filename)[1][1:].strip()
if extension == "adoc":
self.adoc += 1
elif extension == "xml":
self.xml += 1
elif extension == "png":
self.pictures += 1
elif extension == "jpg":
self.pictures += 1
elif extension == "jpeg":
self.pictures += 1
class Repoes:
def __init__(self, path):
self.path = path
self.Repoes = []
def append(self, repo):
self.Repoes.append(repo)
def delete(self, del_repo):
self.Repoes = [repo for repo in self.Repoes if repo.name != del_repo]
def __str__(self):
output = ""
for f in self.Repoes:
output += f.__str__() + "\n"
return output
def count(self, added_repoes=[]):
if len(added_repoes) == 0:
self.Repoes = []
for repo in os.listdir(self.path):
r = Repo(repo, os.path.join(self.path, repo))
r.count()
self.append(r)
else:
for added_repo in added_repoes: # deal with error
r = Repo(repo, os.path.join(self.path, repo))
r.count()
self.append(r)
# global repositories
# repositories = Repoes('data/repositories/')
# repositories.count()
# print(repoes)