diff options
Diffstat (limited to 'web/news_to_html.py')
-rwxr-xr-x | web/news_to_html.py | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/web/news_to_html.py b/web/news_to_html.py new file mode 100755 index 0000000..4015a62 --- /dev/null +++ b/web/news_to_html.py @@ -0,0 +1,91 @@ +#! /usr/bin/env python +# -*- coding: utf8 -*- +# +# Copyright (C) 2018 The Mana World 2 +# Author: Jonatas N. (Jesusalva) + +import datetime +date=str(datetime.date.today()) + +#date="2019-08-05" + +# Update the INDEX +i1=open("index.bin", "r") +i2=open("1index.bin", "w") +for i in i1: + i2.write(i) +i2.close() +i1.close() +i1=open("index.bin", "w") +i2=open("1index.bin", "r") +i1.write(date+'\n') +for i in i2: + i1.write(i) +i2.close() +i1.close() +i1=open("index.bin", "r") + +# Prepare to sort from newest to oldest +dt=open("all_news.bin", "r") +dc=open("backup.bin", "w") +for i in dt: + dc.write(i) +dc.close() +dt.close() +dt=open("all_news.bin", "w") +dc=open("backup.bin", "r") + +# Read news and prepare header +ns=open("../update/news.txt", "r") +dt.write("\n<h3><a name="+date+">"+date+"</a></h3>\n\n<font color=black>") + +# Function to markup it, and strip new lines +def markup(r): + r=r.replace('##0', '</font><font color=black>') + r=r.replace('##1', '<font color=red>') + r=r.replace('##2', '<font color=green>') + r=r.replace('##3', '<font color=blue>') + r=r.replace('##4', '<font color=gold>') + r=r.replace('##5', '<font color=yellow>') + r=r.replace('##6', '<font color=pink>') + r=r.replace('##7', '<font color=purple>') + r=r.replace('##8', '<font color=gray>') + r=r.replace('##9', '<font color=brown>') + r=r.replace('##B', '<b>') + r=r.replace('##b', '</b>') + r=r.replace('[@@', '<a href="') + r=r.replace('|', '">') + r=r.replace('@@]', '</a>') + return r +def nn(r): + return r.replace('\n', '') + +# Write the news at all_news.bin, and then reload the backup. Finally, close the file +for i in ns: + dt.write(markup(i)+'<br/>\n') +dt.write("</font><hr/>") +for i in dc: + dt.write(i) + +ns.close() +dt.close() +dc.close() + +# Write the final HTML page +wp=open("news.html", "w") +dt=open("all_news.bin", "r") + +wp.write("<!DOCTYPE HTML><html><head><title>Server News</title></head><body>") +wp.write("<table border=1 align=left><tr><td>Archive</td></tr>") +for i in i1: + wp.write('<tr><td><a href=#'+nn(i)+'>'+nn(i)+'</a></td></tr>') +wp.write('</table><br/>') + +for line in dt: + wp.write(nn(line)) +wp.write("</body></html>") + +wp.close() +dt.close() +i1.close() + |