-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathReadmeMaker.py
More file actions
89 lines (69 loc) · 3.7 KB
/
ReadmeMaker.py
File metadata and controls
89 lines (69 loc) · 3.7 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
from re import sub
from base64 import b64decode
# TODO: Make for each Section
class ReadmeGenerator():
def __init__(self, readme):
self.readme = self.decodeREADME(readme)
def getREADME(self):
return self.readme
def generateDailyStats(self, stats: str):
print("Generating Daily Section... ", end="")
START_COMMENT = '<!--START_SECTION_DAILY_COMMIT:readme-info-->'
END_COMMENT = '<!--END_SECTION_DAILY_COMMIT:readme-info-->'
daily_commit_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, daily_commit_in_readme, self.readme)
print("Done")
def generateWeeklyStats(self, stats: str):
print("Generating Weekly Section... ", end="")
START_COMMENT = '<!--START_SECTION_WEEKLY_COMMIT:readme-info-->'
END_COMMENT = '<!--END_SECTION_WEEKLY_COMMIT:readme-info-->'
weekly_commit_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, weekly_commit_in_readme, self.readme)
print("Done")
def generateProfileViewsStats(self, stats: str):
print("Generating Profile Views Section... ", end="")
START_COMMENT = '<!--START_SECTION_PROFILE_VIEWS:readme-info-->'
END_COMMENT = '<!--END_SECTION_PROFILE_VIEWS:readme-info-->'
profile_views_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, profile_views_in_readme, self.readme)
print("Done")
def generateLinesOfCodeStats(self, stats: str):
print("Generating Lines Of Code Section... ", end="")
START_COMMENT = '<!--START_SECTION_LINES_OF_CODE:readme-info-->'
END_COMMENT = '<!--END_SECTION_LINES_OF_CODE:readme-info-->'
lines_of_code_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, lines_of_code_in_readme, self.readme)
print("Done")
def generateMostUsedLanguage(self, stats: str):
print("Generating Lines Of Code Section... ", end="")
START_COMMENT = '<!--START_SECTION_LANGUAGE:readme-info-->'
END_COMMENT = '<!--END_SECTION_LANGUAGE:readme-info-->'
language_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, language_in_readme, self.readme)
print("Done")
def generateTotalContributions(self, stats: str):
print("Generating Total Contributions Section... ", end="")
START_COMMENT = '<!--START_CONTRIBUTIONS:readme-info-->'
END_COMMENT = '<!--END_CONTRIBUTIONS:readme-info-->'
contributions_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, contributions_in_readme, self.readme)
print("Done")
def generateSayThanks(self):
START_COMMENT = '<!--START_SECTION_THANK_ME:readme-info-->'
END_COMMENT = '<!--END_SECTION_THANK_ME:readme-info-->'
stats = "Made with 🖤 by [Jainam Desai](https://th3c0d3br34ker.github.io)"
lines_of_code_in_readme = f"{START_COMMENT}\n{stats}\n{END_COMMENT}"
listReg = f"{START_COMMENT}[\\s\\S]+{END_COMMENT}"
self.readme = sub(listReg, lines_of_code_in_readme, self.readme)
print("Thank You! ❤")
@staticmethod
def decodeREADME(data: str):
'''Decode the contents of old README'''
decoded_bytes = b64decode(data)
return str(decoded_bytes, 'utf-8')