[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Mailutils branch, master, updated. rel-2_1-64-g1a374c8
From: |
Wojciech Polak |
Subject: |
[SCM] GNU Mailutils branch, master, updated. rel-2_1-64-g1a374c8 |
Date: |
Thu, 08 Apr 2010 15:40:19 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".
http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=1a374c8cbea21dabe2f7db123a559576531238db
The branch, master has been updated
via 1a374c8cbea21dabe2f7db123a559576531238db (commit)
from d8ab03b03566831cb5dfe8caf4a1e1b77106a342 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1a374c8cbea21dabe2f7db123a559576531238db
Author: Wojciech Polak <address@hidden>
Date: Thu Apr 8 17:34:49 2010 +0200
Reflect recent RFC compatibility changes in Python/C++.
* examples/python/mimetest.py: Update.
* include/mailutils/cpp/message.h (get_attachment_name): Overload.
* libmu_cpp/message.cc (Message::get_attachment_name): Overload.
* python/libmu_py/message.c (api_message_get_attachment_name): Update.
* python/mailutils/message.py (Message.get_attachment_name):
Add optional charset parameter. Return (name, lang) tuple.
-----------------------------------------------------------------------
Summary of changes:
examples/python/mimetest.py | 2 +-
include/mailutils/cpp/message.h | 2 ++
libmu_cpp/message.cc | 21 +++++++++++++++++++--
python/libmu_py/message.c | 20 +++++++++++++-------
python/mailutils/message.py | 6 +++---
5 files changed, 38 insertions(+), 13 deletions(-)
diff --git a/examples/python/mimetest.py b/examples/python/mimetest.py
index c14d727..471a052 100644
--- a/examples/python/mimetest.py
+++ b/examples/python/mimetest.py
@@ -90,7 +90,7 @@ def message_display_parts (msg, indent):
else:
# Save the attachements.
try:
- fname = part.get_attachment_name ()
+ fname, lang = part.get_attachment_name ()
except:
fname = util.tempname ()
diff --git a/include/mailutils/cpp/message.h b/include/mailutils/cpp/message.h
index 19f076d..bdd50af 100644
--- a/include/mailutils/cpp/message.h
+++ b/include/mailutils/cpp/message.h
@@ -68,6 +68,8 @@ class Message
void save_attachment (const std::string& filename);
Message& unencapsulate ();
std::string get_attachment_name ();
+ std::string get_attachment_name (const std::string& charset,
+ char* lang=NULL);
};
}
diff --git a/libmu_cpp/message.cc b/libmu_cpp/message.cc
index 21f3ec6..a023600 100644
--- a/libmu_cpp/message.cc
+++ b/libmu_cpp/message.cc
@@ -224,8 +224,25 @@ Message :: get_attachment_name ()
char *c_name;
std::string name;
- /* FIXME: CS/Lang info is ignored */
- int status = mu_message_aget_attachment_name (msg, &c_name, NULL);
+ int status = mu_message_aget_decoded_attachment_name (msg, NULL, &c_name,
+ NULL);
+ if (status)
+ throw Exception ("Message::get_attachment_name", status);
+ if (c_name) {
+ name = c_name;
+ free (c_name);
+ }
+ return name;
+}
+
+std::string
+Message :: get_attachment_name (const std::string& charset, char *lang)
+{
+ char *c_name;
+ std::string name;
+
+ int status = mu_message_aget_decoded_attachment_name (msg, charset.c_str (),
+ &c_name, &lang);
if (status)
throw Exception ("Message::get_attachment_name", status);
if (c_name) {
diff --git a/python/libmu_py/message.c b/python/libmu_py/message.c
index fc71cbf..58f9c5b 100644
--- a/python/libmu_py/message.c
+++ b/python/libmu_py/message.c
@@ -282,14 +282,22 @@ api_message_get_attachment_name (PyObject *self, PyObject
*args)
{
int status;
char *name = NULL;
+ char *charset = NULL;
+ char *lang = NULL;
+ PyObject *py_ret;
PyMessage *py_msg;
- if (!PyArg_ParseTuple (args, "O!", &PyMessageType, &py_msg))
+ if (!PyArg_ParseTuple (args, "O!|z", &PyMessageType, &py_msg, &charset))
return NULL;
- /* FIXME: CS/Lang info is ignored */
- status = mu_message_aget_attachment_name (py_msg->msg, &name, NULL);
- return status_object (status, PyString_FromString (name ? name : ""));
+ status = mu_message_aget_decoded_attachment_name (py_msg->msg, charset,
+ &name, &lang);
+
+ py_ret = PyTuple_New (3);
+ PyTuple_SetItem (py_ret, 0, PyInt_FromLong (status));
+ PyTuple_SetItem (py_ret, 1, PyString_FromString (name ? name : ""));
+ PyTuple_SetItem (py_ret, 2, lang ? PyString_FromString (lang) : Py_None);
+ return _ro (py_ret);
}
static PyObject *
@@ -314,12 +322,10 @@ static PyObject *
api_message_unencapsulate (PyObject *self, PyObject *args)
{
int status;
- char *filename = NULL;
PyMessage *py_msg;
PyMessage *py_unen = PyMessage_NEW ();
- if (!PyArg_ParseTuple (args, "O!|s", &PyMessageType, &py_msg,
- &filename))
+ if (!PyArg_ParseTuple (args, "O!", &PyMessageType, &py_msg))
return NULL;
Py_INCREF (py_unen);
diff --git a/python/mailutils/message.py b/python/mailutils/message.py
index 0f4744a..89aa984 100644
--- a/python/mailutils/message.py
+++ b/python/mailutils/message.py
@@ -138,11 +138,11 @@ class Message:
raise MessageError (status)
return uidl
- def get_attachment_name (self):
- status, name = message.get_attachment_name (self.msg)
+ def get_attachment_name (self, charset=None):
+ status, name, lang = message.get_attachment_name (self.msg, charset)
if status:
raise MessageError (status)
- return name
+ return name, lang
def save_attachment (self, filename = ''):
status = message.save_attachment (self.msg, filename)
hooks/post-receive
--
GNU Mailutils
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mailutils branch, master, updated. rel-2_1-64-g1a374c8,
Wojciech Polak <=