コード例 #1
0
ファイル: eventlog.py プロジェクト: aahlad/soar
    def add(self,
            request,
            eventtype,
            values=None,
            add_http_info=1,
            mtime_usecs=None):
        """ Write an event of type `eventtype, with optional key/value
            pairs appended (i.e. you have to pass a dict).
        """
        if request.isSpiderAgent:
            return

        if mtime_usecs is None:
            mtime_usecs = wikiutil.timestamp2version(time.time())

        if values is None:
            values = {}
        if request.cfg.log_remote_addr and add_http_info:
            # if cfg.log_remote_addr is False (usually for privacy reasons),
            # we likely do not want to log user agent and http referer either.
            for key in ['remote_addr', 'http_user_agent', 'http_referer']:
                value = getattr(request, key, '')
                if value:
                    # Save those http headers in UPPERcase
                    values[key.upper()] = value
        # Encode values in a query string TODO: use more readable format
        values = wikiutil.makeQueryString(values)
        self._add(u"%d\t%s\t%s\n" % (mtime_usecs, eventtype, values))
コード例 #2
0
ファイル: pagesize.py プロジェクト: execgit/gwiki-with-moin
def linkto(pagename, request, params=''):
    _ = request.getText

    if not request.cfg.chart_options:
        return (request.formatter.sysmsg(1) +
                request.formatter.text(_('Charts are not available!')) +
                request.formatter.sysmsg(0))

    if _debug:
        return draw(pagename, request)

    page = Page(request, pagename)

    # Create escaped query string from dict and params
    querystr = {'action': 'chart', 'type': 'pagesize'}
    querystr = wikiutil.makeQueryString(querystr)
    querystr = wikiutil.escape(querystr)
    if params:
        querystr += '&' + params

    data = {'url': page.url(request, querystr)}
    data.update(request.cfg.chart_options)
    result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
              ' alt="pagesize chart">') % data
    return result
コード例 #3
0
ファイル: oid.py プロジェクト: steveyen/moingo
    def _handle_oidreturn(self):
        request = self.request
        _ = request.getText

        oidconsumer = consumer.Consumer(request.session,
                                        MoinOpenIDStore(request))
        query = {}
        for key in request.form:
            query[key] = request.form[key][0]
        qstr = wikiutil.makeQueryString({'action': 'userprefs',
                                         'handler': 'oid',
                                         'oid.return': '1'})
        return_to = request.getQualifiedURL(request.page.url(request, qstr))
        info = oidconsumer.complete(query, return_to=return_to)
        if info.status == consumer.FAILURE:
            return 'error', _('OpenID error: %s.') % info.message
        elif info.status == consumer.CANCEL:
            return 'info', _('Verification canceled.')
        elif info.status == consumer.SUCCESS:
            if not hasattr(self.request.user, 'openids'):
                request.user.openids = []

            if info.identity_url in request.user.openids:
                return 'error', _("OpenID is already present.")

            if user.getUserIdByOpenId(request, info.identity_url):
                return 'error', _("This OpenID is already used for another account.")

            # all fine
            request.user.openids.append(info.identity_url)
            request.user.save()
            return 'info', _("OpenID added successfully.")
        else:
            return 'error', _('OpenID failure.')
コード例 #4
0
ファイル: AttachFile.py プロジェクト: steveyen/moingo
def attachUrl(request, pagename, filename=None, **kw):
    # filename is not used yet, but should be used later to make a sub-item url
    if kw:
        qs = '?%s' % wikiutil.makeQueryString(kw, want_unicode=False)
    else:
        qs = ''
    return "%s/%s%s" % (request.getScriptname(), wikiutil.quoteWikinameURL(pagename), qs)
