summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2018-10-16 14:55:36 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2018-10-16 15:05:18 -0400
commitb0190750e6a4a1adf9a8cf24819c7a8625082e8a (patch)
tree11beef35385954335a25438a22f28b38a7904f28
parentaaa78a5aeba58ef52adcd1fad27a0b1ae8fd8f5a (diff)
downloadpyisda-b0190750e6a4a1adf9a8cf24819c7a8625082e8a.tar.gz
auto encode
-rw-r--r--pyisda/curve.pyx15
-rw-r--r--pyisda/date.pyx6
-rw-r--r--pyisda/logging.pyx6
-rw-r--r--pyisda/version.pyx2
-rw-r--r--setup.py5
5 files changed, 14 insertions, 20 deletions
diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx
index 798148c..4dddb14 100644
--- a/pyisda/curve.pyx
+++ b/pyisda/curve.pyx
@@ -276,9 +276,10 @@ cdef class YieldCurve(Curve):
TDateInterval tmp
long period_adjust
size_t i
+ char* period_bytes
for i, p in enumerate(periods):
- period_bytes = p.encode('utf-8')
+ period_bytes = p
if JpmcdsStringToDateInterval(period_bytes, routine, &tmp) != SUCCESS:
raise ValueError
if types[i] == 'M':
@@ -289,9 +290,9 @@ cdef class YieldCurve(Curve):
"None", &self.dates[i]) != SUCCESS:
raise ValueError('Invalid interval')
- cdef bytes fixed_bytes = fixed_swap_period.encode('utf-8')
- cdef bytes float_bytes = float_swap_period.encode('utf-8')
- cdef bytes types_bytes = types.encode('utf-8')
+ cdef char* fixed_bytes = fixed_swap_period
+ cdef char* float_bytes = float_swap_period
+ cdef char* types_bytes = types
if JpmcdsStringToDateInterval(<char*>fixed_bytes, routine, &ivl) != SUCCESS:
raise ValueError
@@ -576,7 +577,7 @@ cdef class SpreadCurve(Curve):
memcpy(<void*>self.recovery_rates.get(), &recovery_rates[0],
curve.fNumItems * sizeof(double))
if ticker:
- self.ticker = ticker.encode()
+ self.ticker = ticker
survival_probability = Curve.__forward_zero_price
@@ -777,10 +778,6 @@ cdef class SpreadCurve(Curve):
return r
@property
- def ticker(self):
- return self.ticker.decode()
-
- @property
def recovery_rates(self):
cdef np.npy_intp shape = <np.npy_intp>self._thisptr.get().fNumItems
cdef np.ndarray[np.float64_t] out = \
diff --git a/pyisda/date.pyx b/pyisda/date.pyx
index 9085992..16b8e61 100644
--- a/pyisda/date.pyx
+++ b/pyisda/date.pyx
@@ -34,11 +34,7 @@ cdef long dcc(str day_count) except -1:
def dcc_tostring(long day_count):
cdef char* c_string = JpmcdsFormatDayCountConv(day_count)
- if PY_MAJOR_VERSION >= 3:
- s = c_string.decode('utf-8')
- else:
- s = c_string
- return s
+ return c_string
cdef TDate _previous_twentieth(TDate d, bint roll) nogil:
diff --git a/pyisda/logging.pyx b/pyisda/logging.pyx
index 2f94d16..c58d616 100644
--- a/pyisda/logging.pyx
+++ b/pyisda/logging.pyx
@@ -14,14 +14,12 @@ def disable_logging():
def set_logging_file(str file_name, TBoolean append = True):
"""set logging file"""
- filename_bytes = file_name.encode('utf-8')
- cdef char* c_string = filename_bytes
+ cdef char* c_string = file_name
if JpmcdsErrMsgFileName(c_string, append) !=0:
raise
def log_message(str msg):
- msg_bytes = msg.encode('utf-8')
- cdef char* c_msg = msg_bytes
+ cdef char* c_msg = msg
JpmcdsErrLogWrite(c_msg)
def flush():
diff --git a/pyisda/version.pyx b/pyisda/version.pyx
index bd1fabe..fa92a97 100644
--- a/pyisda/version.pyx
+++ b/pyisda/version.pyx
@@ -6,4 +6,4 @@ def version():
if JpmcdsVersionString(c_version) != 0:
print("can't get version")
cdef bytes version_string = c_version
- return version_string.decode('utf-8')
+ return version_string
diff --git a/setup.py b/setup.py
index d358901..68e589c 100644
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,10 @@ c_extension = Extension(
all_extensions = cythonize(
[c_extension, all_extensions],
nthreads=4,
- compiler_directives={"embedsignature": True},
+ compiler_directives={"embedsignature": True,
+ "language_level": 2,
+ "c_string_type": "unicode",
+ "c_string_encoding": "ascii"},
)
setup(