Prefer to use XDG_CACHE_HOME for cache; add optional key param to Session for existing sessions

master
Jeff Laughlin 2016-09-26 12:40:13 -04:00
rodzic 59bd199ebf
commit 15fa9ecfd3
1 zmienionych plików z 10 dodań i 8 usunięć

Wyświetl plik

@ -25,7 +25,7 @@ import logging
log = logging.getLogger('qrz') log = logging.getLogger('qrz')
CACHEPATH = os.path.join(os.environ['HOME'], '.qrz_cache') CACHEPATH = os.path.join(os.environ.get('XDG_CACHE_HOME', os.environ['HOME']), '.qrz_cache')
testSessionXML = """\ testSessionXML = """\
<?xml version="1.0" ?> <?xml version="1.0" ?>
@ -59,16 +59,18 @@ class Callsign(object):
return value return value
class Session(object): class Session(object):
def __init__(self, user, passwd, cachepath=CACHEPATH): def __init__(self, user=None, passwd=None, cachepath=CACHEPATH, key=None):
# post http://xml.qrz.com/xml?username=user;password=passwdo # post http://xml.qrz.com/xml?username=user;password=passwdo
# self.key = minidom parse key # self.key = minidom parse key
# check for alert or error # check for alert or error
xml = self.request(dict(username=user, password=passwd)) if not key:
log.debug(xml) xml = self.request(dict(username=user, password=passwd))
dom = minidom.parseString(xml) log.debug(xml)
session = dom.getElementsByTagName("Session")[0] dom = minidom.parseString(xml)
self.checkErr(session) session = dom.getElementsByTagName("Session")[0]
self.key = session.getElementsByTagName("Key")[0].firstChild.data self.checkErr(session)
key = session.getElementsByTagName("Key")[0].firstChild.data
self.key = key
self.db = sqlite3.connect(cachepath) self.db = sqlite3.connect(cachepath)
self.db.text_factory = str self.db.text_factory = str
try: try: