Changeset 2698
- Timestamp:
- 09/04/07 18:11:04
- Files:
-
- trunk/bindings/python/Makefile.am (modified) (7 diffs)
- trunk/bindings/python/createdefs.py (added)
- trunk/bindings/python/gendefs (added)
- trunk/bindings/python/gendefs/.svnignore (added)
- trunk/bindings/python/gendefs/Makefile.am (added)
- trunk/bindings/python/gendefs/definitions.py (added)
- trunk/bindings/python/gendefs/defsgen.py (added)
- trunk/bindings/python/gendefs/defsparser.py (added)
- trunk/bindings/python/gendefs/scmexpr.py (added)
- trunk/bindings/python/pytny-session-camel.c (added)
- trunk/bindings/python/pytny-session-camel.h (added)
- trunk/bindings/python/pytny-status.c (added)
- trunk/bindings/python/pytny-status.h (added)
- trunk/bindings/python/scanvirtuals.py (deleted)
- trunk/bindings/python/tinymail-base.defs (added)
- trunk/bindings/python/tinymail-camel-base.defs (added)
- trunk/bindings/python/tinymail-camel-extra.defs (added)
- trunk/bindings/python/tinymail-camel.override (modified) (2 diffs)
- trunk/bindings/python/tinymail-camelmodule.c (modified) (1 diff)
- trunk/bindings/python/tinymail-extra.defs (added)
- trunk/bindings/python/tinymail-platform-base.defs (added)
- trunk/bindings/python/tinymail-platform.override (modified) (1 diff)
- trunk/bindings/python/tinymail.override (modified) (2 diffs)
- trunk/bindings/python/tinymailmodule.c (modified) (2 diffs)
- trunk/bindings/python/tinymailui-base.defs (added)
- trunk/bindings/python/tinymailui-gtk-base.defs (added)
- trunk/configure.ac (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/bindings/python/Makefile.am
r2501 r2698 25 25 $(top_builddir)/libtinymail/libtinymail-$(API_VERSION).la 26 26 _tinymail_la_SOURCES = tinymailmodule.c 27 nodist__tinymail_la_SOURCES = tinymail-glue.c 27 nodist__tinymail_la_SOURCES = tinymail-glue.c pytny-status.c 28 28 29 29 ui_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initui … … 59 59 $(top_builddir)/$(PLATFORMDIR)/$(PLATFORMDIR)-$(API_VERSION).la \ 60 60 $(top_builddir)/libtinymail-camel/libtinymail-camel-$(API_VERSION).la 61 camel_la_SOURCES = tinymail-camelmodule.c 61 camel_la_SOURCES = tinymail-camelmodule.c pytny-session-camel.c 62 62 nodist_camel_la_SOURCES = tinymail-camel-glue.c 63 63 64 CREATEDEFS = $(PYTHON) $(top_srcdir)/bindings/python/createdefs.py 64 65 65 66 CLEANFILES = tinymail-glue.c tinymailui-glue.c tinymailui-gtk-glue.c \ 66 67 tinymail-platform-glue.c platform_include.h tinymail.defs \ 67 tinymailui.defs tinymailui-gtk.defs tinymail-platform.defs\68 tinymailui.defs tinymailui-gtk.defs \ 68 69 tinymail-camel.defs tinymail-camel-glue.c 69 70 … … 77 78 tinymail-camel.override 78 79 79 # To update: 80 # ls libtinymail/*h | grep -v \\-priv | sed s/^/\\t\$\(top_srcdir\)\\//g | sed s/$/\\\ \\\\/g 81 # ls libtinymail/*h | grep -v \\-priv | sed s/^/\\$\(top_srcdir\)\\//g | sed s/$/\\\ \\\\/g 80 TINYMAIL_DEFS = tinymail-base.defs tinymail-extra.defs 82 81 83 tinymail_h_files = \ 84 $(top_srcdir)/libtinymail/tny-account.h \ 85 $(top_srcdir)/libtinymail/tny-account-store.h \ 86 $(top_srcdir)/libtinymail/tny-combined-account.h \ 87 $(top_srcdir)/libtinymail/tny-device.h \ 88 $(top_srcdir)/libtinymail/tny-error.h \ 89 $(top_srcdir)/libtinymail/tny-folder-change.h \ 90 $(top_srcdir)/libtinymail/tny-folder.h \ 91 $(top_srcdir)/libtinymail/tny-folder-monitor.h \ 92 $(top_srcdir)/libtinymail/tny-folder-observer.h \ 93 $(top_srcdir)/libtinymail/tny-folder-stats.h \ 94 $(top_srcdir)/libtinymail/tny-folder-store-change.h \ 95 $(top_srcdir)/libtinymail/tny-folder-store.h \ 96 $(top_srcdir)/libtinymail/tny-folder-store-observer.h \ 97 $(top_srcdir)/libtinymail/tny-folder-store-query.h \ 98 $(top_srcdir)/libtinymail/tny-fs-stream.h \ 99 $(top_srcdir)/libtinymail/tny-header.h \ 100 $(top_srcdir)/libtinymail/tny-iterator.h \ 101 $(top_srcdir)/libtinymail/tny-list.h \ 102 $(top_srcdir)/libtinymail/tny-lockable.h \ 103 $(top_srcdir)/libtinymail/tny-merge-folder.h \ 104 $(top_srcdir)/libtinymail/tny-mime-part.h \ 105 $(top_srcdir)/libtinymail/tny-msg.h \ 106 $(top_srcdir)/libtinymail/tny-msg-receive-strategy.h \ 107 $(top_srcdir)/libtinymail/tny-msg-remove-strategy.h \ 108 $(top_srcdir)/libtinymail/tny-noop-lockable.h \ 109 $(top_srcdir)/libtinymail/tny-pair.h \ 110 $(top_srcdir)/libtinymail/tny-password-getter.h \ 111 $(top_srcdir)/libtinymail/tny-send-queue.h \ 112 $(top_srcdir)/libtinymail/tny-shared.h \ 113 $(top_srcdir)/libtinymail/tny-signals-marshal.h \ 114 $(top_srcdir)/libtinymail/tny-simple-list.h \ 115 $(top_srcdir)/libtinymail/tny-status.h \ 116 $(top_srcdir)/libtinymail/tny-store-account.h \ 117 $(top_srcdir)/libtinymail/tny-stream.h \ 118 $(top_srcdir)/libtinymail/tny-transport-account.h 119 120 121 tinymail.defs: $(tinymail_h_files) 122 $(PYTHON) $(PYGTK_CODEGENDIR)/h2def.py $(tinymail_h_files) > $@ 123 124 # $(PYTHON) $(top_srcdir)/bindings/python/scanvirtuals.py 125 # $(tinymail_h_files) >> $@ 126 127 tinymailui_h_files = \ 128 $(top_srcdir)/libtinymailui/tny-account-store-view.h \ 129 $(top_srcdir)/libtinymailui/tny-header-view.h \ 130 $(top_srcdir)/libtinymailui/tny-mime-part-saver.h \ 131 $(top_srcdir)/libtinymailui/tny-mime-part-save-strategy.h \ 132 $(top_srcdir)/libtinymailui/tny-mime-part-view.h \ 133 $(top_srcdir)/libtinymailui/tny-msg-view.h \ 134 $(top_srcdir)/libtinymailui/tny-msg-window.h \ 135 $(top_srcdir)/libtinymailui/tny-platform-factory.h \ 136 $(top_srcdir)/libtinymailui/tny-summary-view.h 137 138 tinymailui.defs: $(tinymailui_h_files) 139 $(PYTHON) $(PYGTK_CODEGENDIR)/h2def.py $(tinymailui_h_files) > $@ 140 141 # $(PYTHON) $(top_srcdir)/bindings/python/scanvirtuals.py 142 # $(tinymailui_h_files) >> $@ 143 144 145 tinymailui_gtk_h_files = \ 146 $(top_srcdir)/libtinymailui-gtk/tny-gtk-account-list-model.h \ 147 $(top_srcdir)/libtinymailui-gtk/tny-gtk-attach-list-model.h \ 148 $(top_srcdir)/libtinymailui-gtk/tny-gtk-attachment-mime-part-view.h \ 149 $(top_srcdir)/libtinymailui-gtk/tny-gtk-folder-store-tree-model.h \ 150 $(top_srcdir)/libtinymailui-gtk/tny-gtk-header-list-model.h \ 151 $(top_srcdir)/libtinymailui-gtk/tny-gtk-header-view.h \ 152 $(top_srcdir)/libtinymailui-gtk/tny-gtk-lockable.h \ 153 $(top_srcdir)/libtinymailui-gtk/tny-gtk-mime-part-save-strategy.h \ 154 $(top_srcdir)/libtinymailui-gtk/tny-gtk-msg-view.h \ 155 $(top_srcdir)/libtinymailui-gtk/tny-gtk-msg-window.h \ 156 $(top_srcdir)/libtinymailui-gtk/tny-gtk-password-dialog.h \ 157 $(top_srcdir)/libtinymailui-gtk/tny-gtk-text-buffer-stream.h \ 158 $(top_srcdir)/libtinymailui-gtk/tny-gtk-text-mime-part-view.h 159 160 tinymailui-gtk.defs: $(tinymailui_gtk_h_files) 161 $(PYTHON) $(PYGTK_CODEGENDIR)/h2def.py $(tinymailui_gtk_h_files) > $@ 162 163 # $(PYTHON) $(top_srcdir)/bindings/python/scanvirtuals.py 164 # $(tinymailui_gtk_h_files) >> $@ 165 166 # tinymail_platform_h_files = `ls $(top_srcdir)/$(PLATFORMDIR)/*h | grep -v \\\-priv | xargs` 167 168 tinymail-platform.defs : $(tinymail_platform_h_files) 169 $(PYTHON) $(PYGTK_CODEGENDIR)/h2def.py \ 170 `ls $(top_srcdir)/$(PLATFORMDIR)/*h | grep -v \\\-priv | xargs` > $@ 171 172 # $(PYTHON) $(top_srcdir)/bindings/python/scanvirtuals.py 173 # $(tinymail_platform_h_files) >> $@ 174 175 tinymail_camel_h_files = \ 176 $(top_srcdir)/libtinymail-camel/tny-camel-account.h \ 177 $(top_srcdir)/libtinymail-camel/tny-camel-folder.h \ 178 $(top_srcdir)/libtinymail-camel/tny-camel-full-msg-receive-strategy.h \ 179 $(top_srcdir)/libtinymail-camel/tny-camel-header.h \ 180 $(top_srcdir)/libtinymail-camel/tny-camel-imap-folder.h \ 181 $(top_srcdir)/libtinymail-camel/tny-camel-imap-store-account.h \ 182 $(top_srcdir)/libtinymail-camel/tny-camel-mem-stream.h \ 183 $(top_srcdir)/libtinymail-camel/tny-camel-mime-part.h \ 184 $(top_srcdir)/libtinymail-camel/tny-camel-msg.h \ 185 $(top_srcdir)/libtinymail-camel/tny-camel-msg-remove-strategy.h \ 186 $(top_srcdir)/libtinymail-camel/tny-camel-nntp-folder.h \ 187 $(top_srcdir)/libtinymail-camel/tny-camel-nntp-store-account.h \ 188 $(top_srcdir)/libtinymail-camel/tny-camel-partial-msg-receive-strategy.h \ 189 $(top_srcdir)/libtinymail-camel/tny-camel-pop-folder.h \ 190 $(top_srcdir)/libtinymail-camel/tny-camel-pop-remote-msg-remove-strategy.h \ 191 $(top_srcdir)/libtinymail-camel/tny-camel-pop-store-account.h \ 192 $(top_srcdir)/libtinymail-camel/tny-camel-send-queue.h \ 193 $(top_srcdir)/libtinymail-camel/tny-camel-shared.h \ 194 $(top_srcdir)/libtinymail-camel/tny-camel-store-account.h \ 195 $(top_srcdir)/libtinymail-camel/tny-camel-stream.h \ 196 $(top_srcdir)/libtinymail-camel/tny-camel-transport-account.h \ 197 $(top_srcdir)/libtinymail-camel/tny-session-camel.h \ 198 $(top_srcdir)/libtinymail-camel/tny-stream-camel.h 199 200 201 tinymail-camel.defs : $(tinymail_camel_h_files) 202 $(PYTHON) $(PYGTK_CODEGENDIR)/h2def.py $(tinymail_camel_h_files) > $@ 203 204 # $(PYTHON) $(top_srcdir)/bindings/python/scanvirtuals.py 205 # $(tinymail_platform_h_files) >> $@ 82 tinymail.defs: $(TINYMAIL_DEFS) 83 $(CREATEDEFS) $@ $(TINYMAIL_DEFS) 206 84 207 85 tinymail-glue.c: tinymail.defs tinymail.override … … 209 87 --override $(top_srcdir)/bindings/python/tinymail.override \ 210 88 tinymail.defs > $@ 89 90 TINYMAILUI_DEFS = tinymailui-base.defs 91 92 tinymailui.defs: $(TINYMAILUI_DEFS) 93 $(CREATEDEFS) $@ $(TINYMAILUI_DEFS) 211 94 212 95 tinymailui-glue.c: tinymailui.defs tinymailui.override … … 216 99 tinymailui.defs > $@ 217 100 101 TINYMAILUI_GTK_DEFS = tinymailui-gtk-base.defs 102 103 tinymailui-gtk.defs: $(TINYMAILUI_GTK_DEFS) 104 $(CREATEDEFS) $@ $(TINYMAILUI_GTK_DEFS) 105 218 106 tinymailui-gtk-glue.c: tinymail.defs $(PYGTK_DEFSDIR)/gdk-types.defs $(PYGTK_DEFSDIR)/gtk-types.defs tinymailui-gtk.defs tinymailui-gtk.override 219 107 $(PYGTK_CODEGEN) --prefix pyuigtk --register $(PYGTK_DEFSDIR)/gdk-types.defs \ … … 222 110 tinymailui-gtk.defs > $@ 223 111 112 TINYMAIL_PLATFORM_DEFS = tinymail-platform-base.defs 113 114 tinymail-platform.defs: $(TINYMAIL_PLATFORM_DEFS) 115 $(CREATEDEFS) $@ $(TINYMAIL_PLATFORM_DEFS) 116 224 117 platform_include.h: 225 ls $(top_srcdir)/ $(PLATFORMDIR)/*h | grep -v \\-priv | sed 's/^/\#include\ \"/g' | sed 's/\.h/\.h\"/g' > $@118 ls $(top_srcdir)/libtinymail-gnome-desktop/*h | grep -v \\-priv | sed 's/^/\#include\ \"/g' | sed 's/\.h/\.h\"/g' > $@ 226 119 227 120 tinymail-platform-glue.c: tinymail-platform.defs tinymail-platform.override platform_include.h … … 233 126 tinymail-platform.defs > $@ 234 127 128 TINYMAIL_CAMEL_DEFS = tinymail-camel-base.defs tinymail-camel-extra.defs 129 130 tinymail-camel.defs: $(TINYMAIL_CAMEL_DEFS) 131 $(CREATEDEFS) $@ $(TINYMAIL_CAMEL_DEFS) 132 235 133 tinymail-camel-glue.c: tinymail-camel.defs tinymail-camel.override 236 134 $(PYGTK_CODEGEN) --prefix pycamel \ trunk/bindings/python/tinymail-camel.override
r2335 r2698 49 49 #include <tny-camel-pop-remote-msg-remove-strategy.h> 50 50 51 #include "pytny-session-camel.h" 52 51 53 #define NO_IMPORT_PYGOBJECT 52 54 #include "pygobject.h" … … 70 72 import tinymail.StoreAccount as PyTnyStoreAccount_Type 71 73 import tinymail.Lockable as PyTnyLockable_Type 72 import tinymail.camel.CamelSession as PyCamelSession_Type73 import tinymail.camel.CamelStream as PyCamelStream_Type74 75 trunk/bindings/python/tinymail-camelmodule.c
r1238 r2698 19 19 20 20 if (PyErr_Occurred ()) { 21 Py_FatalError ("can't initialise module camel");21 PyErr_Print(); 22 22 } 23 23 } trunk/bindings/python/tinymail-platform.override
r2333 r2698 30 30 31 31 #include "platform_include.h" 32 #include "pytny-session-camel.h" 32 33 33 34 #define NO_IMPORT_PYGOBJECT trunk/bindings/python/tinymail.override
r2335 r2698 46 46 #include <tny-device.h> 47 47 48 #include "pytny-status.h" 48 49 49 50 #define NO_IMPORT_PYGOBJECT … … 56 57 ignore-glob 57 58 *_get_type 58 59 %% 60 ignore 61 tny_status_new_literal 62 tny_clear_status 63 tny_set_status 59 64 %% 60 65 import gobject.GObject as PyGObject_Type 66 %% 67 override tny_account_stop_operation noargs 68 static PyObject * 69 _wrap_tny_account_stop_operation(PyGObject *self) 70 { 71 gboolean result; 72 73 tny_account_stop_operation(TNY_ACCOUNT(self->obj), &result); 74 if(result) 75 Py_RETURN_TRUE; 76 else 77 Py_RETURN_FALSE; 78 } 79 %% 80 override tny_password_getter_get_password args 81 static PyObject * 82 _wrap_tny_password_getter_get_password(PyGObject *self, PyObject *args) 83 { 84 const gchar *aid; 85 const gchar *prompt; 86 const gchar *password; 87 gboolean cancel; 88 89 PyObject* password_object; 90 91 if (!PyArg_ParseTuple(args, "ss", &aid, &prompt)) 92 return NULL; 93 password = tny_password_getter_get_password(TNY_PASSWORD_GETTER(self->obj), 94 aid, prompt, &cancel); 95 if(cancel) 96 { 97 if(!password) 98 g_free((gchar*)password); 99 Py_RETURN_NONE; 100 } 101 else 102 { 103 if(!(password_object = Py_BuildValue("s", password))) 104 { 105 if(!password) 106 g_free((gchar*)password); 107 return NULL; 108 } 109 else 110 { 111 g_free((gchar*)password); 112 return password_object; 113 } 114 } 115 } 116 %% 117 override tny_status_new kwargs 118 static int 119 _wrap_tny_status_new(PyGBoxed *self, PyObject *args, PyObject *kwargs) 120 { 121 static char *kwlist[] = { "domain", "code", "position", "of_total", "message", NULL }; 122 TnyStatus status; 123 const gchar *domain_string; 124 GQuark domain_quark; 125 126 status.domain = 0; 127 status.code = 0; 128 status.position = 0; 129 status.of_total = 0; 130 status.message = ""; 131 132 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|iiis:TnyStatus.__init__", kwlist, 133 domain_string, &status.code, &status.position, 134 &status.of_total, status.message)) 135 { 136 return -1; 137 } 138 139 if (!(domain_quark = g_quark_try_string((const gchar*) status.message))) 140 { 141 PyErr_SetString(PyExc_ValueError, "Domain must match a registered GQuark"); 142 return -1; 143 } 144 145 status.domain = domain_quark; 146 147 self->boxed = g_boxed_copy(PYTNY_TYPE_STATUS, &status); 148 self->free_on_dealloc = TRUE; 149 self->gtype = PYTNY_TYPE_STATUS; 150 151 return 0; 152 } 153 %% 154 override tny_status_matches args 155 static PyObject * 156 _wrap_tny_status_matches(PyObject *self, PyObject *args) 157 { 158 const gchar *domain; 159 gint code; 160 GQuark domain_quark; 161 162 if (!PyArg_ParseTuple(args, "si", domain, &code)) 163 return NULL; 164 165 domain_quark = g_quark_try_string(domain); 166 167 if(tny_status_matches(pyg_boxed_get(self, TnyStatus), domain_quark, code)) 168 Py_RETURN_TRUE; 169 else 170 Py_RETURN_FALSE; 171 } 172 %% 173 override tny_folder_change_get_rename noargs 174 _wrap_tny_folder_change_get_rename (PyGObject *self) 175 { 176 const gchar *rename, *oldname; 177 178 rename = tny_folder_change_get_rename(TNY_FOLDER(self->obj), &oldname); 179 180 return Py_BuildValue("ss", rename, oldname); 181 } 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 61 197 %% 62 198 override tny_folder_get_msg_async kwargs trunk/bindings/python/tinymailmodule.c
r2536 r2698 2 2 3 3 void pytinymail_register_classes (PyObject *d); 4 /*void pytinymail_add_constants(PyObject *module, const gchar *strip_prefix);*/ 4 void pytinymail_add_constants(PyObject *module, const gchar *strip_prefix); 5 5 extern PyMethodDef pytinymail_functions[]; 6 6 … … 16 16 17 17 pytinymail_register_classes (d); 18 /*pytinymail_add_constants (m, "TNY_");*/18 pytinymail_add_constants (m, "TNY_"); 19 19 20 20 if (PyErr_Occurred ()) { trunk/configure.ac
r2485 r2698 505 505 bindings/Makefile 506 506 bindings/python/Makefile 507 bindings/python/gendefs/Makefile 507 508 bindings/python/tinymail.pth 508 509 libtinymail/Makefile
