Home | History | Annotate | Download | only in stringlib
      1 #if STRINGLIB_IS_UNICODE
      2 # error "ctype.h only compatible with byte-wise strings"
      3 #endif
      4 
      5 #include "bytes_methods.h"
      6 
      7 static PyObject*
      8 stringlib_isspace(PyObject *self)
      9 {
     10     return _Py_bytes_isspace(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     11 }
     12 
     13 static PyObject*
     14 stringlib_isalpha(PyObject *self)
     15 {
     16     return _Py_bytes_isalpha(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     17 }
     18 
     19 static PyObject*
     20 stringlib_isalnum(PyObject *self)
     21 {
     22     return _Py_bytes_isalnum(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     23 }
     24 
     25 static PyObject*
     26 stringlib_isascii(PyObject *self)
     27 {
     28     return _Py_bytes_isascii(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     29 }
     30 
     31 static PyObject*
     32 stringlib_isdigit(PyObject *self)
     33 {
     34     return _Py_bytes_isdigit(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     35 }
     36 
     37 static PyObject*
     38 stringlib_islower(PyObject *self)
     39 {
     40     return _Py_bytes_islower(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     41 }
     42 
     43 static PyObject*
     44 stringlib_isupper(PyObject *self)
     45 {
     46     return _Py_bytes_isupper(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     47 }
     48 
     49 static PyObject*
     50 stringlib_istitle(PyObject *self)
     51 {
     52     return _Py_bytes_istitle(STRINGLIB_STR(self), STRINGLIB_LEN(self));
     53 }
     54 
     55 
     56 /* functions that return a new object partially translated by ctype funcs: */
     57 
     58 static PyObject*
     59 stringlib_lower(PyObject *self)
     60 {
     61     PyObject* newobj;
     62     newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
     63     if (!newobj)
     64             return NULL;
     65     _Py_bytes_lower(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
     66                  STRINGLIB_LEN(self));
     67     return newobj;
     68 }
     69 
     70 static PyObject*
     71 stringlib_upper(PyObject *self)
     72 {
     73     PyObject* newobj;
     74     newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
     75     if (!newobj)
     76             return NULL;
     77     _Py_bytes_upper(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
     78                  STRINGLIB_LEN(self));
     79     return newobj;
     80 }
     81 
     82 static PyObject*
     83 stringlib_title(PyObject *self)
     84 {
     85     PyObject* newobj;
     86     newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
     87     if (!newobj)
     88             return NULL;
     89     _Py_bytes_title(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
     90                  STRINGLIB_LEN(self));
     91     return newobj;
     92 }
     93 
     94 static PyObject*
     95 stringlib_capitalize(PyObject *self)
     96 {
     97     PyObject* newobj;
     98     newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
     99     if (!newobj)
    100             return NULL;
    101     _Py_bytes_capitalize(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
    102                       STRINGLIB_LEN(self));
    103     return newobj;
    104 }
    105 
    106 static PyObject*
    107 stringlib_swapcase(PyObject *self)
    108 {
    109     PyObject* newobj;
    110     newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
    111     if (!newobj)
    112             return NULL;
    113     _Py_bytes_swapcase(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
    114                     STRINGLIB_LEN(self));
    115     return newobj;
    116 }
    117