Fixing set_options to Plugin class
[python-purple] / account.pyx
index 9c36757..3e06e9f 100644 (file)
@@ -399,6 +399,33 @@ cdef class Account:
         if c_account:
             return account.c_purple_account_get_enabled(c_account, ui)
         else:
-            return None
+            return False
 
+    def is_connected(self, acc):
+        ''' @param acc Tuple (username, protocol id) '''
+        ''' @param ui The UI '''
+        cdef account.PurpleAccount *c_account
 
+        c_account = account.c_purple_accounts_find(acc[0], acc[1])
+        if c_account:
+            return account.c_purple_account_is_connected(c_account)
+        else:
+            return False
+    
+    def connect(self, acc):
+        ''' @param acc Tuple (username, protocol id) '''
+        ''' @param ui The UI '''
+        cdef account.PurpleAccount *c_account
+
+        c_account = account.c_purple_accounts_find(acc[0], acc[1])
+        if c_account:
+            account.c_purple_account_connect(c_account)
+    
+    def disconnect(self, acc):
+        ''' @param acc Tuple (username, protocol id) '''
+        ''' @param ui The UI '''
+        cdef account.PurpleAccount *c_account
+
+        c_account = account.c_purple_accounts_find(acc[0], acc[1])
+        if c_account:
+            account.c_purple_account_disconnect(c_account)