diff --git a/src/plugins/plugin_xep_0277.py b/src/plugins/plugin_xep_0277.py index 34073546..9f25f755 100755 --- a/src/plugins/plugin_xep_0277.py +++ b/src/plugins/plugin_xep_0277.py @@ -190,6 +190,12 @@ class XEP_0277(object): msg = u'No atom entry found in the pubsub item {}'.format(id_) raise failure.Failure(exceptions.DataError(msg)) + # language + try: + microblog_data[u'language'] = entry_elt[(C.NS_XML, u'lang')] + except KeyError: + pass + # atom:id try: id_elt = entry_elt.elements(NS_ATOM, 'id').next() @@ -345,6 +351,10 @@ class XEP_0277(object): client = self.host.getClient(profile) entry_elt = domish.Element((NS_ATOM, 'entry')) + ## language ## + if u'language' in data: + entry_elt[(C.NS_XML, u'lang')] = data[u'language'] + ## content and title ## synt = self.host.plugins["TEXT-SYNTAXES"] diff --git a/src/tools/common/data_objects.py b/src/tools/common/data_objects.py index 1aca21ad..f8e07744 100644 --- a/src/tools/common/data_objects.py +++ b/src/tools/common/data_objects.py @@ -51,6 +51,10 @@ class BlogItem(object): def updated(self): return self.mb_data.get(u'updated') + @property + def language(self): + return self.mb_data.get(u'language') + @property def author(self): return self.mb_data.get(u'author')