def _gen_index(): first_page = '{0:06}'.format(stories.first_page(story)) first_cmd = _page_command(first_page) print('[{0}]'.format(first_cmd)) html = _index_template.format( command=first_cmd, story=story, page=first_page ) with open(os.path.join(archdir, 'index.html'), 'w') as f: f.write(html)
def _format_navigation(previous_page): if previous_page == None: return '' else: return '<span style="font-size: 10px;"><b><a href="../{0}/{1:06}.html">Start Over</a> | <a href="../{0}/{2}.html">Go Back</a></b></span>'.format(story, stories.first_page(story), previous_page)
def _format_internal_page(match): other_story = match.group(1) page = match.group(3) if page == None: page = '{0:06}'.format(stories.first_page(other_story)) return '../{0}/{1}.html"'.format(other_story, page)
import os import argparse import mspa import archive import stories #parse args cmdline = argparse.ArgumentParser(description='Download MS Paint Adventures stories in an archival format.', add_help=True) arguments = cmdline.add_argument_group('positional arguments') arguments.add_argument('story', default='6', nargs='?', type=str, choices=['1','2','4','5','6','ryanquest'], help='Story to download. Default 6 for Homestuck') cmdline.add_argument('-p','--page', type=int, default=0, nargs='?', help='Page on which to start download. Default story start') cmdline.add_argument('-d','--directory', type=str, default='MSPA', nargs='?', \ help='Location for downloaded files. Default MSPA/') args = cmdline.parse_args() if args.page == 0: args.page = stories.first_page(args.story) archive.init(args.story, args.directory) downloader = mspa.SiteReader(args.story) pages = [('{0:06}'.format(args.page), None)] for (page, source) in pages: next_pages = downloader.get_page(page, source) pages.extend([(p, s) for (p, s) in next_pages if p not in set(list(zip(*pages))[0])]) archive.finalise()