From e23f0f20a293c815facf83cd657d73e716d4818e Mon Sep 17 00:00:00 2001 From: Anderson Briglia Date: Sat, 28 Feb 2009 17:10:29 -0400 Subject: [PATCH] Initial python-purple commit. Signed-off-by: Anderson Briglia --- core/account.pxd | 21 +++++++++++++++++++++ core/blist.pxd | 6 ++++++ core/core.pxd | 6 ++++++ core/debug.pxd | 2 ++ core/eventloop.pxd | 4 ++++ core/idle.pxd | 4 ++++ core/plugin.pxd | 3 +++ core/pounce.pxd | 2 ++ core/prefs.pxd | 4 ++++ core/util.pxd | 2 ++ purple.pyx | 9 +++++++++ setup.py | 30 ++++++++++++++++++++++++++++++ 12 files changed, 93 insertions(+) create mode 100644 core/account.pxd create mode 100644 core/blist.pxd create mode 100644 core/core.pxd create mode 100644 core/debug.pxd create mode 100644 core/eventloop.pxd create mode 100644 core/idle.pxd create mode 100644 core/plugin.pxd create mode 100644 core/pounce.pxd create mode 100644 core/prefs.pxd create mode 100644 core/util.pxd create mode 100644 purple.pyx create mode 100755 setup.py 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}, +) -- 1.7.9.5