blob: 81a66f35f8ec323d044544ddae7fc789d6a7ad5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import datetime
from cpython cimport datetime as c_datetime
from date cimport JpmcdsDate, JpmcdsStringToDayCountConv
c_datetime.import_datetime()
cdef TDate pydate_to_TDate(c_datetime.date d):
return JpmcdsDate(<long>d.year, <long>d.month, <long>d.day)
cpdef c_datetime.date TDate_to_pydate(TDate d):
cdef TMonthDayYear date
if JpmcdsDateToMDY(d, &date) == 0:
return c_datetime.date_new(date.year, date.month, date.day)
cdef long dcc(str day_count) except -1:
cdef long r
dc_bytes = day_count.encode('utf-8')
cdef char* dc = dc_bytes
cdef err = JpmcdsStringToDayCountConv(<char*> dc, &r)
if err == 0:
return r
else:
raise ValueError('{0} is not a valid day count'.format(day_count))
|