Skip to content

Commit 930143b

Browse files
committed
releasing 0.3.1
1 parent d1cd734 commit 930143b

File tree

4 files changed

+45
-32
lines changed

4 files changed

+45
-32
lines changed

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Change log
22
================================================================================
33

4+
0.3.1 - 02.02.2017
5+
--------------------------------------------------------------------------------
6+
7+
Added
8+
********************************************************************************
9+
10+
#. Recognize currency type
11+
412
0.3.0 - 22.12.2016
513
--------------------------------------------------------------------------------
614

pyexcel_ods3/converter.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ def boolean_value(value):
5555
"date": datetime.date,
5656
"time": datetime.time,
5757
"boolean": bool,
58-
"percentage": float,
59-
"currency": float
58+
"percentage": float
6059
}
6160

6261

pyexcel_ods3/ods.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@ def cell_value(self, row, column):
5050
cell = self._native_sheet.get_cell((row, column))
5151
cell_type = cell.value_type
5252
ret = None
53-
if cell_type in converter.ODS_FORMAT_CONVERSION:
53+
if cell_type == 'currency':
54+
cell_value = cell.value
55+
if is_integer_ok_for_xl_float(cell_value):
56+
cell_value = int(cell_value)
57+
58+
ret = str(cell_value) + ' ' + cell.currency
59+
elif cell_type in converter.ODS_FORMAT_CONVERSION:
5460
value = cell.value
5561
n_value = converter.VALUE_CONVERTERS[cell_type](value)
5662
if cell_type == 'float' and self.auto_detect_int:

tests/base.py

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -94,45 +94,45 @@ class ODSCellTypes:
9494
def test_formats(self):
9595
# date formats
9696
date_format = "%d/%m/%Y"
97-
assert self.data["Sheet1"][0][0] == "Date"
98-
assert self.data["Sheet1"][1][0].strftime(date_format) == "11/11/2014"
99-
assert self.data["Sheet1"][2][0].strftime(date_format) == "01/01/2001"
100-
assert self.data["Sheet1"][3][0] == ""
97+
eq_(self.data["Sheet1"][0][0], "Date")
98+
eq_(self.data["Sheet1"][1][0].strftime(date_format), "11/11/2014")
99+
eq_(self.data["Sheet1"][2][0].strftime(date_format), "01/01/2001")
100+
eq_(self.data["Sheet1"][3][0], "")
101101
# time formats
102102
time_format = "%S:%M:%H"
103-
assert self.data["Sheet1"][0][1] == "Time"
104-
assert self.data["Sheet1"][1][1].strftime(time_format) == "12:12:11"
105-
assert self.data["Sheet1"][2][1].strftime(time_format) == "12:00:00"
106-
assert self.data["Sheet1"][3][1] == 0
107-
assert self.data["Sheet1"][4][1] == datetime.timedelta(hours=27,
108-
minutes=17,
109-
seconds=54)
110-
assert self.data["Sheet1"][5][1] == "Other"
103+
eq_(self.data["Sheet1"][0][1], "Time")
104+
eq_(self.data["Sheet1"][1][1].strftime(time_format), "12:12:11")
105+
eq_(self.data["Sheet1"][2][1].strftime(time_format), "12:00:00")
106+
eq_(self.data["Sheet1"][3][1], 0)
107+
eq_(self.data["Sheet1"][4][1], datetime.timedelta(hours=27,
108+
minutes=17,
109+
seconds=54))
110+
eq_(self.data["Sheet1"][5][1], "Other")
111111
# boolean
112-
assert self.data["Sheet1"][0][2] == "Boolean"
113-
assert self.data["Sheet1"][1][2] is True
114-
assert self.data["Sheet1"][2][2] is False
112+
eq_(self.data["Sheet1"][0][2], "Boolean")
113+
eq_(self.data["Sheet1"][1][2], True)
114+
eq_(self.data["Sheet1"][2][2], False)
115115
# Float
116-
assert self.data["Sheet1"][0][3] == "Float"
117-
assert self.data["Sheet1"][1][3] == 11.11
116+
eq_(self.data["Sheet1"][0][3], "Float")
117+
eq_(self.data["Sheet1"][1][3], 11.11)
118118
# Currency
119-
assert self.data["Sheet1"][0][4] == "Currency"
120-
assert self.data["Sheet1"][1][4] == 1
121-
assert self.data["Sheet1"][2][4] == -10000
119+
eq_(self.data["Sheet1"][0][4], "Currency")
120+
eq_(self.data["Sheet1"][1][4], '1 GBP')
121+
eq_(self.data["Sheet1"][2][4], '-10000 GBP')
122122
# Percentage
123-
assert self.data["Sheet1"][0][5] == "Percentage"
124-
assert self.data["Sheet1"][1][5] == 2
123+
eq_(self.data["Sheet1"][0][5], "Percentage")
124+
eq_(self.data["Sheet1"][1][5], 2)
125125
# int
126-
assert self.data["Sheet1"][0][6] == "Int"
127-
assert self.data["Sheet1"][1][6] == 3
128-
assert self.data["Sheet1"][4][6] == 11
126+
eq_(self.data["Sheet1"][0][6], "Int")
127+
eq_(self.data["Sheet1"][1][6], 3)
128+
eq_(self.data["Sheet1"][4][6], 11)
129129
# Scientifed not supported
130-
assert self.data["Sheet1"][1][7] == 100000
130+
eq_(self.data["Sheet1"][1][7], 100000)
131131
# Fraction
132-
assert self.data["Sheet1"][1][8] == 1.25
132+
eq_(self.data["Sheet1"][1][8], 1.25)
133133
# Text
134-
assert self.data["Sheet1"][1][9] == "abc"
134+
eq_(self.data["Sheet1"][1][9], "abc")
135135

136136
@raises(IndexError)
137137
def test_no_excessive_trailing_columns(self):
138-
assert self.data["Sheet1"][2][6] == ""
138+
eq_(self.data["Sheet1"][2][6], "")

0 commit comments

Comments
 (0)