summaryrefslogtreecommitdiffstats
path: root/date.pyx
blob: 26d73393f35ce4029b664760964b515ced177148 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import datetime
from date cimport JpmcdsDate, JpmcdsStringToDayCountConv

cdef TDate pydate_to_TDate(d):
    assert isinstance(d, datetime.date)
    return JpmcdsDate(d.year, d.month, d.day)

cpdef object TDate_to_pydate(TDate d):
    cdef TMonthDayYear date
    if JpmcdsDateToMDY(d, &date) == 0:
        return datetime.date(date.year, date.month, date.day)

cdef long dcc(str day_count):
    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))