コード例 #5
0
    def add(self, request, eventtype, values=None, add_http_info=1,
            mtime_usecs=None):
        """ Write an event of type `eventtype, with optional key/value
            pairs appended (i.e. you have to pass a dict).
        """
        cfg = request.cfg
        if cfg.log_events_format == 0 or request.isSpiderAgent:
            # no event logging enabled or user agent is a bot / spider
            return

        if mtime_usecs is None:
            mtime_usecs = wikiutil.timestamp2version(time.time())

        if values is None:
            values = {}
        if cfg.log_remote_addr and add_http_info:
            # if cfg.log_remote_addr is False (usually for privacy reasons),
            # we likely do not want to log user agent and http referer either.
            for key in ['remote_addr', 'http_user_agent', 'http_referer']:
                value = getattr(request, key, '')
                if value:
                    # Save those http headers in UPPERcase
                    values[key.upper()] = value

        if cfg.log_events_format == 2:
            values['username'] = request.user.name
            values['wikiname'] = cfg.interwikiname
            values['url'] = request.url

        # Encode values in a query string TODO: use more readable format
        values = wikiutil.makeQueryString(values)
        self._add(u"%d\t%s\t%s\n" % (mtime_usecs, eventtype, values))
コード例 #6
0
ファイル: hitcounts.py プロジェクト: imosts/flume
def linkto(pagename, request, params=''):
    _ = request.getText

    if not request.cfg.chart_options:
        request.formatter = Formatter(request)
        return text(pagename, request, params)

    if _debug:
        return draw(pagename, request)

    page = Page(request, pagename)

    # Create escaped query string from dict and params
    querystr = {'action': 'chart', 'type': 'hitcounts'}
    querystr = wikiutil.makeQueryString(querystr)
    querystr = wikiutil.escape(querystr)
    if params:
        querystr += '&amp;' + params
    
    # TODO: remove escape=0 in 2.0
    data = {'url': page.url(request, querystr, escape=0)}
    data.update(request.cfg.chart_options)
    result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
              ' alt="hitcounts chart">') % data

    return result
コード例 #7
0
ファイル: search.py プロジェクト: imosts/flume
 def querystring(self, querydict=None):
     """ Return query string, used in the page link """
     if querydict is None:
         querydict = {'highlight': self.query.highlight_re()}
     querystr = wikiutil.makeQueryString(querydict)
     #querystr = wikiutil.escape(querystr)
     return querystr
コード例 #8
0
ファイル: pagesize.py プロジェクト: Glottotopia/aagd
def linkto(pagename, request, params=''):
    _ = request.getText

    if not request.cfg.chart_options:
        return (request.formatter.sysmsg(1) +
                request.formatter.text(_('Charts are not available!')) +
                request.formatter.sysmsg(0))

    if _debug:
        return draw(pagename, request)

    page = Page(request, pagename)

    # Create escaped query string from dict and params
    querystr = {'action': 'chart', 'type': 'pagesize'}
    querystr = wikiutil.makeQueryString(querystr)
    querystr = wikiutil.escape(querystr)
    if params:
        querystr += '&amp;' + params

    data = {'url': page.url(request, querystr)}
    data.update(request.cfg.chart_options)
    result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
              ' alt="pagesize chart">') % data
    return result
コード例 #9
0
ファイル: explorer.py プロジェクト: 130s/roswiki
    def make_iconlink(self, which, d):
        """
        Make a link with an icon

        @param which: icon id (dictionary key)
        @param d: parameter dictionary
        @rtype: string
        @return: html link tag
        """
        page_name, querystr, title, icon = self.button_table[which]
        d['title'] = title % d
        d['i18ntitle'] = self.request.getText(d['title'], formatted=False)
        img_src = self.make_icon(icon, d)
        attrs = {'rel': 'nofollow', 'title': d['i18ntitle'], }
        if page_name:
            page = Page(self.request, page_name % d)
        else:
            page = d['page']
        if self.is_moin_1_5:  # Moin 1.5.x
            url = wikiutil.quoteWikinameURL(page.page_name)
            querystr = wikiutil.makeQueryString(querystr)
            if querystr:
                url = '%s?%s' % (url, querystr)
            html = wikiutil.link_tag(self.request, url, img_src, title="%(i18ntitle)s" % d)
        else:  # Moin 1.6
            rev = d['rev']
            if rev and which in ['raw', 'print', ]:
                querystr['rev'] = str(rev)
            html = page.link_to_raw(self.request, text=img_src, querystr=querystr, **attrs)
        return html
