From: Anderson Briglia Date: Sat, 28 Feb 2009 21:10:29 +0000 (-0400) Subject: Initial python-purple commit. X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=e23f0f20a293c815facf83cd657d73e716d4818e;ds=sidebyside Initial python-purple commit. Signed-off-by: Anderson Briglia --- diff --git a/core/account.pxd b/core/account.pxd new file mode 100644 index 0000000..03b8333 --- /dev/null +++ b/core/account.pxd @@ -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 index 0000000..03e60c0 --- /dev/null +++ b/core/blist.pxd @@ -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 index 0000000..6048e33 --- /dev/null +++ b/core/core.pxd @@ -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 index 0000000..e6be240 --- /dev/null +++ b/core/debug.pxd @@ -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 index 0000000..09cf3c8 --- /dev/null +++ b/core/eventloop.pxd @@ -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 index 0000000..14963c2 --- /dev/null +++ b/core/idle.pxd @@ -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 index 0000000..29905ba --- /dev/null +++ b/core/plugin.pxd @@ -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 index 0000000..a652934 --- /dev/null +++ b/core/pounce.pxd @@ -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 index 0000000..5f71d8f --- /dev/null +++ b/core/prefs.pxd @@ -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 index 0000000..add3a38 --- /dev/null +++ b/core/util.pxd @@ -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 index 0000000..5bd8199 --- /dev/null +++ b/purple.pyx @@ -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 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}, +)