GitHub Action
commited on
Commit
·
2f8f693
1
Parent(s):
6892c13
Sync from GitHub with Git LFS
Browse files- scripts/publish_to_hashnode.py +12 -10
scripts/publish_to_hashnode.py
CHANGED
@@ -146,20 +146,22 @@ def main(force=False):
|
|
146 |
slug = re.sub(r'-+', '-', slug).strip('-')
|
147 |
slug = slug[:250]
|
148 |
|
149 |
-
h = file_hash(md_file)
|
150 |
-
|
151 |
-
if not force and name in published and published[name]["hash"] == h:
|
152 |
-
print(f"✅ Пост '{name}' без изменений — пропускаем.")
|
153 |
-
continue
|
154 |
-
|
155 |
md_text = md_file.read_text(encoding="utf-8")
|
156 |
source_link = f"Источник: [ {md_file.name} ](https://github.com/kagvi13/HMP/blob/main/docs/{md_file.name})\n\n"
|
157 |
md_text = source_link + md_text
|
158 |
md_text = convert_md_links(md_text)
|
159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
try:
|
161 |
-
if
|
162 |
-
post_id = published[
|
163 |
post = update_post(post_id, title, slug, md_text)
|
164 |
print(f"♻ Обновлён пост: https://hashnode.com/@yourusername/{post['slug']}")
|
165 |
else:
|
@@ -167,14 +169,14 @@ def main(force=False):
|
|
167 |
post = publish_draft(post["id"])
|
168 |
print(f"🆕 Пост опубликован: https://hashnode.com/@yourusername/{post['slug']}")
|
169 |
|
170 |
-
published[
|
171 |
save_published(published)
|
172 |
|
173 |
print("⏱ Пауза 30 секунд перед следующим постом...")
|
174 |
time.sleep(30)
|
175 |
|
176 |
except Exception as e:
|
177 |
-
print(f"❌ Ошибка при публикации {
|
178 |
save_published(published)
|
179 |
break
|
180 |
|
|
|
146 |
slug = re.sub(r'-+', '-', slug).strip('-')
|
147 |
slug = slug[:250]
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
md_text = md_file.read_text(encoding="utf-8")
|
150 |
source_link = f"Источник: [ {md_file.name} ](https://github.com/kagvi13/HMP/blob/main/docs/{md_file.name})\n\n"
|
151 |
md_text = source_link + md_text
|
152 |
md_text = convert_md_links(md_text)
|
153 |
|
154 |
+
# Хэш после добавления источника
|
155 |
+
h = hashlib.md5(md_text.encode("utf-8")).hexdigest()
|
156 |
+
|
157 |
+
# Проверка публикации по title
|
158 |
+
if not force and title in published and published[title]["hash"] == h:
|
159 |
+
print(f"✅ Пост '{title}' без изменений — пропускаем.")
|
160 |
+
continue
|
161 |
+
|
162 |
try:
|
163 |
+
if title in published and "id" in published[title]:
|
164 |
+
post_id = published[title]["id"]
|
165 |
post = update_post(post_id, title, slug, md_text)
|
166 |
print(f"♻ Обновлён пост: https://hashnode.com/@yourusername/{post['slug']}")
|
167 |
else:
|
|
|
169 |
post = publish_draft(post["id"])
|
170 |
print(f"🆕 Пост опубликован: https://hashnode.com/@yourusername/{post['slug']}")
|
171 |
|
172 |
+
published[title] = {"id": post["id"], "slug": post["slug"], "hash": h}
|
173 |
save_published(published)
|
174 |
|
175 |
print("⏱ Пауза 30 секунд перед следующим постом...")
|
176 |
time.sleep(30)
|
177 |
|
178 |
except Exception as e:
|
179 |
+
print(f"❌ Ошибка при публикации {title}: {e}")
|
180 |
save_published(published)
|
181 |
break
|
182 |
|