Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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()