def write(keydict, savedir): if not os.path.exists(savedir): raise Exception('"' + savedir + '" does not exist!') kf = os.path.join(savedir, PidginProperties.keyfile) # Pidgin requires the XMPP resource in the account name field of the # OTR private keys file, so fetch it from the existing account info if os.path.exists(os.path.join(savedir, PidginProperties.accountsfile)): accountsdir = savedir elif os.path.exists( os.path.join(PidginProperties.path, PidginProperties.accountsfile)): accountsdir = PidginProperties.path resources = PidginProperties._get_resources(accountsdir) pidginkeydict = dict() for name, key in keydict.iteritems(): # pidgin requires the XMPP Resource in the account name for otr.private_keys if key['protocol'] == 'prpl-jabber' and 'x' in key.keys(): if name in resources.keys(): key['name'] = key['name'] + '/' + resources[name] else: key['name'] = key['name'] + '/' + 'REPLACEME' pidginkeydict[name] = key OtrPrivateKeys.write(pidginkeydict, kf) accounts = [] # look for all private keys and use them for the accounts list for name, key in keydict.iteritems(): if 'x' in key: accounts.append(name) fpf = os.path.join(savedir, PidginProperties.fingerprintfile) OtrFingerprints.write(keydict, fpf, accounts)
def write(keydict, savedir): if not os.path.exists(savedir): raise Exception('"' + savedir + '" does not exist!') kf = os.path.join(savedir, PidginProperties.keyfile) # Pidgin requires the XMPP resource in the account name field of the # OTR private keys file, so fetch it from the existing account info if os.path.exists(os.path.join(savedir, PidginProperties.accountsfile)): accountsdir = savedir elif os.path.exists(os.path.join(PidginProperties.path, PidginProperties.accountsfile)): accountsdir = PidginProperties.path resources = PidginProperties._get_resources(accountsdir) pidginkeydict = dict() for name, key in keydict.iteritems(): # pidgin requires the XMPP Resource in the account name for otr.private_keys if key['protocol'] == 'prpl-jabber' and 'x' in key.keys(): if name in resources.keys(): key['name'] = key['name'] + '/' + resources[name] else: key['name'] = key['name'] + '/' + 'REPLACEME' pidginkeydict[name] = key OtrPrivateKeys.write(pidginkeydict, kf) accounts = [] # look for all private keys and use them for the accounts list for name, key in keydict.iteritems(): if 'x' in key: accounts.append(name) fpf = os.path.join(savedir, PidginProperties.fingerprintfile) OtrFingerprints.write(keydict, fpf, accounts)
def write(keydict, savedir): if not os.path.exists(savedir): raise Exception('"' + savedir + '" does not exist!') kf = os.path.join(savedir, IrssiProperties.keyfile) OtrPrivateKeys.write(keydict, kf) accounts = [] # look for all private keys and use them for the accounts list for name, key in keydict.iteritems(): if 'x' in key: accounts.append(name) fpf = os.path.join(savedir, IrssiProperties.fingerprintfile) OtrFingerprints.write(keydict, fpf, accounts)
def write(keydict, savedir='./'): if not os.path.exists(savedir): raise Exception('"' + savedir + '" does not exist!') # need when converting account names back to Adium's account index number accountsplist = AdiumProperties._get_accounts_from_plist(savedir) kf = os.path.join(savedir, AdiumProperties.keyfile) adiumkeydict = dict() for name, key in keydict.iteritems(): name = key['name'] for account in accountsplist: if account['UID'] == name: key['name'] = account['ObjectID'] adiumkeydict[name] = key OtrPrivateKeys.write(keydict, kf) accounts = [] for account in accountsplist: accounts.append(account['ObjectID']) fpf = os.path.join(savedir, AdiumProperties.fingerprintfile) OtrFingerprints.write(keydict, fpf, accounts)