paul@105 | 1 | #!/usr/bin/env python |
paul@105 | 2 | |
paul@105 | 3 | """ |
paul@105 | 4 | Fetching the profile of each user from a Confluence site in order to obtain |
paul@105 | 5 | name and e-mail details. |
paul@105 | 6 | |
paul@105 | 7 | User details are written to standard output in a tab-separated sequence using |
paul@105 | 8 | the following format: |
paul@105 | 9 | |
paul@105 | 10 | USERNAME FULLNAME EMAIL IMAGE-URL |
paul@105 | 11 | """ |
paul@105 | 12 | |
paul@105 | 13 | from time import sleep |
paul@105 | 14 | from os.path import split |
paul@105 | 15 | import sys |
paul@126 | 16 | import codecs |
paul@105 | 17 | |
paul@105 | 18 | this_dir = split(sys.argv[0])[0] |
paul@105 | 19 | sys.path.append(this_dir) |
paul@105 | 20 | |
paul@105 | 21 | from get_profile import get_profile |
paul@105 | 22 | |
paul@105 | 23 | def main(): |
paul@105 | 24 | progname = split(sys.argv[0])[-1] |
paul@105 | 25 | |
paul@105 | 26 | try: |
paul@105 | 27 | url = sys.argv[1] |
paul@105 | 28 | delay = int((sys.argv[2:3] or ["1"])[0]) |
paul@105 | 29 | except (IndexError, ValueError): |
paul@105 | 30 | print >>sys.stderr, "%s <wiki URL> [ <retrieval delay> ]" % progname |
paul@105 | 31 | print >>sys.stderr |
paul@105 | 32 | print >>sys.stderr, "Example: %s http://wiki.list.org/" % progname |
paul@105 | 33 | sys.exit(1) |
paul@105 | 34 | |
paul@126 | 35 | stdout = codecs.getwriter("utf-8")(sys.stdout) |
paul@105 | 36 | line = sys.stdin.readline() |
paul@105 | 37 | while line: |
paul@105 | 38 | username = line.strip() |
paul@137 | 39 | details = get_profile(url, username) |
paul@137 | 40 | if details: |
paul@137 | 41 | print >>stdout, "\t".join(details) |
paul@105 | 42 | |
paul@105 | 43 | sleep(delay) |
paul@105 | 44 | line = sys.stdin.readline() |
paul@105 | 45 | |
paul@105 | 46 | if __name__ == "__main__": |
paul@105 | 47 | main() |
paul@105 | 48 | |
paul@105 | 49 | # vim: tabstop=4 expandtab shiftwidth=4 |