Example #1
0
def parse_query_string(query_string):
    """ Return dict containing query string values.

    uris can be entered as ?uris.0=http:...&uris.1=http:... """
    query_string = urllib.unquote(query_string).decode('utf-8')

    try:
        parsed_query = jsonurl.parse_query(query_string)
        if "output" not in parsed_query.keys():
            parsed_query['output'] = 'html'
        # Hack to escape words in Unicode strings for Virtuoso.
        # Can't just escape the whole string as e.g. "bribe OR bribery" fails.
        if "filter" in parsed_query.keys():
            filter_words = []
            for each in parsed_query['filter'].split():
                try:
                    filter_words.append(each.decode('ascii'))
                except UnicodeEncodeError:
                    filter_words.append("'" + each + "'")
            parsed_query['filter'] = ' '.join(filter_words)
        return parsed_query
    except ValueError as e:
        raise ViewerException("Query URL is malformed: {}".format(e.message))
Example #2
0
def parse_query_string(query_string):
    """ Return dict containing query string values.

    uris can be entered as ?uris.0=http:...&uris.1=http:... """
    query_string = urllib.unquote(query_string).decode('utf-8')

    try:
        parsed_query = jsonurl.parse_query(query_string)
        if "output" not in parsed_query.keys():
            parsed_query['output'] = 'html'
        # Hack to escape words in Unicode strings for Virtuoso.
        # Can't just escape the whole string as e.g. "bribe OR bribery" fails.
        if "filter" in parsed_query.keys():
            filter_words = []
            for each in parsed_query['filter'].split():
                try:
                    filter_words.append(each.decode('ascii'))
                except UnicodeEncodeError:
                    filter_words.append("'" + each + "'")
            parsed_query['filter'] = ' '.join(filter_words)
        return parsed_query
    except ValueError as e:
        raise ViewerException("Query URL is malformed: {}".format(e.message))
Example #3
0
 def setUpClass(cls):
     cls.d = {"user.names" : ["richard", "jones"]}
     cls.query_string = jsonurl.query_string(cls.d)
     cls.parsed_query = jsonurl.parse_query(cls.query_string)
Example #4
0
 def setUpClass(cls):
     cls.d = {"escape_me" : "I'll need escaping"}
     cls.query_string = jsonurl.query_string(cls.d)
     cls.parsed_query = jsonurl.parse_query(cls.query_string)
Example #5
0
 def setUpClass(cls):
     cls.d = {"one": 1, "two": [2, 3, 4]}
     cls.query_string = jsonurl.query_string(cls.d)
     cls.args = jsonurl.dict_to_args(cls.d)
     cls.parsed_query = jsonurl.parse_query(cls.query_string)
Example #6
0
 def setUpClass(cls):
     cls.d = {"one": {"two": 2, "three": 3}, "four": 4}
     cls.query_string = jsonurl.query_string(cls.d)
     cls.args = jsonurl.dict_to_args(cls.d)
     cls.parsed_query = jsonurl.parse_query(cls.query_string)