diff options
Diffstat (limited to 'tools/news.py')
-rwxr-xr-x | tools/news.py | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/tools/news.py b/tools/news.py deleted file mode 100755 index 43917140..00000000 --- a/tools/news.py +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env python -# -*- encoding: utf-8 -*- - -## news.py - Generates news. -## -## Copyright © 2012 Ben Longbons <b.r.longbons@gmail.com> -## -## This file is part of The Mana World -## -## This program is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program. If not, see <http://www.gnu.org/licenses/>. - - -from __future__ import print_function - -import sys -import os -from abc import ABCMeta, abstractmethod - -import _news_colors as colors - -class BasicWriter(object): - __slots__ = ('stream') - __metaclass__ = ABCMeta - def __init__(self, outfile): - self.stream = open(outfile, 'w') - - @abstractmethod - def start(self): - pass - - @abstractmethod - def put(self, entry): - pass - - @abstractmethod - def finish(self): - pass - -class HtmlWriter(BasicWriter): - __slots__ = () - def start(self): - self.stream.write('<!-- Generated by tools/news.py for index.php -->\n') - #self.stream.write('<pre>\n') - pass - - def put(self, entry): - self.stream.write('<div>\n<p/>\n') - entry = entry.replace('\n\n', '\n<p/>\n') - entry = entry.format(**colors.make_html_colors_dict()) - self.stream.write(entry) - self.stream.write('</div>\n') - - def finish(self): - #self.stream.write('</pre>\n') - pass - -class TxtWriter(BasicWriter): - __slots__ = () - def start(self): - pass - def put(self, entry): - entry = entry.replace('\n\n', '\n \n') - entry = entry.format(**colors.make_txt_colors_dict()) - self.stream.write(entry) - self.stream.write(' \n \n') - def finish(self): - # DO NOT REMOVE - #self.stream.write('Did you really read down this far?\n') - pass - -def create_writers(outdir): - yield TxtWriter(os.path.join(outdir, 'news.txt')) - yield HtmlWriter(os.path.join(outdir, 'news.html')) - -def main(outdir, indir=None): - if indir is None: - indir = os.path.join(outdir, 'news.d') - - out = list(create_writers(outdir)) - for s in out: - s.start() - for entry in sorted(os.listdir(indir), reverse=True): - if not entry.endswith('.txt'): - continue - e = open(os.path.join(indir, entry)).read() - for s in out: - s.put(e) - for s in out: - s.finish() - -if __name__ == '__main__': - main(*sys.argv[1:]) |