コード例 #1
0
ファイル: hdlrs.py プロジェクト: AoiKuiyuyou/AoikQuixoteStart
    def _q_index(self):
        url_path = quixote.get_request().get_path()

        url_qs = quixote.get_request().get_query()

        txt = 'Quixote: |{}{}|'.format(url_path, '?'+url_qs if url_qs else '')

        return txt
コード例 #2
0
ファイル: root.py プロジェクト: zhopping/cse491-serverz
 def delete(self):
     current_user = quixote.get_request().get_cookie('user')
     if (current_user is not None):
         request = quixote.get_request()
         key = request.form['key']
         if (current_user == image.get_owner(key)[0]):
             image.delete_image(key)
     return quixote.redirect('./')
コード例 #3
0
ファイル: root.py プロジェクト: zhopping/cse491-serverz
    def search_results(self):
        request = quixote.get_request()
        query = request.form['query']
        data = {'image_keys':image.search_metadata(query)}
        current_user = quixote.get_request().get_cookie('user')
        if (current_user is not None):
            data['user'] = current_user

        return html.render('search_results.html', values = data)
コード例 #4
0
ファイル: root.py プロジェクト: zhopping/cse491-serverz
    def image_with_key(self):
        request = quixote.get_request()
        key = request.form['key']
        data = image.get_image(key).metadata
        data['key'] = key
        data['image_comments'] = image.get_comments(key)
        current_user = quixote.get_request().get_cookie('user')
        if (current_user is not None):
            data['user'] = current_user
            if (current_user == image.get_owner(key)[0]):
                data['can_delete'] = True

        return html.render('image_with_key.html', values = data)
コード例 #5
0
ファイル: form.py プロジェクト: carmackjia/douban-quixote
 def _render_finish(self):
     r = TemplateIO(html=True)
     r += htmltext('</form><br class="quixoteform" />')
     code = get_request().response.javascript_code
     if code:
         r += self._render_javascript(code)
     return r.getvalue()
コード例 #6
0
ファイル: publish1.py プロジェクト: nascheme/quixote
    def _q_traverse(self, path):
        # Initialize the publisher's namespace_stack
        del self.namespace_stack[:]

        request = get_request()

        # Traverse package to a (hopefully-) callable object
        object = _traverse_url(self.root_namespace, path, request, self.namespace_stack)

        # None means no output -- traverse_url() just issued a redirect.
        if object is None:
            return None

        # Anything else must be either a string...
        if isstring(object):
            output = object

        # ...or a callable.
        elif hasattr(object, "__call__"):
            output = object(request)
            if output is None:
                raise RuntimeError, "callable %s returned None" % repr(object)

        # Uh-oh: 'object' is neither a string nor a callable.
        else:
            raise RuntimeError("object is neither callable nor a string: %s" % repr(object))

        return output
コード例 #7
0
ファイル: twilltestserver.py プロジェクト: SMFOSS/twill
    def multisubmitform(self):
        request = get_request()
        
        submit1 = widget.SubmitWidget('sub_a', value='sub_a')
        submit2 = widget.SubmitWidget('sub_b', value='sub_b')

        s = ""
        if request.form:
            used = False
            if submit1.parse(request):
                used = True
                s += "used_sub_a"
            if submit2.parse(request):
                used = True
                s += "used_sub_b"

            if not used:
                assert 0

            # print out the referer, too.
            referer = request.environ.get('HTTP_REFERER')
            if referer:
                s += "<p>referer: %s" % (referer,)

        return "<form method=POST>%s %s %s</form>" % (s,
                                                      submit1.render(),
                                                      submit2.render())
コード例 #8
0
ファイル: ModPySessionManager.py プロジェクト: philn/alinea
    def _set_cookie(self, value, **attrs):
        """(session_id : string)

        Ensure that a session cookie with value 'session_id' will be
        returned to the client via the response object.

        Since Mod_Python has its own Cookie management system, we use it.
        """
        config = get_publisher().config
        name = config.session_cookie_name
        domain = config.session_cookie_domain

        if config.session_cookie_path:
            path = config.session_cookie_path
        else:
            path = get_request().get_environ('SCRIPT_NAME')
            if not path.endswith("/"):
                path += "/"

        expires = -1

        options = {'expires': expires,
                   'path': path }

        if domain is not None:
            options.update({'domain':domain})

        if value:
            Cookie.add_cookie(self.modpython_request, name, value, **options)

        return name
