Ejemplo n.º 1
0
def execute(pagename, request):
    metas = get_metas(request, pagename, ["Type"], checkAccess=False)
    typeValue = metas.get("Type")
    if len(typeValue) == 0:
        licenseType = "cookie"
    else:
        licenseType = typeValue[0]

    if licenseType == "traditional":
        fake = FakeXmlrpcObj()
        fake.request = request
        cookie = generateCookie(fake, str(pagename))
        if isinstance(cookie, xmlrpclib.Fault):
            request.write(cookie.faultString)
            return

        filename = "license.key"
        request.headers['Content-Type'] = 'application/octet-stream',
        request.headers['Content-Disposition'] = 'attachment; ' + \
            'filename="%s"' % filename
        request.write(cookie.data)
    else:
        GetCookie(pagename, request).render()
Ejemplo n.º 2
0
    def do_action(self):
        form = values_to_form(self.request.values)
        days = form.get('days', [u''])[0]
        days = wikiutil.clean_input(days)

        try:
            days = int(days)
        except ValueError:
            return False, "Invalid number: %s" % days

        fake = FakeXmlrpcObj()
        fake.request = self.request
        cookie = generateCookie(fake, str(self.pagename), days * SECONDS_IN_DAY)
        if isinstance(cookie, xmlrpclib.Fault):
            return False, cookie.faultString

        default_filename = self.pagename + ".cookie"
        filename = form.get('filename', [default_filename])[0]

        self.filename = filename.encode("ascii", "ignore")
        self.cookie = cookie.data

        return True, ""