8000 fix: #168 Unicode error on Python 2 core-props · python-openxml/python-docx@37822d3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 37822d3

Browse files
committed
fix: #168 Unicode error on Python 2 core-props
1 parent aad71d4 commit 37822d3

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

docx/oxml/coreprops.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# encoding: utf-8
22

3-
"""
4-
lxml custom element classes for core properties-related XML elements.
5-
"""
3+
"""Custom element classes for core properties-related XML elements"""
64

75
from __future__ import (
86
absolute_import, division, print_function, unicode_literals
@@ -12,9 +10,10 @@
1210

1311
from datetime import datetime, timedelta
1412

15-
from . import parse_xml
16-
from .ns import nsdecls, qn
17-
from .xmlchemy import BaseOxmlElement, ZeroOrOne
13+
from docx.compat import is_string
14+
from docx.oxml import parse_xml
15+
from docx.oxml.ns import nsdecls, qn
16+
from docx.oxml.xmlchemy import BaseOxmlElement, ZeroOrOne
1817

1918

2019
class CT_CoreProperties(BaseOxmlElement):
@@ -293,10 +292,10 @@ def _set_element_datetime(self, prop_name, value):
293292
del self.attrib[qn('xsi:foo')]
294293

295294
def _set_element_text(self, prop_name, value):
296-
"""
297-
Set string value of *name* property to *value*.
298-
"""
299-
value = str(value)
295+
"""Set string value of *name* property to *value*."""
296+
if not is_string(value):
297+
value = str(value)
298+
300299
if len(value) > 255:
301300
tmpl = (
302301
"exceeded 255 char limit for property, got:\n\n'%s'"

0 commit comments

Comments
 (0)
0