improve mod news

This commit is contained in:
Gurge44 committed 2025-06-11 19:36:40 +02:00
1 parent 8b67410243
commit a1611406b5
4 files changed
+59 -16

No files matched your search

+2
View File
@@ -208,6 +208,7 @@ public static class Achievements
};
request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest();
Logger.Msg(request.result != UnityWebRequest.Result.Success ? $"Error saving achievements: {request.error}" : "Achievements saved successfully", "Achievements.SaveAllData");
@@ -234,6 +235,7 @@ public static class Achievements
var url = $"{ApiLoadEndpoint}?userId={userId}";
UnityWebRequest request = UnityWebRequest.Get(url);
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success)
+2
View File
@@ -50,6 +50,7 @@ public static class LobbySharingAPI
};
request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest();
LastRequestTimeStamp = Utils.TimeStamp;
@@ -111,6 +112,7 @@ public static class LobbySharingAPI
};
request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest();
LastRequestTimeStamp = Utils.TimeStamp;
+11 -7
View File
@@ -16,13 +16,16 @@ namespace EHR;
public class ModNews
{
// ReSharper disable UnassignedField.Global
public int Number;
public string Date;
public string Title;
public string SubTitle;
public string ShortTitle;
public string Text;
// ReSharper disable UnusedAutoPropertyAccessor.Global
public int Number { get; set; }
public string Date { get; set; }
public string Title { get; set; }
public string SubTitle { get; set; }
public string ShortTitle { get; set; }
public string Text { get; set; }
// ReSharper restore UnassignedField.Global
// ReSharper restore UnusedAutoPropertyAccessor.Global
public Announcement ToAnnouncement()
{
@@ -52,7 +55,7 @@ public static class ModNewsFetcher
public static IEnumerator FetchNews()
{
UnityWebRequest request = UnityWebRequest.Get(NewsUrl);
request.SetRequestHeader("User-Agent", "EndlessHostRoles-Mod");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest();
@@ -66,6 +69,7 @@ public static class ModNewsFetcher
{
List<ModNews> newsList = ModNews.FromJson(request.downloadHandler.text);
ModNewsHistory.AllModNews = newsList.OrderByDescending(n => DateTime.Parse(n.Date)).ToList();
Logger.Info($"Successfully fetched {ModNewsHistory.AllModNews.Count} mod news items.", "ModNewsFetcher");
}
catch (Exception ex) { Utils.ThrowException(ex); }
}
+44 -9
View File
@@ -1,4 +1,6 @@
import os
import re
from datetime import datetime
import markdown
import requests
@@ -19,32 +21,65 @@ def fetch_latest_release():
for i, release in enumerate(releases):
tag = release["tag_name"]
title = f"Endless Host Roles {tag}"
subtitle = f"★★★★Release {tag}★★★★"
short_title = f"★EHR {tag}"
subtitle = f"Update if you haven't already!"
short_title = f"∞ EHR {tag}"
date = release["published_at"]
body_md = release["body"]
body_html = markdown.markdown(body_md)
body_html = (
body_html
.replace("</p>", "</p>\n")
.replace("<li>", " - ")
.replace("&gt;", ">")
.replace("&amp;", "&")
.replace("<code>", "<mark=#00000033>")
.replace("</code>", "</mark>")
.replace("[!CAUTION]", "<b><u>CAUTION!</u></b>\n")
.replace("[!WARNING]", "<b><u>WARNING!</u></b>\n")
.replace("[!IMPORTANT]", "<b><u>IMPORTANT:</u></b>\n")
.replace("[!NOTE]", "<b><u>Note:</u></b>\n")
.replace("[!TIP]", "<b><u>Tip:</u></b>\n")
.replace("<blockquote>", "\n<size=70%>")
.replace("</blockquote>", "</size>\n")
.replace("<em>", "<i>")
.replace("</em>", "</i>")
.replace("<p>", "\n")
.replace("</p>", "\n")
.replace("<li>", " - ")
.replace("</li>", "\n")
.replace("<ul>", "")
.replace("</ul>", "")
.replace("<strong>", "<b>").replace("</strong>", "</b>")
.replace("<strong>", "<b>")
.replace("</strong>", "</b>")
.replace("<hr />", "---------------------------------------------------------------------------")
.replace("<h6>", "<b>")
.replace("</h6>", "</b>")
.replace("<h5>", "<b>")
.replace("</h5>", "</b>")
.replace("<h4>", "<b>")
.replace("</h4>", "</b>")
.replace("<h3>", "\n<size=110%><b>")
.replace("</h3>", "</b></size>\n")
.replace("<h2>", "\n\n<size=125%><b>")
.replace("</h2>", "</b></size>\n\n")
.replace("<h1>", "\n\n<size=150%><b>")
.replace("</h1>", "</b></size>\n\n")
)
body_html = re.sub(r'<a\s+href="[^"]*">(.*?)</a>', r'\1', body_html)
intro_line = f"<size=150%>Welcome to EHR {tag}.</size>\n"
subtitle_line = f"<size=125%>{subtitle}</size>\n\n"
for _ in range(10):
body_html = re.sub(r'\n\s*\n\s*\n+', '\n\n', body_html)
body_html = re.sub(r'^\s*-\s*$\n?', '', body_html, flags=re.MULTILINE)
dt = datetime.strptime(date, "%Y-%m-%dT%H:%M:%SZ")
formatted_date = dt.strftime("%Y-%m-%dT00:00:00Z")
mod_news = {
"Number": 100000 + i,
"Title": title,
"SubTitle": subtitle,
"ShortTitle": short_title,
"Text": intro_line + subtitle_line + body_html,
"Date": date
"Text": body_html,
"Date": formatted_date
}
mod_news_list.append(mod_news)