コード例 #10
0
ファイル: notification.py プロジェクト: steveyen/moingo
def page_link(request, page, querystr):
    """Create an absolute url to a given page with optional action

    @param page: a page to link to
    @type page: MoinMoin.Page.Page
    @param querystr: a dict passed to wikiutil.makeQueryString

    """
    query = wikiutil.makeQueryString(querystr, True)
    return request.getQualifiedURL(page.url(request, query))
コード例 #11
0
    def testMakeQueryStringFromArgument(self):
        """ util.web: make query sting from argument """
        tests = (
            # description,          arg,                expected
            ('string unchanged',    'a=b',              'a=b'),
            ('string value',        {'a': 'b'},         'a=b'),
            ('integer value',       {'a': 1},           'a=1'),
            ('multiply values',     {'a': 1, 'b': 2},   'a=1&b=2'),
            )

        for description, arg, expected in tests:
            assert wikiutil.makeQueryString(arg) == expected
コード例 #12
0
 def write(self, fname):
     """ write complete event-log to disk """
     if self.data:
         f = file(fname, 'w')
         for timestamp, action, kvdict in self.data:
             pagename = kvdict.get('pagename')
             if pagename and ('PAGE', pagename) in self.renames:
                 kvdict['pagename'] = self.renames[('PAGE', pagename)]
             kvpairs = wikiutil.makeQueryString(kvdict)
             fields = str(timestamp), action, kvpairs
             line = '\t'.join(fields) + '\n'
             f.write(line)
         f.close()
コード例 #13
0
ファイル: results.py プロジェクト: Opngate/moinmoin
    def querystring(self, querydict=None):
        """ Return query string, used in the page link

        @keyword querydict: use these parameters (default: None)
        """
        if querydict is None:
            querydict = {}
        if 'action' not in querydict or querydict['action'] == 'AttachFile':
            highlight = self.query.highlight_re()
            if highlight:
                querydict.update({'highlight': highlight})
        querystr = wikiutil.makeQueryString(querydict)
        return querystr
コード例 #14
0
ファイル: _conv160.py プロジェクト: Opngate/moinmoin
 def write(self, fname):
     """ write complete event-log to disk """
     if self.data:
         f = file(fname, "w")
         for timestamp, action, kvdict in self.data:
             pagename = kvdict.get("pagename")
             if pagename and ("PAGE", pagename) in self.renames:
                 kvdict["pagename"] = self.renames[("PAGE", pagename)]
             kvpairs = wikiutil.makeQueryString(kvdict)
             fields = str(timestamp), action, kvpairs
             line = "\t".join(fields) + "\n"
             f.write(line)
         f.close()
コード例 #15
0
    def testMakeQueryStringFromArgumentAndKeywords(self):
        """ util.web: make query sting from argument and keywords """

        tests = (
            # description,      arg,                    expected
            ('kw ignored',      'a=1',                  'a=1'),
            ('kw added to arg', {'a': 1},               'a=1&b=kw'),
            ('kw override arg', {'a': 1, 'b': 'arg'},   'a=1&b=kw'),
            )

        for description, arg, expected in tests:
            # Call makeQueryString with both arg and keyword
            assert wikiutil.makeQueryString(arg, b='kw') == expected
コード例 #16
0
    def querystring(self, querydict=None):
        """ Return query string, used in the page link

        @keyword querydict: use these parameters (default: None)
        """
        if querydict is None:
            querydict = {}
        if 'action' not in querydict or querydict['action'] == 'AttachFile':
            highlight = self.query.highlight_re()
            if highlight:
                querydict.update({'highlight': highlight})
        querystr = wikiutil.makeQueryString(querydict)
        return querystr
