Initial python-purple commit.
authorAnderson Briglia <anderson.briglia@openbossa.org>
Sat, 28 Feb 2009 21:10:29 +0000 (17:10 -0400)
committerAnderson Briglia <anderson.briglia@openbossa.org>
Sat, 28 Feb 2009 21:10:29 +0000 (17:10 -0400)
Signed-off-by: Anderson Briglia <anderson.briglia@openbossa.org>

12 files changed:
core/account.pxd [new file with mode: 0644]
core/blist.pxd [new file with mode: 0644]
core/core.pxd [new file with mode: 0644]
core/debug.pxd [new file with mode: 0644]
core/eventloop.pxd [new file with mode: 0644]
core/idle.pxd [new file with mode: 0644]
core/plugin.pxd [new file with mode: 0644]
core/pounce.pxd [new file with mode: 0644]
core/prefs.pxd [new file with mode: 0644]
core/util.pxd [new file with mode: 0644]
purple.pyx [new file with mode: 0644]
setup.py [new file with mode: 0755]

diff --git a/core/account.pxd b/core/account.pxd
new file mode 100644 (file)
index 0000000..03b8333
--- /dev/null
@@ -0,0 +1,21 @@
+ctypedef enum gboolean:
+    FALSE, TRUE
+
+cdef extern from "libpurple/account.h":
+    ctypedef struct PurpleAccount
+
+    cdef PurpleAccount *purple_account_new(char *username, char *protocol_id)
+
+    cdef void purple_account_set_password(PurpleAccount *account,
+            char *password)
+
+    cdef void purple_account_set_enabled(PurpleAccount *account, char *ui,
+            gboolean value)
+
+cdef extern from "libpurple/connection.h":
+    ctypedef struct PurpleConnection
+
+    cdef PurpleAccount *purple_connection_get_account(PurpleConnection *gc)
+
+
+
diff --git a/core/blist.pxd b/core/blist.pxd
new file mode 100644 (file)
index 0000000..03e60c0
--- /dev/null
@@ -0,0 +1,6 @@
+cdef extern from "libpurple/blist.h":
+    ctypedef struct PurpleBuddyList
+
+    cdef void purple_set_blist(PurpleBuddyList *list)
+    cdef void purple_blist_load()
+    cdef PurpleBuddyList *purple_blist_new()
diff --git a/core/core.pxd b/core/core.pxd
new file mode 100644 (file)
index 0000000..6048e33
--- /dev/null
@@ -0,0 +1,6 @@
+cdef extern from "libpurple/core.h":
+    ctypedef struct PurpleCoreUiOps
+
+    cdef gboolean purple_core_init(char *ui)
+    cdef gboolean purple_core_migrate()
+    cdef void purple_core_set_ui_ops(PurpleCoreUiOps *ops)
diff --git a/core/debug.pxd b/core/debug.pxd
new file mode 100644 (file)
index 0000000..e6be240
--- /dev/null
@@ -0,0 +1,2 @@
+cdef extern from "libpurple/debug.h":
+    cdef void purple_debug_set_enabled(gboolean debug_enabled)
diff --git a/core/eventloop.pxd b/core/eventloop.pxd
new file mode 100644 (file)
index 0000000..09cf3c8
--- /dev/null
@@ -0,0 +1,4 @@
+cdef extern from "libpurple/eventloop.h":
+    ctypedef struct PurpleEventLoopUiOps
+
+    cdef void purple_eventloop_set_ui_ops(PurpleEventLoopUiOps *ops)
diff --git a/core/idle.pxd b/core/idle.pxd
new file mode 100644 (file)
index 0000000..14963c2
--- /dev/null
@@ -0,0 +1,4 @@
+cdef extern from "libpurple/idle.h":
+    ctypedef struct PurpleIdleUiOps
+
+    cdef void purple_idle_set_ui_ops(PurpleIdleUiOps *ops)
diff --git a/core/plugin.pxd b/core/plugin.pxd
new file mode 100644 (file)
index 0000000..29905ba
--- /dev/null
@@ -0,0 +1,3 @@
+cdef extern from "libpurple/plugin.h":
+    cdef void purple_plugins_add_search_path(char *path)
+    cdef void purple_plugins_load_saved(char *key)
diff --git a/core/pounce.pxd b/core/pounce.pxd
new file mode 100644 (file)
index 0000000..a652934
--- /dev/null
@@ -0,0 +1,2 @@
+cdef extern from "libpurple/pounce.h":
+    cdef gboolean purple_pounces_load()
diff --git a/core/prefs.pxd b/core/prefs.pxd
new file mode 100644 (file)
index 0000000..5f71d8f
--- /dev/null
@@ -0,0 +1,4 @@
+cdef extern from "libpurple/prefs.h":
+    cdef void purple_prefs_rename(char *oldname, char *newname)
+    cdef char *purple_prefs_get_string(char *name)
+    cdef gboolean purple_prefs_load()
diff --git a/core/util.pxd b/core/util.pxd
new file mode 100644 (file)
index 0000000..add3a38
--- /dev/null
@@ -0,0 +1,2 @@
+cdef extern from "libpurple/util.h":
+    cdef void purple_util_set_user_dir(char *dir)
diff --git a/purple.pyx b/purple.pyx
new file mode 100644 (file)
index 0000000..5bd8199
--- /dev/null
@@ -0,0 +1,9 @@
+#include "core/blist.pxd"
+#include "core/core.pxd"
+#include "core/debug.pxd"
+#include "core/eventloop.pxd"
+#include "core/idle.pxd"
+#include "core/plugin.pxd"
+#include "core/pounce.pxd"
+#include "core/prefs.pxd"
+#include "core/util.pxd"
diff --git a/setup.py b/setup.py
new file mode 100755 (executable)
index 0000000..122bb5a
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+import sys
+import os
+
+from setuptools import setup, find_packages, Extension
+from distutils.sysconfig import get_python_inc
+from Cython.Distutils import build_ext
+
+from subprocess import Popen, PIPE
+
+cflags = Popen(['pkg-config', '--cflags', 'purple'], stdout=PIPE).communicate()[0].split()
+ldflags = Popen(['pkg-config', '--libs', 'purple'], stdout=PIPE).communicate()[0].split()
+
+class pypurple_build_ext(build_ext):
+    def finalize_options(self):
+        build_ext.finalize_options(self)
+        self.include_dirs.insert(0, 'include')
+        self.pyrex_include_dirs.extend(self.include_dirs)
+
+setup(
+  name = 'python-pypurple',
+  version = '0.1',
+  author ='Bruno Abinader',
+  author_email='bruno.abinader@openbossa.org',
+  ext_modules=[Extension('purple',
+              sources=['purple.pyx'],
+              extra_compile_args=cflags,
+              extra_link_args=ldflags)],
+  cmdclass = {'build_ext': pypurple_build_ext},
+)