Skip to content

Commit 4ac7262

Browse files
authored
Update app.py
1 parent a329970 commit 4ac7262

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

app.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22
import os
33
import json
44
from datetime import datetime, timedelta
5+
import shutil
56

67
GITHUB_API_URL = "https://api.github.com/search/repositories"
78
HEADERS = {"Accept": "application/vnd.github+json"}
89
CACHE_FILE = "repos_cache.json"
910
CACHE_DURATION_MINUTES = 30 # adjust if needed
11+
OLD_DIR = "old"
12+
HTML_FILE = "index.html"
1013

1114
def fetch_awesome_repositories(per_page=100, max_pages=10, use_cache=True):
1215
if use_cache and os.path.exists(CACHE_FILE):
@@ -36,6 +39,16 @@ def fetch_awesome_repositories(per_page=100, max_pages=10, use_cache=True):
3639

3740
return all_repos
3841

42+
def backup_old_html():
43+
if os.path.exists(HTML_FILE):
44+
if not os.path.exists(OLD_DIR):
45+
os.makedirs(OLD_DIR)
46+
timestamp = datetime.utcnow().strftime("%d-%m-%Y")
47+
backup_filename = f"index-{timestamp}.html"
48+
backup_path = os.path.join(OLD_DIR, backup_filename)
49+
shutil.move(HTML_FILE, backup_path)
50+
print(f"Backed up old index.html → {backup_path}")
51+
3952
def generate_index_html(repos):
4053
timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M UTC")
4154
cards_html = "\n".join([
@@ -70,46 +83,37 @@ def generate_index_html(repos):
7083
<meta name="description" content="A curated list of awesome repositories for developers, engineers, and tech enthusiasts. Updated regularly.">
7184
<meta name="keywords" content="GitHub, repositories, open source, developer tools, awesome list, projects, software, code">
7285
<meta name="author" content="Awesome Repositories - M">
73-
74-
<!-- Favicon and Icons -->
7586
<link rel="icon" type="image/png" sizes="32x32" href="assets/awesome-repo.png">
7687
<link rel="apple-touch-icon" sizes="180x180" href="assets/awesome-repo.png">
7788
<link rel="icon" type="image/png" sizes="16x16" href="assets/awesome-repo.png">
7889
<link rel="shortcut icon" href="assets/awesome-repo.png">
79-
80-
81-
<!-- Open Graph / Facebook -->
8290
<meta property="og:title" content="Awesome Repositories">
8391
<meta property="og:description" content="A curated list of awesome repositories for developers and tech enthusiasts.">
8492
<meta property="og:type" content="website">
8593
<meta property="og:url" content="https://maheshndev.github.io/awesome-repos/">
8694
<meta property="og:image" content="assets/awesome-repo.png">
87-
88-
<!-- Twitter -->
8995
<meta name="twitter:card" content="summary_large_image">
9096
<meta name="twitter:title" content="Awesome Repositories">
9197
<meta name="twitter:description" content="A curated list of awesome repositories for developers and tech enthusiasts.">
9298
<meta name="twitter:image" content="assets/awesome-repo.png">
93-
9499
<script src="https://cdn.tailwindcss.com"></script>
95100
</head>
96101
<body class="bg-gray-100 min-h-screen p-6">
97102
<div class="max-w-7xl mx-auto">
98-
<img src="assets/awesome-repos.png" width="50px" height="50px"> <h1 class="text-4xl font-bold mb-4">🚀 Awesome Repositories</h1>
103+
<img src="assets/awesome-repos.png" width="50px" height="50px"> <h1 class="text-4xl font-bold mb-4">🚀 Awesome Repositories</h1>
99104
<p class="text-sm text-gray-500 mb-6">Last updated: {timestamp}</p>
100105
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
101106
{cards_html}
102107
</div>
103108
</div>
104109
</body>
105110
</html>
106-
107111
"""
108-
with open("index.html", "w", encoding="utf-8") as f:
112+
with open(HTML_FILE, "w", encoding="utf-8") as f:
109113
f.write(html)
114+
print(f"✅ New index.html generated.")
110115

111116
def generate_readme_md(repos):
112-
timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M UTC")
113117
rows = "\n".join([
114118
f"| [{repo['full_name']}]({repo['html_url']}) | {repo.get('description', 'No description.')} | ⭐ {repo['stargazers_count']} | {repo['language'] or 'N/A'} |"
115119
for repo in repos
@@ -124,8 +128,10 @@ def generate_readme_md(repos):
124128
"""
125129
with open("README.md", "w", encoding="utf-8") as f:
126130
f.write(markdown)
131+
print(f"✅ README.md updated.")
127132

128133
if __name__ == "__main__":
129134
repos = fetch_awesome_repositories()
135+
backup_old_html()
130136
generate_index_html(repos)
131137
generate_readme_md(repos)

0 commit comments

Comments
 (0)