コード例 #17
0
ファイル: _conv160a.py プロジェクト: Glottotopia/aagd
 def write(self, fname):
     """ write complete event-log to disk """
     if self.data:
         f = file(fname, 'wb') # write in binary mode, so it stays exactly as we write it, even on windows.
                               # the code in MoinMoin.logfile also uses binary mode and writes \n only.
         for timestamp, action, kvdict in self.data:
             pagename = kvdict.get('pagename')
             if pagename and ('PAGE', pagename) in self.renames:
                 kvdict['pagename'] = self.renames[('PAGE', pagename)]
             kvpairs = wikiutil.makeQueryString(kvdict)
             fields = str(timestamp), action, kvpairs
             line = '\t'.join(fields) + '\n'
             f.write(line)
         f.close()
コード例 #18
0
ファイル: test_util_web.py プロジェクト: imosts/flume
    def testMakeQueryStringFromArgument(self):
        """ util.web: make query sting from argument """
        tests = (
            # description,          arg,                expected
            ('string unchanged',    'a=b',              'a=b'),
            ('string value',        {'a': 'b'},         'a=b'),
            ('integer value',       {'a': 1},           'a=1'),
            ('multiply values',     {'a': 1, 'b': 2},   'a=1&b=2'),
            )

        for description, arg, expected in tests:
            result = wikiutil.makeQueryString(arg)
            self.assertEqual(result, expected,
                             ('%(description)s: expected "%(expected)s" '
                              'but got "%(result)s"') % locals())
コード例 #19
0
ファイル: test_util_web.py プロジェクト: imosts/flume
 def testMakeQueryStringFromArgumentAndKeywords(self):
     """ util.web: make query sting from argument and keywords """        
     
     tests = (
         # description,      arg,                    expected
         ('kw ignored',      'a=1',                  'a=1'),             
         ('kw added to arg', {'a': 1},               'a=1&b=kw'),             
         ('kw override arg',  {'a': 1, 'b': 'arg'},   'a=1&b=kw'),
         )
     
     for description, arg, expected in tests:
         # Call makeQueryString with both arg and keyword
         result = wikiutil.makeQueryString(arg, b='kw')
         self.assertEqual(result, expected,
                          ('%(description)s: expected "%(expected)s" '
                           'but got "%(result)s"') % locals())
コード例 #20
0
ファイル: _conv160a.py プロジェクト: execgit/gwiki-with-moin
 def write(self, fname):
     """ write complete event-log to disk """
     if self.data:
         f = file(
             fname, 'wb'
         )  # write in binary mode, so it stays exactly as we write it, even on windows.
         # the code in MoinMoin.logfile also uses binary mode and writes \n only.
         for timestamp, action, kvdict in self.data:
             pagename = kvdict.get('pagename')
             if pagename and ('PAGE', pagename) in self.renames:
                 kvdict['pagename'] = self.renames[('PAGE', pagename)]
             kvpairs = wikiutil.makeQueryString(kvdict)
             fields = str(timestamp), action, kvpairs
             line = '\t'.join(fields) + '\n'
             f.write(line)
         f.close()
コード例 #21
0
    def testMakeQueryStringFromArgumentAndKeywords(self):
        """ util.web: make query sting from argument and keywords """

        tests = (
            # description,      arg,                    expected
            ('kw ignored', 'a=1', 'a=1'),
            ('kw added to arg', {
                'a': 1
            }, 'a=1&b=kw'),
            ('kw override arg', {
                'a': 1,
                'b': 'arg'
            }, 'a=1&b=kw'),
        )

        for description, arg, expected in tests:
            # Call makeQueryString with both arg and keyword
            assert wikiutil.makeQueryString(arg, b='kw') == expected
