8000 RequestOptions Filter does not properly escape strings. · Issue #418 · tableau/server-client-python · GitHub
[go: up one dir, main page]

8000
Skip to content
RequestOptions Filter does not properly escape strings. #418
Closed
@1oglop1

Description

@1oglop1

Hi, I tried to find user by user name using request options however I still got errors until I tried to quote_plus the user name string.

Task:

Find user via user name
username=1oglop1+24@gmail.com

Steps

import tableauserverclient as tsc
# .. server sign in etc..
request_options = tsc.RequestOptions()
request_options.filter.add(
    tsc.Filter(
        tsc.RequestOptions.Field.Name, 
        tsc.RequestOptions.Operator.Equals, 
        '1oglop1+24@gmail.com'
        )
)
users, pagination_item = server.users.get(request_options)
print(users)

Expected result

[<User ada95cbc-ca59-4087-bbfe-acbcf55d88a4 name=1oglop1+24@gmail.com role=Creator>]

Actual result

[]

This is due to the character + in username.
I'm using quote_plus as a workaround.

import tableauserverclient as tsc
from urllib.parse import quote_plus
# .. server sign in etc..
request_options = tsc.RequestOptions()
request_options.filter.add(
    tsc.Filter(
        tsc.RequestOptions.Field.Name,
        tsc.RequestOptions.Operator.Equals,
        quote_plus('1oglop1+24@gmail.com')
        )
)
users, pagination_item = server.users.get(request_options)
print(users)
# [<User ada95cbc-ca59-4087-bbfe-acbcf55d88a4 name=1oglop1+24@gmail.com role=Creator>]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0