This is a client for the whose-name API.
It answers questions of the following form:
For one that calls themselves
[email protected]
onjira
, what is their username on Slack? (Answer:U123456
).
To install the code globally, use:
sudo pip3 install .
To add this to pip requirements.txt
file, use:
-e git+ssh://[email protected]:makimo/whose-name-client.git#egg=whosename-main
To add this to setup.py
, try this answer:
install_requires = [
'whosename @ git+ssh://[email protected]/makimo/[email protected]#egg=whosename-main',
]
There are two commands that can be used in shell: whosename
and whosename-login
. When used on your own machine, you can simply issue the following command:
whosename user service askedService
First time, you'll be asked interactively for email and password to the whose-name API in order to get a token. Subsequent calls will make use of the saved token.
If you would only want to issue a token, you can do that with the whosename-login
command. This comes in useful on servers that need access to the API.
Whose name client.
Usage:
whosename [options] USERNAME SERVICE ASKED_SERVICE
Options:
-n Non-interactive mode.
-t, --token TOKEN Use authorization token.
--version Show version information.
-h, --help Show this message.
Get token for whosename
Usage:
whosename-login [options] [EMAIL]
Options:
-n Non-interactive mode.
-t TITLE Set title for a token.
-o OUTPUT Save token to a specific file.
--password PASS Use specific password
--version Show version information.
-h, --help Show this message.
This package defines the following function:
def name_of(
username: str,
service: str,
askedService: str,
authToken: Optional[str] = None,
interactive: bool = False
) -> Optional[str]:
where:
username
andservice
match one's username on a known serviceaskedService
is the service on which we want to know one's usernameauthToken
can be given explicitely (for example if you want to get the value from a database or another specific place)interactive
will ask for whosename API login and password to request a token if not found
The result is one's username on askedService
or None if not found.
whosename
will try to find the token in the following places:
--token
console option orauthToken
argumentWHOSENAME_TOKEN
in the environmentWHOSENAME_TOKEN_FILE
in the environment.whosename.token
in current directory and upwards~/.whosename/token
in user's home directory/etc/whosename/token
If token cannot be found in any of these places, the application will ask for it interactively.