コード例 #22
0
    def testMakeQueryStringFromArgument(self):
        """ util.web: make query sting from argument """
        tests = (
            # description,          arg,                expected
            ('string unchanged', 'a=b', 'a=b'),
            ('string value', {
                'a': 'b'
            }, 'a=b'),
            ('integer value', {
                'a': 1
            }, 'a=1'),
            ('multiply values', {
                'a': 1,
                'b': 2
            }, 'a=1&b=2'),
        )

        for description, arg, expected in tests:
            assert wikiutil.makeQueryString(arg) == expected
コード例 #23
0
ファイル: explorer.py プロジェクト: kuj1pal/roswiki
    def make_iconlink(self, which, d):
        """
        Make a link with an icon

        @param which: icon id (dictionary key)
        @param d: parameter dictionary
        @rtype: string
        @return: html link tag
        """
        page_name, querystr, title, icon = self.button_table[which]
        d['title'] = title % d
        d['i18ntitle'] = self.request.getText(d['title'], formatted=False)
        img_src = self.make_icon(icon, d)
        attrs = {
            'rel': 'nofollow',
            'title': d['i18ntitle'],
        }
        if page_name:
            page = Page(self.request, page_name % d)
        else:
            page = d['page']
        if self.is_moin_1_5:  # Moin 1.5.x
            url = wikiutil.quoteWikinameURL(page.page_name)
            querystr = wikiutil.makeQueryString(querystr)
            if querystr:
                url = '%s?%s' % (url, querystr)
            html = wikiutil.link_tag(self.request,
                                     url,
                                     img_src,
                                     title="%(i18ntitle)s" % d)
        else:  # Moin 1.6
            rev = d['rev']
            if rev and which in [
                    'raw',
                    'print',
            ]:
                querystr['rev'] = str(rev)
            html = page.link_to_raw(self.request,
                                    text=img_src,
                                    querystr=querystr,
                                    **attrs)
        return html
コード例 #24
0
ファイル: AttachFile.py プロジェクト: imosts/flume
def send_hotdraw(pagename, request):
    _ = request.getText

    now = time.time()
    pubpath = request.cfg.url_prefix + "/applets/TWikiDrawPlugin"
    basename = request.form['drawing'][0]
    drawpath = getAttachUrl(pagename, basename + '.draw', request, escaped=1)
    pngpath = getAttachUrl(pagename, basename + '.png', request, escaped=1)
    querystr = {'action': 'AttachFile', 'ts': now}
    querystr = wikiutil.escape(wikiutil.makeQueryString(querystr))
    pagelink = '%s/%s?%s' % (request.getScriptname(), wikiutil.quoteWikinameURL(pagename), querystr)
    helplink = Page(request, "HelpOnActions/AttachFile").url(request)
    savelink = Page(request, pagename).url(request) # XXX include target filename param here for twisted
                                           # request, {'savename': request.form['drawing'][0]+'.draw'}
    #savelink = '/cgi-bin/dumpform.bat'

    if htdocs_access(request):
        timestamp = '?ts=%s' % now
    else:
        timestamp = '&amp;ts=%s' % now

    request.write('<h2>' + _("Edit drawing") + '</h2>')
    request.write("""
<p>
<img src="%(pngpath)s%(timestamp)s">
<applet code="CH.ifa.draw.twiki.TWikiDraw.class"
        archive="%(pubpath)s/twikidraw.jar" width="640" height="480">
<param name="drawpath" value="%(drawpath)s">
<param name="pngpath"  value="%(pngpath)s">
<param name="savepath" value="%(savelink)s">
<param name="basename" value="%(basename)s">
<param name="viewpath" value="%(pagelink)s">
<param name="helppath" value="%(helplink)s">
<strong>NOTE:</strong> You need a Java enabled browser to edit the drawing example.
</applet>
</p>""" % {
    'pngpath': pngpath, 'timestamp': timestamp,
    'pubpath': pubpath, 'drawpath': drawpath,
    'savelink': savelink, 'pagelink': pagelink, 'helplink': helplink,
    'basename': basename
})
コード例 #25
0
ファイル: eventlog.py プロジェクト: steveyen/moingo
    def add(self, request, eventtype, values=None, add_http_info=1, mtime_usecs=None):
        """ Write an event of type `eventtype, with optional key/value
            pairs appended (i.e. you have to pass a dict).
        """
        if request.isSpiderAgent:
            return

        if mtime_usecs is None:
            mtime_usecs = wikiutil.timestamp2version(time.time())

        if values is None:
            values = {}
        if add_http_info:
            # All these are ascii
            for key in ["remote_addr", "http_user_agent", "http_referer"]:
                value = getattr(request, key, "")
                if value:
                    # Save those http headers in UPPERcase
                    values[key.upper()] = value
        # Encode values in a query string TODO: use more readable format
        values = wikiutil.makeQueryString(values, want_unicode=True)
        self._add(u"%d\t%s\t%s\n" % (mtime_usecs, eventtype, values))
