def post(): parser = optparse.OptionParser(usage="%prog OPTIONS") parser.add_option("-i", "--input", help="ZIP file to POST") parser.add_option('-l', '--logfile', help='log output to LOGFILE', ) parser.add_option("-p", "--posturl", help="HTTP POST ZIP file to POSTURL") parser.add_option("-g", "--getposturl", help='get POST URL from PediaPress.com, open upload page in webbrowser', action='store_true', ) parser.add_option("-d", "--daemonize", action="store_true", help='become a daemon process as soon as possible') parser.add_option('--pid-file', help='write PID of daemonized process to this file', ) options, args = parser.parse_args() use_help = 'Use --help for usage information.' if not options.input: parser.error('Specify --input.\n' + use_help) if (options.posturl and options.getposturl)\ or (not options.posturl and not options.getposturl): parser.error('Specify either --posturl or --getposturl.\n' + use_help) if options.posturl: from mwlib.podclient import PODClient podclient = PODClient(options.posturl) elif options.getposturl: import webbrowser from mwlib.podclient import podclient_from_serviceurl podclient = podclient_from_serviceurl('http://pediapress.com/api/collections/') webbrowser.open(podclient.redirecturl) from mwlib import utils from mwlib.status import Status if options.logfile: utils.start_logging(options.logfile) if options.daemonize: utils.daemonize() if options.pid_file: open(options.pid_file, 'wb').write('%d\n' % os.getpid()) status = Status(podclient=podclient) try: try: status(status='uploading', progress=0) podclient.post_zipfile(options.input) status(status='finished', progress=100) except Exception, e: status(status='error') raise finally: if options.pid_file: utils.safe_unlink(options.pid_file)
def post(): parser = optparse.OptionParser(usage="%prog OPTIONS") parser.add_option("-i", "--input", help="ZIP file to POST") parser.add_option('-l', '--logfile', help='log output to LOGFILE') parser.add_option("-p", "--posturl", help="HTTP POST ZIP file to POSTURL") parser.add_option( "-g", "--getposturl", help='get POST URL from PediaPress.com, open upload page in webbrowser', action='store_true') options, args = parser.parse_args() use_help = 'Use --help for usage information.' if not options.input: parser.error('Specify --input.\n' + use_help) if (options.posturl and options.getposturl)\ or (not options.posturl and not options.getposturl): parser.error('Specify either --posturl or --getposturl.\n' + use_help) if options.posturl: from mwlib.podclient import PODClient podclient = PODClient(options.posturl) elif options.getposturl: import webbrowser from mwlib.podclient import podclient_from_serviceurl podclient = podclient_from_serviceurl( 'http://pediapress.com/api/collections/') webbrowser.open(podclient.redirecturl) from mwlib import utils from mwlib.status import Status if options.logfile: utils.start_logging(options.logfile) status = Status(podclient=podclient) try: status(status='uploading', progress=0) podclient.post_zipfile(options.input) status(status='finished', progress=100) except Exception as e: status(status='error') raise
def post(): parser = optparse.OptionParser(usage="%prog OPTIONS") parser.add_option("-i", "--input", help="ZIP file to POST") parser.add_option('-l', '--logfile', help='log output to LOGFILE') parser.add_option("-p", "--posturl", help="HTTP POST ZIP file to POSTURL") parser.add_option("-g", "--getposturl", help='get POST URL from PediaPress.com, open upload page in webbrowser', action='store_true') options, args = parser.parse_args() use_help = 'Use --help for usage information.' if not options.input: parser.error('Specify --input.\n' + use_help) if (options.posturl and options.getposturl)\ or (not options.posturl and not options.getposturl): parser.error('Specify either --posturl or --getposturl.\n' + use_help) if options.posturl: from mwlib.podclient import PODClient podclient = PODClient(options.posturl) elif options.getposturl: import webbrowser from mwlib.podclient import podclient_from_serviceurl podclient = podclient_from_serviceurl('http://pediapress.com/api/collections/') webbrowser.open(podclient.redirecturl) from mwlib import utils from mwlib.status import Status if options.logfile: utils.start_logging(options.logfile) status = Status(podclient=podclient) try: status(status='uploading', progress=0) podclient.post_zipfile(options.input) status(status='finished', progress=100) except Exception as e: status(status='error') raise
def buildzip(): from mwlib.options import OptionParser parser = OptionParser() parser.add_option("-o", "--output", help="write output to OUTPUT") parser.add_option("-p", "--posturl", help="http post to POSTURL (directly)") parser.add_option("-g", "--getposturl", help='get POST URL from PediaPress.com, open upload page in webbrowser', action='store_true', ) options, args = parser.parse_args() use_help = 'Use --help for usage information.' if parser.metabook is None and options.collectionpage is None: parser.error('Neither --metabook nor, --collectionpage or arguments specified.\n' + use_help) if options.posturl and options.getposturl: parser.error('Specify either --posturl or --getposturl.\n' + use_help) if not options.posturl and not options.getposturl and not options.output: parser.error('Neither --output, nor --posturl or --getposturl specified.\n' + use_help) if options.posturl: from mwlib.podclient import PODClient podclient = PODClient(options.posturl) elif options.getposturl: import webbrowser from mwlib.podclient import podclient_from_serviceurl podclient = podclient_from_serviceurl('http://pediapress.com/api/collections/') webbrowser.open(podclient.redirecturl) else: podclient = None from mwlib import utils if options.daemonize: utils.daemonize() if options.pid_file: open(options.pid_file, 'wb').write('%d\n' % os.getpid()) filename = None status = None try: try: env = parser.makewiki() from mwlib.status import Status from mwlib import zipcreator status = Status(podclient=podclient, progress_range=(1, 90)) status(progress=0) filename = zipcreator.make_zip_file(options.output, env, status=status, num_threads=options.num_threads, imagesize=options.imagesize, ) status = Status(podclient=podclient, progress_range=(91, 100)) if podclient: status(status='uploading', progress=0) podclient.post_zipfile(filename) status(status='finished', progress=100) except Exception, e: if status: status(status='error') raise finally: if options.output is None and filename is not None: print 'removing %r' % filename utils.safe_unlink(filename) if options.pid_file: utils.safe_unlink(options.pid_file)
def buildzip(): from mwlib.options import OptionParser parser = OptionParser() parser.add_option("-o", "--output", help="write output to OUTPUT") parser.add_option("-p", "--posturl", help="http post to POSTURL (directly)") parser.add_option( "-g", "--getposturl", help='get POST URL from PediaPress.com, open upload page in webbrowser', action='store_true', ) options, args = parser.parse_args() use_help = 'Use --help for usage information.' if parser.metabook is None and options.collectionpage is None: parser.error( 'Neither --metabook nor, --collectionpage or arguments specified.\n' + use_help) if options.posturl and options.getposturl: parser.error('Specify either --posturl or --getposturl.\n' + use_help) if not options.posturl and not options.getposturl and not options.output: parser.error( 'Neither --output, nor --posturl or --getposturl specified.\n' + use_help) if options.posturl: from mwlib.podclient import PODClient podclient = PODClient(options.posturl) elif options.getposturl: import webbrowser from mwlib.podclient import podclient_from_serviceurl podclient = podclient_from_serviceurl( 'http://pediapress.com/api/collections/') webbrowser.open(podclient.redirecturl) else: podclient = None from mwlib import utils if options.daemonize: utils.daemonize() if options.pid_file: open(options.pid_file, 'wb').write('%d\n' % os.getpid()) filename = None status = None try: try: env = parser.makewiki() from mwlib.status import Status from mwlib import zipcreator status = Status(podclient=podclient, progress_range=(1, 90)) status(status='parsing', progress=0) filename = zipcreator.make_zip_file( options.output, env, status=status, num_threads=options.num_threads, imagesize=options.imagesize, ) status = Status(podclient=podclient, progress_range=(91, 100)) if podclient: status(status='uploading', progress=0) podclient.post_zipfile(filename) status(status='finished', progress=100) except Exception, e: if status: status(status='error') raise finally: if options.output is None and filename is not None: print 'removing %r' % filename utils.safe_unlink(filename) if options.pid_file: utils.safe_unlink(options.pid_file)
def post(): parser = optparse.OptionParser(usage="%prog OPTIONS") parser.add_option("-i", "--input", help="ZIP file to POST") parser.add_option( '-l', '--logfile', help='log output to LOGFILE', ) parser.add_option("-p", "--posturl", help="HTTP POST ZIP file to POSTURL") parser.add_option( "-g", "--getposturl", help='get POST URL from PediaPress.com, open upload page in webbrowser', action='store_true', ) parser.add_option("-d", "--daemonize", action="store_true", help='become a daemon process as soon as possible') parser.add_option( '--pid-file', help='write PID of daemonized process to this file', ) options, args = parser.parse_args() use_help = 'Use --help for usage information.' if not options.input: parser.error('Specify --input.\n' + use_help) if (options.posturl and options.getposturl)\ or (not options.posturl and not options.getposturl): parser.error('Specify either --posturl or --getposturl.\n' + use_help) if options.posturl: from mwlib.podclient import PODClient podclient = PODClient(options.posturl) elif options.getposturl: import webbrowser from mwlib.podclient import podclient_from_serviceurl podclient = podclient_from_serviceurl( 'http://pediapress.com/api/collections/') webbrowser.open(podclient.redirecturl) from mwlib import utils from mwlib.status import Status if options.logfile: utils.start_logging(options.logfile) if options.daemonize: utils.daemonize() if options.pid_file: open(options.pid_file, 'wb').write('%d\n' % os.getpid()) status = Status(podclient=podclient) try: try: status(status='uploading', progress=0) podclient.post_zipfile(options.input) status(status='finished', progress=100) except Exception, e: status(status='error') raise finally: if options.pid_file: utils.safe_unlink(options.pid_file)