arg1 = new Month(Month(i-1));
arg1 = new Month(Month(i));
static PyObject *_wrap_new_Date(PyObject *self, PyObject *args, PyObject *kwargs) {    PyObject *resultobj;    Day arg0 ;    Month *arg1 ;    Year arg2 ;    PyObject * obj1  = 0 ;    char *kwnames[] = {        "d","m","y", NULL     };    Date *result ;        if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iOi:new_Date",kwnames,&arg0,&obj1,&arg2)) return NULL;    {        if (PyString_Check(obj1)) {            std::string s(PyString_AsString(obj1));            s = StringFormatter::toLowercase(s);            if (s == "jan" || s == "january")            arg1 = new Month(January);            else if (s == "feb" || s == "february")            arg1 = new Month(February);            else if (s == "mar" || s == "march")            arg1 = new Month(March);            else if (s == "apr" || s == "april")            arg1 = new Month(April);            else if (s == "may")            arg1 = new Month(May);            else if (s == "jun" || s == "june")            arg1 = new Month(June);            else if (s == "jul" || s == "july")            arg1 = new Month(July);            else if (s == "aug" || s == "august")            arg1 = new Month(August);            else if (s == "sep" || s == "september")            arg1 = new Month(September);            else if (s == "oct" || s == "october")            arg1 = new Month(October);            else if (s == "nov" || s == "november")            arg1 = new Month(November);            else if (s == "dec" || s == "december")            arg1 = new Month(December);            else {                PyErr_SetString(PyExc_TypeError,"not a month");                return NULL;            }        }else if (PyInt_Check(obj1)) {            int i = int(PyInt_AsLong(obj1));            if (i>=1 && i<=12)            arg1 = new Month(Month(i-1));            else {                PyErr_SetString(PyExc_TypeError,"not a month");                return NULL;            }        }else {            PyErr_SetString(PyExc_TypeError,"not a weekday");            return NULL;        }    }    {        try {            result = (Date *)new Date(arg0,*arg1,arg2);                    }catch (std::exception& e) {            PyErr_SetString(PyExc_Exception,e.what());            return NULL;        }catch (...) {            PyErr_SetString(PyExc_Exception,"unknown error");            return NULL;        }    }resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_Date);    {        delete arg1;    }    return resultobj;}