コード例 #26
0
def elemlist(request, formatter, elems, text):
    _ = request.getText
    if not elems:
        return
    request.write(formatter.paragraph(1))
    request.write(formatter.text(_("The following") + " %s " % form_escape(text)
                                 + _("found")))
    request.write(formatter.paragraph(0))
    request.write(formatter.bullet_list(1))
    for elem in sorted(elems):
        kwelem = {
            'querystr': wikiutil.makeQueryString({'action': 'MetaSearch', 'q': elem}),
            'allowed_attrs': ['title', 'href', 'class'],
            'class': 'meta_search'
        }
        request.write(formatter.listitem(1))
        request.write(formatter.pagelink(1, request.page.page_name,
                                         request.page, **kwelem))
        request.write(formatter.text(elem))
        request.write(formatter.pagelink(0))
        request.write(formatter.listitem(0))
    request.write(formatter.bullet_list(0))
コード例 #27
0
ファイル: __init__.py プロジェクト: steveyen/moingo
def get_multistage_continuation_url(request, auth_name, extra_fields={}):
    """get_continuation_url - return a multistage continuation URL

       This function returns a URL that when loaded continues a multistage
       authentication at the auth method requesting it (parameter auth_name.)
       Additional fields are added to the URL from the extra_fields dict.

       @param request: the Moin request
       @param auth_name: name of the auth method requesting the continuation
       @param extra_fields: extra GET fields to add to the URL
    """
    # logically, this belongs to request, but semantically it should
    # live in auth so people do auth.get_multistage_continuation_url()
    fields = {'action': 'login',
              'login': '******',
              'stage': auth_name}
    fields.update(extra_fields)
    if request.page:
        return request.page.url(request, querystr=fields)
    else:
        qstr = wikiutil.makeQueryString(fields)
        return ''.join([request.getBaseURL(), '?', qstr])
コード例 #28
0
ファイル: useragents.py プロジェクト: steveyen/moingo
def linkto(pagename, request, params=""):
    _ = request.getText

    if not request.cfg.chart_options:
        return text(pagename, request)
    if _debug:
        return draw(pagename, request)

    page = Page(request, pagename)

    # Create escaped query string from dict and params
    querystr = {"action": "chart", "type": "useragents"}
    querystr = wikiutil.makeQueryString(querystr)
    querystr = wikiutil.escape(querystr)
    if params:
        querystr += "&amp;" + params

    data = {"url": page.url(request, querystr)}
    data.update(request.cfg.chart_options)
    result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"' ' alt="useragents chart">') % data

    return result
コード例 #29
0
ファイル: useragents.py プロジェクト: Opngate/moinmoin
def linkto(pagename, request, params=''):
    _ = request.getText

    if not request.cfg.chart_options:
        return text(pagename, request)
    if _debug:
        return draw(pagename, request)

    page = Page(request, pagename)

    # Create escaped query string from dict and params
    querystr = {'action': 'chart', 'type': 'useragents'}
    querystr = wikiutil.makeQueryString(querystr)
    querystr = wikiutil.escape(querystr)
    if params:
        querystr += '&amp;' + params

    data = {'url': page.url(request, querystr)}
    data.update(request.cfg.chart_options)
    result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
              ' alt="useragents chart">') % data

    return result
