summaryrefslogtreecommitdiff
path: root/test/getlogindetails.py
blob: 8be157b53a9e1d66ab85164aca12d4852f71cdfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import os
import os.path
import getpass

import freebase
from freebase.api.session import MetawebError

passwordfile = "test/.password.txt"

def main(create_password_file=False):
    USERNAME, PASSWORD = "", ""
    
    if not os.path.isfile(passwordfile):
        print "In order to run the tests, we need to use a valid freebase username and password"
        USERNAME = raw_input("Please enter your username: ")
        try:
            PASSWORD = getpass.getpass("Please enter your password: ")
        except getpass.GetPassWarning:
            PASSWORD = raw_input("Please enter your password: ")
    
        freebase.login(USERNAME, PASSWORD)
    
        print "Thanks!"
        
        if create_password_file:
            writepassword(passwordfile, USERNAME, PASSWORD)
    
    else:
        pf = open(passwordfile, "r")
        USERNAME, PASSWORD = pf.read().split("\n")
        pf.close()
        try:
            freebase.login(USERNAME, PASSWORD)
        except MetawebError, me:
            print "The username/password in your .password.txt file are incorrect"
            raise me
    
    return USERNAME, PASSWORD
    

def writepassword(passwordfile, username, password):
    fh = open(passwordfile, "w")
    fh.write(username + "\n" + password)
    fh.close()