def do_render(self, collection_id, post_data, is_new=False): params = self._get_params(post_data, collection_id=collection_id) metabook_data = params.metabook_data base_url = params.base_url writer = params.writer if writer not in name2writer: return self.error_response("unknown writer %r" % writer) if is_new and not metabook_data: return self.error_response('POST argument metabook or collection_id required') if not is_new and metabook_data: return self.error_response('Specify either metabook or collection_id, not both') if base_url and not self.is_good_baseurl(base_url): log.bad("bad base_url: %r" % (base_url, )) return self.error_response( "bad base_url %r. check your $wgServer and $wgScriptPath variables. localhost, 192.168.*.* and 127.0.*.* are not allowed." % (base_url, )) log.info('render %s %s' % (collection_id, writer)) response = { 'collection_id': collection_id, 'writer': writer, 'is_cached': False, } self.qserve.qadd(channel="makezip", payload=dict(params=params.__dict__), jobid="%s:makezip" % (collection_id, ), timeout=20 * 60) self.qserve.qadd(channel="render", payload=dict(params=params.__dict__), jobid="%s:render-%s" % (collection_id, writer), timeout=20 * 60) return response
def do_render(self, collection_id, post_data, is_new=False): params = self._get_params(post_data, collection_id=collection_id) metabook_data = params.metabook_data base_url = params.base_url writer = params.writer if writer not in name2writer: return self.error_response("unknown writer %r" % writer) if is_new and not metabook_data: return self.error_response('POST argument metabook or collection_id required') if not is_new and metabook_data: return self.error_response('Specify either metabook or collection_id, not both') if base_url and not self.is_good_baseurl(base_url): log.bad("bad base_url: %r" % (base_url, )) return self.error_response("bad base_url %r. check your $wgServer and $wgScriptPath variables" % (base_url, )) log.info('render %s %s' % (collection_id, writer)) response = { 'collection_id': collection_id, 'writer': writer, 'is_cached': False, } self.qserve.qadd(channel="makezip", payload=dict(params=params.__dict__), jobid="%s:makezip" % (collection_id, ), timeout=20 * 60) self.qserve.qadd(channel="render", payload=dict(params=params.__dict__), jobid="%s:render-%s" % (collection_id, writer), timeout=20 * 60) return response
@json_response def do_render(self, collection_id, post_data, is_new=False): metabook_data = post_data.get('metabook') if is_new and not metabook_data: return self.error_response('POST argument metabook or collection_id required') if not is_new and metabook_data: return self.error_response('Specify either metabook or collection_id, not both') try: writer = post_data.get('writer', self.default_writer) except KeyError, exc: return self.error_response('POST argument required: %s' % exc) base_url = post_data.get('base_url') if base_url and not self.is_good_baseurl(base_url): log.bad("bad base_url: %r" % (base_url, )) return self.error_response("bad base_url %r. check your $wgServer and $wgScriptPath variables" % (base_url, )) writer_options = post_data.get('writer_options', '') template_blacklist = post_data.get('template_blacklist', '') template_exclusion_category = post_data.get('template_exclusion_category', '') print_template_prefix = post_data.get('print_template_prefix', '') print_template_pattern = post_data.get('print_template_pattern', '') login_credentials = post_data.get('login_credentials', '') force_render = bool(post_data.get('force_render')) script_extension = post_data.get('script_extension', '') language = post_data.get('language', '') log.info('render %s %s' % (collection_id, writer)) response = {