コード例 #9
0
ファイル: root.py プロジェクト: fakestuff/cse491-serverz
    def get_comments(self):
        response = quixote.get_response()
        request = quixote.get_request()

        try:
            i = int(request.form['num'])
        except:
            i = -1

        all_comments = []
        for comment in image.get_comments(i):
            all_comments.append("""\
    <comment>
     <text>%s</text>
    </comment>
    """ % (comment))

        xml = """
    <?xml version="1.0"?>
    <comments>
    %s
    </comments>
    """ % ("".join(all_comments))

        return xml
コード例 #10
0
ファイル: twilltestserver.py プロジェクト: SMFOSS/twill
    def testformaction(self):
        request = get_request()

        keys = [ k for k in request.form.keys() if request.form[k] ]
        keys.sort()
        
        return "==" + " AND ".join(keys) + "=="
コード例 #11
0
ファイル: widget.py プロジェクト: J41Manning/cse491-serverz
 def parse(self, request=None):
     if not self._parsed:
         if request is None:
             request = get_request()
         self._parse(request)
         self._parsed = True
     return self.value
コード例 #12
0
ファイル: root.py プロジェクト: juru13/cse491-serverz
 def image(self):
     request = quixote.get_request()
     i = request.form['i']
     img = image.get_image(int(i))
     metadata = img[2]
     metadata['index'] = int(i)
     return html.render('image.html', values = metadata)
コード例 #13
0
ファイル: root.py プロジェクト: juru13/cse491-serverz
 def image_raw(self):
     response = quixote.get_response()
     request = quixote.get_request()
     i = request.form['i']
     img = image.get_image(int(i))
     response.set_content_type('image/%s' % img[1])
     return img[0]
コード例 #14
0
ファイル: view.py プロジェクト: ctb/willow
    def add_bookmark(self):
        request = quixote.get_request()
        response = quixote.get_response()
        form = request.form

        sequence = form.get('sequence')
        start = int(form.get('start'))
        stop = int(form.get('stop'))
        color = form.get('color', 'green')
        
        name = form.get('name', '')
        if not name:
            template = env.get_template('BasicView/add_bookmark.html')
            return template.render(locals())

        ###

        bookmarks.add_bookmark(name, self.genome_name, sequence, start, stop,
                               +1, color)

        self._load_bookmarks()

        url = request.get_url(1)
        url += '/go?sequence=%s&start=%d&stop=%d' % (quote_plus(sequence),
                                                    start, stop)
        return response.redirect(url)
コード例 #15
0
ファイル: Directory.py プロジェクト: philn/alinea
 def _q_lookup(self, lang):
     request = get_request()
     request.session['language'] = lang
     referer = request.get_environ('HTTP_REFERER')
     if not referer:
         referer = config.site_url
     return request.response.redirect(referer)
