Created
June 20, 2018 20:14
-
-
Save pcstout/e103264e70a8fb1067302f3655808c58 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
import sys, os, argparse, getpass | |
import synapseclient | |
class SynapseUserLookup: | |
def __init__(self, query, username=None, password=None): | |
self._query = query | |
self._username = username | |
self._password = password | |
def search(self): | |
print('Searching for: {0}'.format(self._query)) | |
self.synapse_login() | |
results = self._synapse_client._findPrincipals(self._query) | |
for result in results: | |
user_profile = self._synapse_client.getUserProfile(result.userName) | |
print('{0} {1}'.format(user_profile.firstName, user_profile.lastName)) | |
self._synapse_client.printEntity(user_profile) | |
def synapse_login(self): | |
print('Logging into Synapse...') | |
syn_user = os.getenv('SYNAPSE_USER') or self._username | |
syn_pass = os.getenv('SYNAPSE_PASSWORD') or self._password | |
if syn_user == None: | |
syn_user = input('Synapse username: ') | |
if syn_pass == None: | |
syn_pass = getpass.getpass(prompt='Synapse password: ') | |
self._synapse_client = synapseclient.Synapse() | |
self._synapse_client.login(syn_user, syn_pass, silent=True) | |
def main(argv): | |
parser = argparse.ArgumentParser() | |
parser.add_argument('query', metavar='query', help='The user\'s name or email.') | |
parser.add_argument('-u', '--username', help='Synapse username.', default=None) | |
parser.add_argument('-p', '--password', help='Synapse password.', default=None) | |
args = parser.parse_args() | |
SynapseUserLookup( | |
args.query | |
,username=args.username | |
,password=args.password | |
).search() | |
if __name__ == "__main__": | |
main(sys.argv[1:]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment