mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-19 15:51:58 +00:00
improve mod news
This commit is contained in:
1 parent
8b67410243
commit
a1611406b5
4 files changed
+59
-16
No files matched your search
@@ -208,6 +208,7 @@ public static class Achievements
|
|||||||
};
|
};
|
||||||
|
|
||||||
request.SetRequestHeader("Content-Type", "application/json");
|
request.SetRequestHeader("Content-Type", "application/json");
|
||||||
|
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
|
||||||
yield return request.SendWebRequest();
|
yield return request.SendWebRequest();
|
||||||
|
|
||||||
Logger.Msg(request.result != UnityWebRequest.Result.Success ? $"Error saving achievements: {request.error}" : "Achievements saved successfully", "Achievements.SaveAllData");
|
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}";
|
var url = $"{ApiLoadEndpoint}?userId={userId}";
|
||||||
|
|
||||||
UnityWebRequest request = UnityWebRequest.Get(url);
|
UnityWebRequest request = UnityWebRequest.Get(url);
|
||||||
|
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
|
||||||
yield return request.SendWebRequest();
|
yield return request.SendWebRequest();
|
||||||
|
|
||||||
if (request.result != UnityWebRequest.Result.Success)
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ public static class LobbySharingAPI
|
|||||||
};
|
};
|
||||||
|
|
||||||
request.SetRequestHeader("Content-Type", "application/json");
|
request.SetRequestHeader("Content-Type", "application/json");
|
||||||
|
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
|
||||||
yield return request.SendWebRequest();
|
yield return request.SendWebRequest();
|
||||||
|
|
||||||
LastRequestTimeStamp = Utils.TimeStamp;
|
LastRequestTimeStamp = Utils.TimeStamp;
|
||||||
@@ -111,6 +112,7 @@ public static class LobbySharingAPI
|
|||||||
};
|
};
|
||||||
|
|
||||||
request.SetRequestHeader("Content-Type", "application/json");
|
request.SetRequestHeader("Content-Type", "application/json");
|
||||||
|
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
|
||||||
yield return request.SendWebRequest();
|
yield return request.SendWebRequest();
|
||||||
|
|
||||||
LastRequestTimeStamp = Utils.TimeStamp;
|
LastRequestTimeStamp = Utils.TimeStamp;
|
||||||
|
|||||||
@@ -16,13 +16,16 @@ namespace EHR;
|
|||||||
public class ModNews
|
public class ModNews
|
||||||
{
|
{
|
||||||
// ReSharper disable UnassignedField.Global
|
// ReSharper disable UnassignedField.Global
|
||||||
public int Number;
|
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||||
public string Date;
|
public int Number { get; set; }
|
||||||
public string Title;
|
public string Date { get; set; }
|
||||||
public string SubTitle;
|
public string Title { get; set; }
|
||||||
public string ShortTitle;
|
public string SubTitle { get; set; }
|
||||||
public string Text;
|
public string ShortTitle { get; set; }
|
||||||
|
|
||||||
|
public string Text { get; set; }
|
||||||
// ReSharper restore UnassignedField.Global
|
// ReSharper restore UnassignedField.Global
|
||||||
|
// ReSharper restore UnusedAutoPropertyAccessor.Global
|
||||||
|
|
||||||
public Announcement ToAnnouncement()
|
public Announcement ToAnnouncement()
|
||||||
{
|
{
|
||||||
@@ -52,7 +55,7 @@ public static class ModNewsFetcher
|
|||||||
public static IEnumerator FetchNews()
|
public static IEnumerator FetchNews()
|
||||||
{
|
{
|
||||||
UnityWebRequest request = UnityWebRequest.Get(NewsUrl);
|
UnityWebRequest request = UnityWebRequest.Get(NewsUrl);
|
||||||
request.SetRequestHeader("User-Agent", "EndlessHostRoles-Mod");
|
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
|
||||||
|
|
||||||
yield return request.SendWebRequest();
|
yield return request.SendWebRequest();
|
||||||
|
|
||||||
@@ -66,6 +69,7 @@ public static class ModNewsFetcher
|
|||||||
{
|
{
|
||||||
List<ModNews> newsList = ModNews.FromJson(request.downloadHandler.text);
|
List<ModNews> newsList = ModNews.FromJson(request.downloadHandler.text);
|
||||||
ModNewsHistory.AllModNews = newsList.OrderByDescending(n => DateTime.Parse(n.Date)).ToList();
|
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); }
|
catch (Exception ex) { Utils.ThrowException(ex); }
|
||||||
}
|
}
|
||||||
|
|||||||
+44
-9
@@ -1,4 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
|
import re
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
import markdown
|
import markdown
|
||||||
import requests
|
import requests
|
||||||
@@ -19,32 +21,65 @@ def fetch_latest_release():
|
|||||||
for i, release in enumerate(releases):
|
for i, release in enumerate(releases):
|
||||||
tag = release["tag_name"]
|
tag = release["tag_name"]
|
||||||
title = f"Endless Host Roles {tag}"
|
title = f"Endless Host Roles {tag}"
|
||||||
subtitle = f"★★★★Release {tag}★★★★"
|
subtitle = f"Update if you haven't already!"
|
||||||
short_title = f"★EHR {tag}"
|
short_title = f"∞ EHR {tag}"
|
||||||
date = release["published_at"]
|
date = release["published_at"]
|
||||||
body_md = release["body"]
|
body_md = release["body"]
|
||||||
|
|
||||||
body_html = markdown.markdown(body_md)
|
body_html = markdown.markdown(body_md)
|
||||||
body_html = (
|
body_html = (
|
||||||
body_html
|
body_html
|
||||||
.replace("</p>", "</p>\n")
|
.replace(">", ">")
|
||||||
.replace("<li>", " - ")
|
.replace("&", "&")
|
||||||
|
.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("</li>", "\n")
|
||||||
.replace("<ul>", "")
|
.replace("<ul>", "")
|
||||||
.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"
|
for _ in range(10):
|
||||||
subtitle_line = f"<size=125%>{subtitle}</size>\n\n"
|
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 = {
|
mod_news = {
|
||||||
"Number": 100000 + i,
|
"Number": 100000 + i,
|
||||||
"Title": title,
|
"Title": title,
|
||||||
"SubTitle": subtitle,
|
"SubTitle": subtitle,
|
||||||
"ShortTitle": short_title,
|
"ShortTitle": short_title,
|
||||||
"Text": intro_line + subtitle_line + body_html,
|
"Text": body_html,
|
||||||
"Date": date
|
"Date": formatted_date
|
||||||
}
|
}
|
||||||
|
|
||||||
mod_news_list.append(mod_news)
|
mod_news_list.append(mod_news)
|
||||||
|
|||||||
Reference in new issue
Block a user