コード例 #16
0
ファイル: blast_view.py プロジェクト: ctb/willow
    def do_blast(self):
        request = quixote.get_request()
        form = request.form

        seq = form['seq']
        seq_type = sequtil.guess_seqtype(seq)
        db_type = self.db._seqtype
        prog = blast.blast_program(seq_type, db_type)
        
        do_translate = form.get('do_translate', 0)
        if do_translate:
            do_translate = int(do_translate)
        
        if prog == 'blastn' and do_translate:
            prog = 'tblastx'

        cmd = ['blastall', '-p', prog, '-d', self.db.filepath, '-e', '1']
        p = subprocess.Popen(cmd, stdin=subprocess.PIPE,
                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        (stdout, stderr) = p.communicate(">query\n" + seq)

        try:
            record = blastparser.parse_string(stdout).next()
        except StopIteration:
            template = env.get_template('BlastView/no-results.html')
            return template.render(locals())
            
        genome_name = self.genome_name
        filepath = self.db.filepath
        
        template = env.get_template('BlastView/results.html')
        return template.render(locals())
コード例 #17
0
ファイル: User.py プロジェクト: philn/alinea
    def handle(self, request):
        self.request = get_request()
        if self.isNew():
            user = self.newUser()
	redir = AdminPage.handle(self, request)
	if redir:
	    return redir
コード例 #18
0
ファイル: form.py プロジェクト: carmackjia/douban-quixote
 def _get_default_action_url(self):
     request = get_request()
     action_url = url_quote(request.get_path())
     query = request.get_environ("QUERY_STRING")
     if query:
         action_url += "?" + query
     return action_url
コード例 #19
0
ファイル: messages.py プロジェクト: mrmaple/open_qon
def t(text):
    """Return translated text.
    
    This is a standard hook to gettext, but with a twist: since our
    Quixote app runs in an app server, the typical global gettext
    approach doesn't work, because requests come in from different users
    and languages.
    
    We therefore have to check the HTTPRequest object to find the
    appropriate translator.
    """
    
    publisher = get_publisher()
    if not publisher:
        return text
    
    try:
        request = get_request()
    except AttributeError:
        # publisher has no request during import/load of this module
        return text
        
    if not request or not hasattr(request, 'gettext'):
        # gettext attr is installed by QonPublisher
        return text
        
    return request.gettext(text)
コード例 #20
0
ファイル: twilltestserver.py プロジェクト: SMFOSS/twill
 def upload_file(self):
     request = get_request()
     if request.form:
         contents = request.form['upload'].fp.read()
         return contents
     else:
         return "<form enctype=multipart/form-data method=POST> <input type=file name=upload> <input type=submit value=submit> </form>"
コード例 #21
0
ファイル: form.py プロジェクト: carmackjia/douban-quixote
 def clear_errors(self):
     """Ensure that all components of the form have parsed themselves.
     Clear any errors that might have occured during parsing.
     """
     request = get_request()
     for widget in self.get_all_widgets():
         widget.clear_error(request)
コード例 #22
0
ファイル: twilltestserver.py プロジェクト: SMFOSS/twill
    def login(self):
        request = get_request()

        username_widget = widget.StringWidget(name='username',
                                              value='')
        submit_widget = widget.SubmitWidget(name='submit',
                                            value='submit me')
        submit_widget2 = widget.SubmitWidget(name='nosubmit2',
                                             value="don't submit")
        
        if request.form:
            assert not submit_widget2.parse(request)
            username = username_widget.parse(request)
            if username:
                session = get_session()
                session.set_user(username)
                return redirect('./')

        image_submit = '''<input type=image name='submit you' src=DNE.gif>'''
                
        return "<form method=POST>Log in: %s<p>%s<p>%s<p>%s</form>" % \
               (username_widget.render(),
                submit_widget2.render(),
                submit_widget.render(),
                image_submit)
コード例 #23
0
    def finish_failed_request(self):
        """Called near the end of a failed request (i.e. a exception that was
        not a PublisherError was raised.
        """

        request = get_request()
        self.clear_session(request)
コード例 #24
0
ファイル: qxmlrpc.py プロジェクト: mrmaple/open_qon
 def _attempt_record_ip(self, user):
     try:
         request = get_request()
     except:
         pass
     else:
         user.record_ip_access(request.get_environ('REMOTE_ADDR'))
コード例 #25
0
ファイル: util.py プロジェクト: nascheme/quixote
    def __call__(self):
        if not self.follow_symlinks and os.path.islink(self.path):
            raise errors.TraversalError(private_msg="Path %r is a symlink"
                                        % self.path)
        request = quixote.get_request()
        response = quixote.get_response()

        if self.cache_time is None:
            response.set_expires(None) # don't set the Expires header
        else:
            # explicitly allow client to cache page by setting the Expires
            # header, this is even more efficient than the using
            # Last-Modified/If-Modified-Since since the browser does not need
            # to contact the server
            response.set_expires(seconds=self.cache_time)

        try:
            stat = os.stat(self.path)
        except OSError:
            raise errors.TraversalError
        last_modified = formatdate(stat.st_mtime)
        if last_modified == request.get_header('If-Modified-Since'):
            # handle exact match of If-Modified-Since header
            response.set_status(304)
            return ''

        # Set the Content-Type for the response and return the file's contents.
        response.set_content_type(self.mime_type)
        if self.encoding:
            response.set_header("Content-Encoding", self.encoding)

        response.set_header('Last-Modified', last_modified)

        return FileStream(open(self.path, 'rb'), stat.st_size)
コード例 #26
0
ファイル: root.py プロジェクト: jprickles/cse491-serverz
 def result(self):
 	response = quixote.get_request()
 	
 	info = response.form['query']
 	
 	results = image.search(info)
 	return html.render('result.html', results)
コード例 #27
0
    def newegg(self):
	try :
	    request = quixote.get_request()
	    if request.form.get("url") == None:
		return '0'
	    newegg_url = request.environ.get('QUERY_STRING', '')
	    newegg_list = newegg_url.split('=')
	    if len(newegg_list) < 3 :
		return '0'
	    urlString = "%s=%s" % (newegg_list[1],newegg_list[2])
	    #url_params = url.decode_url_string(newegg_url)
	    #urlString = "".join(["%s=%s" % (k, v) for k, v in url_params.items()])
	    newegg = md5.new()
	    newegg.update(urlString)
	    
	    req = Request(urlString)
	    f = urlopen(req)
	    local_file = open("%s/%s.%s" %(_tesseract_temp_path,newegg.hexdigest(),_newegg_filename_flag), "w" + "b")
	    local_file.write(f.read())
	    local_file.close()
	    os.system("convert -compress none -alpha off %s/%s.%s %s/%s-convert.tiff" % (_tesseract_temp_path,newegg.hexdigest(),_newegg_filename_flag,_tesseract_temp_path,newegg.hexdigest()))
	    os.system("tesseract %s/%s-convert.tiff %s/%s" % (_tesseract_temp_path,newegg.hexdigest(),_tesseract_temp_path,newegg.hexdigest()))
	    numbers = retrieve_text("%s/%s" %(_tesseract_temp_path,newegg.hexdigest()) );
	    os.remove("%s/%s.%s" %(_tesseract_temp_path,newegg.hexdigest(),_newegg_filename_flag))
	    os.remove("%s/%s-convert.tiff" %(_tesseract_temp_path,newegg.hexdigest()))
	    os.remove("%s/%s.txt" %(_tesseract_temp_path,newegg.hexdigest()))
	    return numbers
	    if numbers == None:
		return '0'
	    else:
		return numbers
	except IOError:
	    return '0'
コード例 #28
0
ファイル: __init__.py プロジェクト: kshakya/pony-build
    def _q_index(self):
        request = quixote.get_request()
        package = self.package
        package_exists = self.package in self.coord.get_all_packages()

        template = env.get_template("feed_generic_package_index.html")
        return template.render(locals()).encode("latin-1", "replace")
コード例 #29
0
ファイル: root.py プロジェクト: jprickles/cse491-serverz
 def get_score(self):
 	request = quixote.get_request()
 	response = quixote.get_response()
 	
 	the_int = int(request.form['special'])
 	score   = image.get_score(the_int)
 	return score
コード例 #30
0
    def suning(self):
	try :
	    request = quixote.get_request()
	    if request.form.get("url") == None:
		return '0'
	    urlString = request.form.get("url")
	    newegg = md5.new()
	    newegg.update(urlString)
	    cookie = cookielib.CookieJar()
	    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
	    req = Request(urlString)
	    f = urlopen(req)
	    local_file = open("%s/%s.%s" %(_tesseract_temp_path,newegg.hexdigest(),_suning_filename_flag), "w" + "b")
	    local_file.write(f.read())
	    local_file.close()
	    os.system("convert -compress none -depth 8 -alpha off %s/%s.%s %s/%s-convert.tiff" % (_tesseract_temp_path,newegg.hexdigest(),_suning_filename_flag,_tesseract_temp_path,newegg.hexdigest()))
	    os.system("tesseract %s/%s-convert.tiff %s/%s" % (_tesseract_temp_path,newegg.hexdigest(),_tesseract_temp_path,newegg.hexdigest()))
	    numbers = retrieve_text("%s/%s" %(_tesseract_temp_path,newegg.hexdigest()) );
	    os.remove("%s/%s.%s" %(_tesseract_temp_path,newegg.hexdigest(),_suning_filename_flag))
	    os.remove("%s/%s-convert.tiff" %(_tesseract_temp_path,newegg.hexdigest()))
	    os.remove("%s/%s.txt" %(_tesseract_temp_path,newegg.hexdigest()))
	    return numbers
	    if numbers == None:
		return '0'
	    else:
		return numbers
	except IOError:
	    return '0'        
コード例 #31
0
ファイル: twilltestserver.py プロジェクト: joelimome/twill
    def formpostredirect(self):
        """
        Test redirect after a form POST.  This tests a specific bug in
        mechanize...
        """
        request = get_request()

        if not request.form:
            return """\
<form method=POST enctype=multipart/form-data>
<input type=text name=test>
<input type=submit value=submit name=submit>
</form>
"""
        redirect(get_path(1) + '/')
コード例 #32
0
    def testform(self):
        request = get_request()

        s = ""
        if not request.form:
            s = "NO FORM"

        if request.form and request.form.has_key('selecttest'):
            vals = request.form['selecttest']

            if isinstance(vals, str):
                vals = [
                    vals,
                ]

            s += "SELECTTEST: ==%s==<p>" % " AND ".join(vals, )

        if request.form:
            l = []
            for name in ('item', 'item_a', 'item_b', 'item_c'):
                if request.form.get(name):
                    val = request.form[name]
                    l.append('%s=%s' % (name, val))

            s += "NAMETEST: ==%s==<p>" % " AND ".join(l)

        return """\
%s
<form method=POST id=the_form>
<select name=selecttest multiple>
<option> val
<option value='selvalue1'> value1 </option>
<option value='selvalue2'> value2 </option>
<option value='selvalue3'> value3 </option>
<option value='test.value3'> testme.val </option>
<option value=Test.Value4> testme4.val </option>
</select>

<input type=text name=item>
<input type=text name=item_a>
<input type=text name=item_b>
<input type=text name=item_c>

<input type=text id=some_id>

<input type=submit value=post id=submit_button>
</form>
""" % (s, )
コード例 #33
0
ファイル: session.py プロジェクト: pganti/micheles
 def _set_cookie(self, value, **attrs):
     config = get_publisher().config
     name = config.session_cookie_name
     if config.session_cookie_path:
         path = config.session_cookie_path
     else:
         path = get_request().get_environ('SCRIPT_NAME')
         if not path.endswith("/"):
             path += "/"
     domain = config.session_cookie_domain
     get_response().set_cookie(name,
                               value,
                               domain=domain,
                               path=path,
                               **attrs)
     return name
コード例 #34
0
    def get_submit(self):
        """() -> string | bool

        Get the name of the submit button that was used to submit the
        current form.  If the form is submitted but not by any known
        SubmitWidget then return True.  Otherwise, return False.
        """
        request = get_request()
        for button in self.submit_widgets:
            if button.parse(request):
                return button.name
        else:
            if self.is_submitted():
                return True
            else:
                return False
コード例 #35
0
ファイル: nextbus.py プロジェクト: ctb/meep
    def get_next_bus(self):
        request = quixote.get_request()
        response = quixote.get_response()
        response.set_content_type('application/json')
        form = request.form

        #return """{"route_num": "22", "stop_number": 2586, "route_name": "HASLETT-MERIDIAN MALL-MSU", "time": "6:17a"}"""

        lat = form['lat']
        lon = form['lon']
        stop_number = get_closest_stop(lat, lon)
        data = get_next_bus_time(stop_number)
        data['stop_number'] = stop_number

        x = json.dumps(data)
        return x
コード例 #36
0
    def _q_access(self):
        r = get_request()

        print '======================== NEW REQUEST'
        for k, v in r.environ.items():
            print '***', k, ':', v

        ha = r.get_environ('HTTP_AUTHORIZATION', None)
        if ha:
            auth_type, auth_string = ha.split()
            login, passwd = base64.decodestring(auth_string).split(':')

            if login == 'test' and passwd == 'password':
                return

        raise UnauthorizedError
コード例 #37
0
 def expire_session(self):
     """
     Expire the current session, ie. revoke the session cookie from
     the client and remove the session object from the session
     manager and from the current request.
     """
     self.revoke_session_cookie()
     request = get_request()
     try:
         del self[request.session.id]
     except KeyError:
         # This can happen if the current session hasn't been saved
         # yet, eg. if someone tries to leave a session with no
         # interesting data.  That's not a big deal, so ignore it.
         pass
     request.session = None
コード例 #38
0
ファイル: util.py プロジェクト: giorgil/quixote
def dump_request(request=None):
    if request is None:
        request = quixote.get_request()
    """Dump an HTTPRequest object as HTML."""
    row_fmt = htmltext('<tr><th>%s</th><td>%s</td></tr>')
    r = TemplateIO(html=True)
    r += htmltext('<h3>form</h3>' '<table>')
    for k, v in request.form.items():
        r += row_fmt % (k, v)
    r += htmltext('</table>' '<h3>cookies</h3>' '<table>')
    for k, v in request.cookies.items():
        r += row_fmt % (k, v)
    r += htmltext('</table>' '<h3>environ</h3>' '<table>')
    for k, v in request.environ.items():
        r += row_fmt % (k, v)
    r += htmltext('</table>')
    return r.getvalue()
コード例 #39
0
    def is_submitted(self):
        """() -> bool

        Return true if a form was submitted.  If the form method is 'POST'
        and the page was not requested using 'POST', then the form is not
        considered to be submitted.  If the form method is 'GET' then the
        form is considered submitted if there is any form data in the
        request.
        """
        request = get_request()
        if self.method == 'post':
            if request.get_method() == 'POST':
                return True
            else:
                return False
        else:
            return bool(request.form)
コード例 #40
0
    def newegg(self):
        try:
            request = quixote.get_request()
            if request.form.get("url") == None:
                return '0'
            newegg_url = request.environ.get('QUERY_STRING', '')
            newegg_list = newegg_url.split('=')
            if len(newegg_list) < 3:
                return '0'
            urlString = "%s=%s" % (newegg_list[1], newegg_list[2])
            #url_params = url.decode_url_string(newegg_url)
            #urlString = "".join(["%s=%s" % (k, v) for k, v in url_params.items()])
            newegg = md5.new()
            newegg.update(urlString)

            req = Request(urlString)
            f = urlopen(req)
            local_file = open(
                "%s/%s.%s" % (_tesseract_temp_path, newegg.hexdigest(),
                              _newegg_filename_flag), "w" + "b")
            local_file.write(f.read())
            local_file.close()
            os.system(
                "convert -compress none -alpha off %s/%s.%s %s/%s-convert.tiff"
                % (_tesseract_temp_path, newegg.hexdigest(),
                   _newegg_filename_flag, _tesseract_temp_path,
                   newegg.hexdigest()))
            os.system("tesseract %s/%s-convert.tiff %s/%s" %
                      (_tesseract_temp_path, newegg.hexdigest(),
                       _tesseract_temp_path, newegg.hexdigest()))
            numbers = retrieve_text("%s/%s" %
                                    (_tesseract_temp_path, newegg.hexdigest()))
            os.remove("%s/%s.%s" % (_tesseract_temp_path, newegg.hexdigest(),
                                    _newegg_filename_flag))
            os.remove("%s/%s-convert.tiff" %
                      (_tesseract_temp_path, newegg.hexdigest()))
            os.remove("%s/%s.txt" % (_tesseract_temp_path, newegg.hexdigest()))
            return numbers
            if numbers == None:
                return '0'
            else:
                return numbers
        except IOError:
            return '0'
コード例 #41
0
    def test_checkboxes(self):
        request = get_request()

        s = ""
        if request.form and request.form.has_key('checkboxtest'):
            val = request.form['checkboxtest']
            if not isinstance(val, str) or isinstance(val, unicode):
                val = ','.join(val)

            s += "CHECKBOXTEST: ==%s==<p>" % val

        return """\
%s
<form method=POST>
<input type="checkbox" name="checkboxtest" value="one">
<input type="checkbox" name="checkboxtest" value="two">
<input type="checkbox" name="checkboxtest" value="three">
<input type=submit value=post>
</form>
""" % (s, )
コード例 #42
0
ファイル: session.py プロジェクト: zhou0/quixote
def set_session_cookie(session_id, **attrs):
    """Create a cookie in the HTTP response for 'session_id'.
    """
    config = get_publisher().config
    name = config.session_cookie_name
    if config.session_cookie_path:
        path = config.session_cookie_path
    else:
        path = get_request().get_environ('SCRIPT_NAME')
        if not path.endswith('/'):
            path += '/'
    domain = config.session_cookie_domain
    attrs = attrs.copy()
    if config.session_cookie_secure:
        attrs['secure'] = 1
    if config.session_cookie_httponly:
        attrs['httponly'] = 1
    get_response().set_cookie(name, session_id, domain=domain, path=path,
                              **attrs)
    return name
コード例 #43
0
    def test_checkbox(self):
        request = get_request()

        s = ""
        if request.form and request.form.has_key('checkboxtest'):
            val = request.form['checkboxtest']
            if not isinstance(val, str) and not isinstance(val, unicode):
                val = val[0]

            s += "CHECKBOXTEST: ==%s==<p>" % val

        return """\
%s
<form method=POST>

<input type="checkbox" name="checkboxtest" value="True">
<input type="hidden" name="checkboxtest" value="False">

<input type=submit value=post>
</form>
""" % (s, )
コード例 #44
0
ファイル: widget.py プロジェクト: luchuan/quixote
 def parse(self, request=None):
     if not self._parsed:
         self._parsed = True
         if request is None:
             request = get_request()
         if self._form is not None:
             # use the form to determine if form data was submitted.  It
             # is possible that there is a query string, the request method
             # is GET and the form method is POST.  In that case the form
             # should not be considered submitted.
             submitted = self._form.is_submitted()
         else:
             submitted = request.form or request.get_method() == 'POST'
         if submitted:
             try:
                 self._parse(request)
             except WidgetValueError, exc:
                 self.set_error(stringify(exc))
             if (self.required and self.value is None
                     and not self.has_error()):
                 self.set_error(self.REQUIRED_ERROR)
コード例 #45
0
ファイル: twilltestserver.py プロジェクト: mvdbeek/twill3
    def test_simple_checkbox(self):
        request = get_request()

        s = ""
        if request.form and 'checkboxtest' in request.form:
            val = request.form['checkboxtest']

            if not isinstance(val, str) or isinstance(val, str):
                val = val[0]

            s += "CHECKBOXTEST: ==%s==<p>" % val

        return """\
%s
<form method=POST>

<input type="checkbox" name="checkboxtest">

<input type=submit value=post>
</form>
""" % (s,)
コード例 #46
0
 def suning(self):
     try:
         request = quixote.get_request()
         if request.form.get("url") == None:
             return '0'
         urlString = request.form.get("url")
         newegg = md5.new()
         newegg.update(urlString)
         cookie = cookielib.CookieJar()
         opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
         req = Request(urlString)
         f = urlopen(req)
         local_file = open(
             "%s/%s.%s" % (_tesseract_temp_path, newegg.hexdigest(),
                           _suning_filename_flag), "w" + "b")
         local_file.write(f.read())
         local_file.close()
         os.system(
             "convert -compress none -depth 8 -alpha off %s/%s.%s %s/%s-convert.tiff"
             % (_tesseract_temp_path, newegg.hexdigest(),
                _suning_filename_flag, _tesseract_temp_path,
                newegg.hexdigest()))
         os.system("tesseract %s/%s-convert.tiff %s/%s" %
                   (_tesseract_temp_path, newegg.hexdigest(),
                    _tesseract_temp_path, newegg.hexdigest()))
         numbers = retrieve_text("%s/%s" %
                                 (_tesseract_temp_path, newegg.hexdigest()))
         os.remove("%s/%s.%s" % (_tesseract_temp_path, newegg.hexdigest(),
                                 _suning_filename_flag))
         os.remove("%s/%s-convert.tiff" %
                   (_tesseract_temp_path, newegg.hexdigest()))
         os.remove("%s/%s.txt" % (_tesseract_temp_path, newegg.hexdigest()))
         return numbers
         if numbers == None:
             return '0'
         else:
             return numbers
     except IOError:
         return '0'
コード例 #47
0
    def login(self):
        request = get_request()

        username_widget = widget.StringWidget(name='username', value='')
        submit_widget = widget.SubmitWidget(name='submit', value='submit me')
        submit_widget2 = widget.SubmitWidget(name='nosubmit2',
                                             value="don't submit")

        if request.form:
            assert not submit_widget2.parse(request)
            username = username_widget.parse(request)
            if username:
                session = get_session()
                session.set_user(username)
                return redirect('./')

        image_submit = '''<input type=image name='submit you' src=DNE.gif>'''

        return "<form method=POST>Log in: %s<p>%s<p>%s<p>%s</form>" % \
               (username_widget.render(),
                submit_widget2.render(),
                submit_widget.render(),
                image_submit)
コード例 #48
0
 def buy360(self):
     request = quixote.get_request()
     identify = CaptchaIdentifier()
     try:
         if request.form.get("url") == None:
             return '0'
         else:
             index = request.form.get("url").find("http://", 0)
             if index == -1:
                 return '0'
             CAPTHA = request.form.get("url")
             cookie = cookielib.CookieJar()
             opener = urllib2.build_opener(
                 urllib2.HTTPCookieProcessor(cookie))
             img_file = opener.open(CAPTHA)
             tmp = StringIO.StringIO(img_file.read())
             image = Image.open(tmp)
             numbers = identify.parse(image)
             if numbers == None:
                 return '0'
             else:
                 return numbers
     except IOError:
         return '0'
コード例 #49
0
 def _q_index(self):
     request = quixote.get_request()
     response = quixote.get_response()
     response.redirect(request.get_url(2))
コード例 #50
0
ファイル: nextbus.py プロジェクト: ctb/meep
 def _q_index(self):
     request = quixote.get_request()
     return quixote.redirect('./html/index.html')
コード例 #51
0
    def testformaction(self):
        request = get_request()

        keys = [k for k in request.form.keys() if request.form[k]]
        keys.sort()
        return "==" + " AND ".join(keys) + "=="
コード例 #52
0
ファイル: widget.py プロジェクト: nascheme/quixote
 def get_current_value(self):
     request = get_request()
     if request.form:
         return self.parse(request)
     else:
         return self.value
コード例 #53
0
ファイル: widget.py プロジェクト: nascheme/quixote
 def set_current_value(self, value):
     self.value = value
     request = get_request()
     if request.form:
         request.form[self.name] = value
コード例 #54
0
ファイル: widget.py プロジェクト: nascheme/quixote
 def is_submitted(self):
     return self.parse(get_request())
コード例 #55
0
 def process(self):
     values = {}
     request = get_request()
     for name, widget in self._names.items():
         values[name] = widget.parse()
     return values
コード例 #56
0
 def get_action_url(self):
     action_url = url_quote(get_path())
     query = get_request().get_query()
     if query:
         action_url += "?" + query
     return action_url
コード例 #57
0
 def echo(self):
     request = get_request()
     if request.form and request.form.has_key('q'):
         return request.form['q']
     return "<html><body>No Content</body></html>"
コード例 #58
0
 def format(self):
     request = get_request()
     request.response.set_header('WWW-Authenticate',
                                 'Basic realm="%s"' % self.realm)
     return AccessError.format(self)
コード例 #59
0
 def __init__(self, id):
     self.id = id
     self.user = None
     self._remote_address = get_request().get_environ("REMOTE_ADDR")
     self._creation_time = self._access_time = time()
     self._form_tokens = []  # queue
コード例 #60
0
ファイル: form.py プロジェクト: pganti/micheles
 def _get_default_action(self):
     query = get_request().get_query()
     if query:
         return "?" + query
     else:
         return ""