コード例 #30
0
ファイル: oid.py プロジェクト: steveyen/moingo
    def _handle_add(self):
        _ = self.request.getText
        request = self.request

        openid_id = request.form.get('openid_identifier', [''])[0]
        if not openid_id:
            return 'error', _("No OpenID given.")

        if (hasattr(self.request.user, 'openids') and
            openid_id in request.user.openids):
            return 'error', _("OpenID is already present.")

        oidconsumer = consumer.Consumer(request.session,
                                        MoinOpenIDStore(self.request))
        try:
            oidreq = oidconsumer.begin(openid_id)
        except HTTPFetchingError:
            return 'error', _('Failed to resolve OpenID.')
        except DiscoveryFailure:
            return 'error', _('OpenID discovery failure, not a valid OpenID.')
        else:
            if oidreq is None:
                return 'error', _("No OpenID given.") # ??

            qstr = wikiutil.makeQueryString({'action': 'userprefs',
                                             'handler': 'oid',
                                             'oid.return': '1'})
            return_to = request.getQualifiedURL(request.page.url(request, qstr))
            trust_root = request.getBaseURL()
            if oidreq.shouldSendRedirect():
                redirect_url = oidreq.redirectURL(trust_root, return_to)
                request.http_redirect(redirect_url)
            else:
                form_html = oidreq.formMarkup(trust_root, return_to,
                    form_tag_attrs={'id': 'openid_message'})
                request.session['openid.prefs.form_html'] = form_html
コード例 #31
0
 def testMakeQueryString(self):
     for qstr, in_str, in_unicode in self.tests:
         assert wikiutil.parseQueryString(wikiutil.makeQueryString(in_unicode)) == MultiDict(in_unicode)
         assert wikiutil.parseQueryString(wikiutil.makeQueryString(in_str)) == MultiDict(in_unicode)
コード例 #32
0
ファイル: test_util_web.py プロジェクト: imosts/flume
 def testMakeQueryStringFromKeywords(self):
     """ util.web: make query sting from keywords """
     expected = 'a=1&b=string'
     result = wikiutil.makeQueryString(a=1, b='string')
     self.assertEqual(result, expected,
                      'Expected "%(expected)s" but got "%(result)s"' % locals())
コード例 #33
0
 def testMakeQueryStringFromKeywords(self):
     """ util.web: make query sting from keywords """
     assert wikiutil.makeQueryString(a=1, b='string') == 'a=1&b=string'
コード例 #34
0
ファイル: test_wikiutil.py プロジェクト: steveyen/moingo
 def testMakeQueryString(self):
     for qstr, in_str, in_unicode in self.tests:
         assert wikiutil.parseQueryString(wikiutil.makeQueryString(in_unicode, want_unicode=False), want_unicode=False) == in_str
         assert wikiutil.parseQueryString(wikiutil.makeQueryString(in_str, want_unicode=False), want_unicode=False) == in_str
         assert wikiutil.parseQueryString(wikiutil.makeQueryString(in_unicode, want_unicode=True), want_unicode=True) == in_unicode
         assert wikiutil.parseQueryString(wikiutil.makeQueryString(in_str, want_unicode=True), want_unicode=True) == in_unicode
コード例 #35
0
 def testMakeQueryStringFromKeywords(self):
     """ util.web: make query sting from keywords """
     assert wikiutil.makeQueryString(a=1, b='string') == 'a=1&b=string'
コード例 #36
0
ファイル: cache.py プロジェクト: steveyen/moingo
def url(request, key, do="get"):
    """ return URL for the object cached for key """
    return "%s/?%s" % (
        request.getScriptname(),
        wikiutil.makeQueryString(dict(action=action_name, do=do, key=key), want_unicode=False),
    )