17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(EncodingMap_size__doc__, 67db96d56Sopenharmony_ci"size($self, /)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Return the size (in bytes) of this object."); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#define ENCODINGMAP_SIZE_METHODDEF \ 127db96d56Sopenharmony_ci {"size", (PyCFunction)EncodingMap_size, METH_NOARGS, EncodingMap_size__doc__}, 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_ciEncodingMap_size_impl(struct encoding_map *self); 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_cistatic PyObject * 187db96d56Sopenharmony_ciEncodingMap_size(struct encoding_map *self, PyObject *Py_UNUSED(ignored)) 197db96d56Sopenharmony_ci{ 207db96d56Sopenharmony_ci return EncodingMap_size_impl(self); 217db96d56Sopenharmony_ci} 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_title__doc__, 247db96d56Sopenharmony_ci"title($self, /)\n" 257db96d56Sopenharmony_ci"--\n" 267db96d56Sopenharmony_ci"\n" 277db96d56Sopenharmony_ci"Return a version of the string where each word is titlecased.\n" 287db96d56Sopenharmony_ci"\n" 297db96d56Sopenharmony_ci"More specifically, words start with uppercased characters and all remaining\n" 307db96d56Sopenharmony_ci"cased characters have lower case."); 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci#define UNICODE_TITLE_METHODDEF \ 337db96d56Sopenharmony_ci {"title", (PyCFunction)unicode_title, METH_NOARGS, unicode_title__doc__}, 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_cistatic PyObject * 367db96d56Sopenharmony_ciunicode_title_impl(PyObject *self); 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_cistatic PyObject * 397db96d56Sopenharmony_ciunicode_title(PyObject *self, PyObject *Py_UNUSED(ignored)) 407db96d56Sopenharmony_ci{ 417db96d56Sopenharmony_ci return unicode_title_impl(self); 427db96d56Sopenharmony_ci} 437db96d56Sopenharmony_ci 447db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_capitalize__doc__, 457db96d56Sopenharmony_ci"capitalize($self, /)\n" 467db96d56Sopenharmony_ci"--\n" 477db96d56Sopenharmony_ci"\n" 487db96d56Sopenharmony_ci"Return a capitalized version of the string.\n" 497db96d56Sopenharmony_ci"\n" 507db96d56Sopenharmony_ci"More specifically, make the first character have upper case and the rest lower\n" 517db96d56Sopenharmony_ci"case."); 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ci#define UNICODE_CAPITALIZE_METHODDEF \ 547db96d56Sopenharmony_ci {"capitalize", (PyCFunction)unicode_capitalize, METH_NOARGS, unicode_capitalize__doc__}, 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_cistatic PyObject * 577db96d56Sopenharmony_ciunicode_capitalize_impl(PyObject *self); 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_cistatic PyObject * 607db96d56Sopenharmony_ciunicode_capitalize(PyObject *self, PyObject *Py_UNUSED(ignored)) 617db96d56Sopenharmony_ci{ 627db96d56Sopenharmony_ci return unicode_capitalize_impl(self); 637db96d56Sopenharmony_ci} 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_casefold__doc__, 667db96d56Sopenharmony_ci"casefold($self, /)\n" 677db96d56Sopenharmony_ci"--\n" 687db96d56Sopenharmony_ci"\n" 697db96d56Sopenharmony_ci"Return a version of the string suitable for caseless comparisons."); 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci#define UNICODE_CASEFOLD_METHODDEF \ 727db96d56Sopenharmony_ci {"casefold", (PyCFunction)unicode_casefold, METH_NOARGS, unicode_casefold__doc__}, 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_cistatic PyObject * 757db96d56Sopenharmony_ciunicode_casefold_impl(PyObject *self); 767db96d56Sopenharmony_ci 777db96d56Sopenharmony_cistatic PyObject * 787db96d56Sopenharmony_ciunicode_casefold(PyObject *self, PyObject *Py_UNUSED(ignored)) 797db96d56Sopenharmony_ci{ 807db96d56Sopenharmony_ci return unicode_casefold_impl(self); 817db96d56Sopenharmony_ci} 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_center__doc__, 847db96d56Sopenharmony_ci"center($self, width, fillchar=\' \', /)\n" 857db96d56Sopenharmony_ci"--\n" 867db96d56Sopenharmony_ci"\n" 877db96d56Sopenharmony_ci"Return a centered string of length width.\n" 887db96d56Sopenharmony_ci"\n" 897db96d56Sopenharmony_ci"Padding is done using the specified fill character (default is a space)."); 907db96d56Sopenharmony_ci 917db96d56Sopenharmony_ci#define UNICODE_CENTER_METHODDEF \ 927db96d56Sopenharmony_ci {"center", _PyCFunction_CAST(unicode_center), METH_FASTCALL, unicode_center__doc__}, 937db96d56Sopenharmony_ci 947db96d56Sopenharmony_cistatic PyObject * 957db96d56Sopenharmony_ciunicode_center_impl(PyObject *self, Py_ssize_t width, Py_UCS4 fillchar); 967db96d56Sopenharmony_ci 977db96d56Sopenharmony_cistatic PyObject * 987db96d56Sopenharmony_ciunicode_center(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 997db96d56Sopenharmony_ci{ 1007db96d56Sopenharmony_ci PyObject *return_value = NULL; 1017db96d56Sopenharmony_ci Py_ssize_t width; 1027db96d56Sopenharmony_ci Py_UCS4 fillchar = ' '; 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("center", nargs, 1, 2)) { 1057db96d56Sopenharmony_ci goto exit; 1067db96d56Sopenharmony_ci } 1077db96d56Sopenharmony_ci { 1087db96d56Sopenharmony_ci Py_ssize_t ival = -1; 1097db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[0]); 1107db96d56Sopenharmony_ci if (iobj != NULL) { 1117db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 1127db96d56Sopenharmony_ci Py_DECREF(iobj); 1137db96d56Sopenharmony_ci } 1147db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 1157db96d56Sopenharmony_ci goto exit; 1167db96d56Sopenharmony_ci } 1177db96d56Sopenharmony_ci width = ival; 1187db96d56Sopenharmony_ci } 1197db96d56Sopenharmony_ci if (nargs < 2) { 1207db96d56Sopenharmony_ci goto skip_optional; 1217db96d56Sopenharmony_ci } 1227db96d56Sopenharmony_ci if (!convert_uc(args[1], &fillchar)) { 1237db96d56Sopenharmony_ci goto exit; 1247db96d56Sopenharmony_ci } 1257db96d56Sopenharmony_ciskip_optional: 1267db96d56Sopenharmony_ci return_value = unicode_center_impl(self, width, fillchar); 1277db96d56Sopenharmony_ci 1287db96d56Sopenharmony_ciexit: 1297db96d56Sopenharmony_ci return return_value; 1307db96d56Sopenharmony_ci} 1317db96d56Sopenharmony_ci 1327db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_encode__doc__, 1337db96d56Sopenharmony_ci"encode($self, /, encoding=\'utf-8\', errors=\'strict\')\n" 1347db96d56Sopenharmony_ci"--\n" 1357db96d56Sopenharmony_ci"\n" 1367db96d56Sopenharmony_ci"Encode the string using the codec registered for encoding.\n" 1377db96d56Sopenharmony_ci"\n" 1387db96d56Sopenharmony_ci" encoding\n" 1397db96d56Sopenharmony_ci" The encoding in which to encode the string.\n" 1407db96d56Sopenharmony_ci" errors\n" 1417db96d56Sopenharmony_ci" The error handling scheme to use for encoding errors.\n" 1427db96d56Sopenharmony_ci" The default is \'strict\' meaning that encoding errors raise a\n" 1437db96d56Sopenharmony_ci" UnicodeEncodeError. Other possible values are \'ignore\', \'replace\' and\n" 1447db96d56Sopenharmony_ci" \'xmlcharrefreplace\' as well as any other name registered with\n" 1457db96d56Sopenharmony_ci" codecs.register_error that can handle UnicodeEncodeErrors."); 1467db96d56Sopenharmony_ci 1477db96d56Sopenharmony_ci#define UNICODE_ENCODE_METHODDEF \ 1487db96d56Sopenharmony_ci {"encode", _PyCFunction_CAST(unicode_encode), METH_FASTCALL|METH_KEYWORDS, unicode_encode__doc__}, 1497db96d56Sopenharmony_ci 1507db96d56Sopenharmony_cistatic PyObject * 1517db96d56Sopenharmony_ciunicode_encode_impl(PyObject *self, const char *encoding, const char *errors); 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_cistatic PyObject * 1547db96d56Sopenharmony_ciunicode_encode(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 1557db96d56Sopenharmony_ci{ 1567db96d56Sopenharmony_ci PyObject *return_value = NULL; 1577db96d56Sopenharmony_ci static const char * const _keywords[] = {"encoding", "errors", NULL}; 1587db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "encode", 0}; 1597db96d56Sopenharmony_ci PyObject *argsbuf[2]; 1607db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 1617db96d56Sopenharmony_ci const char *encoding = NULL; 1627db96d56Sopenharmony_ci const char *errors = NULL; 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 2, 0, argsbuf); 1657db96d56Sopenharmony_ci if (!args) { 1667db96d56Sopenharmony_ci goto exit; 1677db96d56Sopenharmony_ci } 1687db96d56Sopenharmony_ci if (!noptargs) { 1697db96d56Sopenharmony_ci goto skip_optional_pos; 1707db96d56Sopenharmony_ci } 1717db96d56Sopenharmony_ci if (args[0]) { 1727db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 1737db96d56Sopenharmony_ci _PyArg_BadArgument("encode", "argument 'encoding'", "str", args[0]); 1747db96d56Sopenharmony_ci goto exit; 1757db96d56Sopenharmony_ci } 1767db96d56Sopenharmony_ci Py_ssize_t encoding_length; 1777db96d56Sopenharmony_ci encoding = PyUnicode_AsUTF8AndSize(args[0], &encoding_length); 1787db96d56Sopenharmony_ci if (encoding == NULL) { 1797db96d56Sopenharmony_ci goto exit; 1807db96d56Sopenharmony_ci } 1817db96d56Sopenharmony_ci if (strlen(encoding) != (size_t)encoding_length) { 1827db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 1837db96d56Sopenharmony_ci goto exit; 1847db96d56Sopenharmony_ci } 1857db96d56Sopenharmony_ci if (!--noptargs) { 1867db96d56Sopenharmony_ci goto skip_optional_pos; 1877db96d56Sopenharmony_ci } 1887db96d56Sopenharmony_ci } 1897db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 1907db96d56Sopenharmony_ci _PyArg_BadArgument("encode", "argument 'errors'", "str", args[1]); 1917db96d56Sopenharmony_ci goto exit; 1927db96d56Sopenharmony_ci } 1937db96d56Sopenharmony_ci Py_ssize_t errors_length; 1947db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 1957db96d56Sopenharmony_ci if (errors == NULL) { 1967db96d56Sopenharmony_ci goto exit; 1977db96d56Sopenharmony_ci } 1987db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 1997db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 2007db96d56Sopenharmony_ci goto exit; 2017db96d56Sopenharmony_ci } 2027db96d56Sopenharmony_ciskip_optional_pos: 2037db96d56Sopenharmony_ci return_value = unicode_encode_impl(self, encoding, errors); 2047db96d56Sopenharmony_ci 2057db96d56Sopenharmony_ciexit: 2067db96d56Sopenharmony_ci return return_value; 2077db96d56Sopenharmony_ci} 2087db96d56Sopenharmony_ci 2097db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_expandtabs__doc__, 2107db96d56Sopenharmony_ci"expandtabs($self, /, tabsize=8)\n" 2117db96d56Sopenharmony_ci"--\n" 2127db96d56Sopenharmony_ci"\n" 2137db96d56Sopenharmony_ci"Return a copy where all tab characters are expanded using spaces.\n" 2147db96d56Sopenharmony_ci"\n" 2157db96d56Sopenharmony_ci"If tabsize is not given, a tab size of 8 characters is assumed."); 2167db96d56Sopenharmony_ci 2177db96d56Sopenharmony_ci#define UNICODE_EXPANDTABS_METHODDEF \ 2187db96d56Sopenharmony_ci {"expandtabs", _PyCFunction_CAST(unicode_expandtabs), METH_FASTCALL|METH_KEYWORDS, unicode_expandtabs__doc__}, 2197db96d56Sopenharmony_ci 2207db96d56Sopenharmony_cistatic PyObject * 2217db96d56Sopenharmony_ciunicode_expandtabs_impl(PyObject *self, int tabsize); 2227db96d56Sopenharmony_ci 2237db96d56Sopenharmony_cistatic PyObject * 2247db96d56Sopenharmony_ciunicode_expandtabs(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 2257db96d56Sopenharmony_ci{ 2267db96d56Sopenharmony_ci PyObject *return_value = NULL; 2277db96d56Sopenharmony_ci static const char * const _keywords[] = {"tabsize", NULL}; 2287db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "expandtabs", 0}; 2297db96d56Sopenharmony_ci PyObject *argsbuf[1]; 2307db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 2317db96d56Sopenharmony_ci int tabsize = 8; 2327db96d56Sopenharmony_ci 2337db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf); 2347db96d56Sopenharmony_ci if (!args) { 2357db96d56Sopenharmony_ci goto exit; 2367db96d56Sopenharmony_ci } 2377db96d56Sopenharmony_ci if (!noptargs) { 2387db96d56Sopenharmony_ci goto skip_optional_pos; 2397db96d56Sopenharmony_ci } 2407db96d56Sopenharmony_ci tabsize = _PyLong_AsInt(args[0]); 2417db96d56Sopenharmony_ci if (tabsize == -1 && PyErr_Occurred()) { 2427db96d56Sopenharmony_ci goto exit; 2437db96d56Sopenharmony_ci } 2447db96d56Sopenharmony_ciskip_optional_pos: 2457db96d56Sopenharmony_ci return_value = unicode_expandtabs_impl(self, tabsize); 2467db96d56Sopenharmony_ci 2477db96d56Sopenharmony_ciexit: 2487db96d56Sopenharmony_ci return return_value; 2497db96d56Sopenharmony_ci} 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isascii__doc__, 2527db96d56Sopenharmony_ci"isascii($self, /)\n" 2537db96d56Sopenharmony_ci"--\n" 2547db96d56Sopenharmony_ci"\n" 2557db96d56Sopenharmony_ci"Return True if all characters in the string are ASCII, False otherwise.\n" 2567db96d56Sopenharmony_ci"\n" 2577db96d56Sopenharmony_ci"ASCII characters have code points in the range U+0000-U+007F.\n" 2587db96d56Sopenharmony_ci"Empty string is ASCII too."); 2597db96d56Sopenharmony_ci 2607db96d56Sopenharmony_ci#define UNICODE_ISASCII_METHODDEF \ 2617db96d56Sopenharmony_ci {"isascii", (PyCFunction)unicode_isascii, METH_NOARGS, unicode_isascii__doc__}, 2627db96d56Sopenharmony_ci 2637db96d56Sopenharmony_cistatic PyObject * 2647db96d56Sopenharmony_ciunicode_isascii_impl(PyObject *self); 2657db96d56Sopenharmony_ci 2667db96d56Sopenharmony_cistatic PyObject * 2677db96d56Sopenharmony_ciunicode_isascii(PyObject *self, PyObject *Py_UNUSED(ignored)) 2687db96d56Sopenharmony_ci{ 2697db96d56Sopenharmony_ci return unicode_isascii_impl(self); 2707db96d56Sopenharmony_ci} 2717db96d56Sopenharmony_ci 2727db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_islower__doc__, 2737db96d56Sopenharmony_ci"islower($self, /)\n" 2747db96d56Sopenharmony_ci"--\n" 2757db96d56Sopenharmony_ci"\n" 2767db96d56Sopenharmony_ci"Return True if the string is a lowercase string, False otherwise.\n" 2777db96d56Sopenharmony_ci"\n" 2787db96d56Sopenharmony_ci"A string is lowercase if all cased characters in the string are lowercase and\n" 2797db96d56Sopenharmony_ci"there is at least one cased character in the string."); 2807db96d56Sopenharmony_ci 2817db96d56Sopenharmony_ci#define UNICODE_ISLOWER_METHODDEF \ 2827db96d56Sopenharmony_ci {"islower", (PyCFunction)unicode_islower, METH_NOARGS, unicode_islower__doc__}, 2837db96d56Sopenharmony_ci 2847db96d56Sopenharmony_cistatic PyObject * 2857db96d56Sopenharmony_ciunicode_islower_impl(PyObject *self); 2867db96d56Sopenharmony_ci 2877db96d56Sopenharmony_cistatic PyObject * 2887db96d56Sopenharmony_ciunicode_islower(PyObject *self, PyObject *Py_UNUSED(ignored)) 2897db96d56Sopenharmony_ci{ 2907db96d56Sopenharmony_ci return unicode_islower_impl(self); 2917db96d56Sopenharmony_ci} 2927db96d56Sopenharmony_ci 2937db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isupper__doc__, 2947db96d56Sopenharmony_ci"isupper($self, /)\n" 2957db96d56Sopenharmony_ci"--\n" 2967db96d56Sopenharmony_ci"\n" 2977db96d56Sopenharmony_ci"Return True if the string is an uppercase string, False otherwise.\n" 2987db96d56Sopenharmony_ci"\n" 2997db96d56Sopenharmony_ci"A string is uppercase if all cased characters in the string are uppercase and\n" 3007db96d56Sopenharmony_ci"there is at least one cased character in the string."); 3017db96d56Sopenharmony_ci 3027db96d56Sopenharmony_ci#define UNICODE_ISUPPER_METHODDEF \ 3037db96d56Sopenharmony_ci {"isupper", (PyCFunction)unicode_isupper, METH_NOARGS, unicode_isupper__doc__}, 3047db96d56Sopenharmony_ci 3057db96d56Sopenharmony_cistatic PyObject * 3067db96d56Sopenharmony_ciunicode_isupper_impl(PyObject *self); 3077db96d56Sopenharmony_ci 3087db96d56Sopenharmony_cistatic PyObject * 3097db96d56Sopenharmony_ciunicode_isupper(PyObject *self, PyObject *Py_UNUSED(ignored)) 3107db96d56Sopenharmony_ci{ 3117db96d56Sopenharmony_ci return unicode_isupper_impl(self); 3127db96d56Sopenharmony_ci} 3137db96d56Sopenharmony_ci 3147db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_istitle__doc__, 3157db96d56Sopenharmony_ci"istitle($self, /)\n" 3167db96d56Sopenharmony_ci"--\n" 3177db96d56Sopenharmony_ci"\n" 3187db96d56Sopenharmony_ci"Return True if the string is a title-cased string, False otherwise.\n" 3197db96d56Sopenharmony_ci"\n" 3207db96d56Sopenharmony_ci"In a title-cased string, upper- and title-case characters may only\n" 3217db96d56Sopenharmony_ci"follow uncased characters and lowercase characters only cased ones."); 3227db96d56Sopenharmony_ci 3237db96d56Sopenharmony_ci#define UNICODE_ISTITLE_METHODDEF \ 3247db96d56Sopenharmony_ci {"istitle", (PyCFunction)unicode_istitle, METH_NOARGS, unicode_istitle__doc__}, 3257db96d56Sopenharmony_ci 3267db96d56Sopenharmony_cistatic PyObject * 3277db96d56Sopenharmony_ciunicode_istitle_impl(PyObject *self); 3287db96d56Sopenharmony_ci 3297db96d56Sopenharmony_cistatic PyObject * 3307db96d56Sopenharmony_ciunicode_istitle(PyObject *self, PyObject *Py_UNUSED(ignored)) 3317db96d56Sopenharmony_ci{ 3327db96d56Sopenharmony_ci return unicode_istitle_impl(self); 3337db96d56Sopenharmony_ci} 3347db96d56Sopenharmony_ci 3357db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isspace__doc__, 3367db96d56Sopenharmony_ci"isspace($self, /)\n" 3377db96d56Sopenharmony_ci"--\n" 3387db96d56Sopenharmony_ci"\n" 3397db96d56Sopenharmony_ci"Return True if the string is a whitespace string, False otherwise.\n" 3407db96d56Sopenharmony_ci"\n" 3417db96d56Sopenharmony_ci"A string is whitespace if all characters in the string are whitespace and there\n" 3427db96d56Sopenharmony_ci"is at least one character in the string."); 3437db96d56Sopenharmony_ci 3447db96d56Sopenharmony_ci#define UNICODE_ISSPACE_METHODDEF \ 3457db96d56Sopenharmony_ci {"isspace", (PyCFunction)unicode_isspace, METH_NOARGS, unicode_isspace__doc__}, 3467db96d56Sopenharmony_ci 3477db96d56Sopenharmony_cistatic PyObject * 3487db96d56Sopenharmony_ciunicode_isspace_impl(PyObject *self); 3497db96d56Sopenharmony_ci 3507db96d56Sopenharmony_cistatic PyObject * 3517db96d56Sopenharmony_ciunicode_isspace(PyObject *self, PyObject *Py_UNUSED(ignored)) 3527db96d56Sopenharmony_ci{ 3537db96d56Sopenharmony_ci return unicode_isspace_impl(self); 3547db96d56Sopenharmony_ci} 3557db96d56Sopenharmony_ci 3567db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isalpha__doc__, 3577db96d56Sopenharmony_ci"isalpha($self, /)\n" 3587db96d56Sopenharmony_ci"--\n" 3597db96d56Sopenharmony_ci"\n" 3607db96d56Sopenharmony_ci"Return True if the string is an alphabetic string, False otherwise.\n" 3617db96d56Sopenharmony_ci"\n" 3627db96d56Sopenharmony_ci"A string is alphabetic if all characters in the string are alphabetic and there\n" 3637db96d56Sopenharmony_ci"is at least one character in the string."); 3647db96d56Sopenharmony_ci 3657db96d56Sopenharmony_ci#define UNICODE_ISALPHA_METHODDEF \ 3667db96d56Sopenharmony_ci {"isalpha", (PyCFunction)unicode_isalpha, METH_NOARGS, unicode_isalpha__doc__}, 3677db96d56Sopenharmony_ci 3687db96d56Sopenharmony_cistatic PyObject * 3697db96d56Sopenharmony_ciunicode_isalpha_impl(PyObject *self); 3707db96d56Sopenharmony_ci 3717db96d56Sopenharmony_cistatic PyObject * 3727db96d56Sopenharmony_ciunicode_isalpha(PyObject *self, PyObject *Py_UNUSED(ignored)) 3737db96d56Sopenharmony_ci{ 3747db96d56Sopenharmony_ci return unicode_isalpha_impl(self); 3757db96d56Sopenharmony_ci} 3767db96d56Sopenharmony_ci 3777db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isalnum__doc__, 3787db96d56Sopenharmony_ci"isalnum($self, /)\n" 3797db96d56Sopenharmony_ci"--\n" 3807db96d56Sopenharmony_ci"\n" 3817db96d56Sopenharmony_ci"Return True if the string is an alpha-numeric string, False otherwise.\n" 3827db96d56Sopenharmony_ci"\n" 3837db96d56Sopenharmony_ci"A string is alpha-numeric if all characters in the string are alpha-numeric and\n" 3847db96d56Sopenharmony_ci"there is at least one character in the string."); 3857db96d56Sopenharmony_ci 3867db96d56Sopenharmony_ci#define UNICODE_ISALNUM_METHODDEF \ 3877db96d56Sopenharmony_ci {"isalnum", (PyCFunction)unicode_isalnum, METH_NOARGS, unicode_isalnum__doc__}, 3887db96d56Sopenharmony_ci 3897db96d56Sopenharmony_cistatic PyObject * 3907db96d56Sopenharmony_ciunicode_isalnum_impl(PyObject *self); 3917db96d56Sopenharmony_ci 3927db96d56Sopenharmony_cistatic PyObject * 3937db96d56Sopenharmony_ciunicode_isalnum(PyObject *self, PyObject *Py_UNUSED(ignored)) 3947db96d56Sopenharmony_ci{ 3957db96d56Sopenharmony_ci return unicode_isalnum_impl(self); 3967db96d56Sopenharmony_ci} 3977db96d56Sopenharmony_ci 3987db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isdecimal__doc__, 3997db96d56Sopenharmony_ci"isdecimal($self, /)\n" 4007db96d56Sopenharmony_ci"--\n" 4017db96d56Sopenharmony_ci"\n" 4027db96d56Sopenharmony_ci"Return True if the string is a decimal string, False otherwise.\n" 4037db96d56Sopenharmony_ci"\n" 4047db96d56Sopenharmony_ci"A string is a decimal string if all characters in the string are decimal and\n" 4057db96d56Sopenharmony_ci"there is at least one character in the string."); 4067db96d56Sopenharmony_ci 4077db96d56Sopenharmony_ci#define UNICODE_ISDECIMAL_METHODDEF \ 4087db96d56Sopenharmony_ci {"isdecimal", (PyCFunction)unicode_isdecimal, METH_NOARGS, unicode_isdecimal__doc__}, 4097db96d56Sopenharmony_ci 4107db96d56Sopenharmony_cistatic PyObject * 4117db96d56Sopenharmony_ciunicode_isdecimal_impl(PyObject *self); 4127db96d56Sopenharmony_ci 4137db96d56Sopenharmony_cistatic PyObject * 4147db96d56Sopenharmony_ciunicode_isdecimal(PyObject *self, PyObject *Py_UNUSED(ignored)) 4157db96d56Sopenharmony_ci{ 4167db96d56Sopenharmony_ci return unicode_isdecimal_impl(self); 4177db96d56Sopenharmony_ci} 4187db96d56Sopenharmony_ci 4197db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isdigit__doc__, 4207db96d56Sopenharmony_ci"isdigit($self, /)\n" 4217db96d56Sopenharmony_ci"--\n" 4227db96d56Sopenharmony_ci"\n" 4237db96d56Sopenharmony_ci"Return True if the string is a digit string, False otherwise.\n" 4247db96d56Sopenharmony_ci"\n" 4257db96d56Sopenharmony_ci"A string is a digit string if all characters in the string are digits and there\n" 4267db96d56Sopenharmony_ci"is at least one character in the string."); 4277db96d56Sopenharmony_ci 4287db96d56Sopenharmony_ci#define UNICODE_ISDIGIT_METHODDEF \ 4297db96d56Sopenharmony_ci {"isdigit", (PyCFunction)unicode_isdigit, METH_NOARGS, unicode_isdigit__doc__}, 4307db96d56Sopenharmony_ci 4317db96d56Sopenharmony_cistatic PyObject * 4327db96d56Sopenharmony_ciunicode_isdigit_impl(PyObject *self); 4337db96d56Sopenharmony_ci 4347db96d56Sopenharmony_cistatic PyObject * 4357db96d56Sopenharmony_ciunicode_isdigit(PyObject *self, PyObject *Py_UNUSED(ignored)) 4367db96d56Sopenharmony_ci{ 4377db96d56Sopenharmony_ci return unicode_isdigit_impl(self); 4387db96d56Sopenharmony_ci} 4397db96d56Sopenharmony_ci 4407db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isnumeric__doc__, 4417db96d56Sopenharmony_ci"isnumeric($self, /)\n" 4427db96d56Sopenharmony_ci"--\n" 4437db96d56Sopenharmony_ci"\n" 4447db96d56Sopenharmony_ci"Return True if the string is a numeric string, False otherwise.\n" 4457db96d56Sopenharmony_ci"\n" 4467db96d56Sopenharmony_ci"A string is numeric if all characters in the string are numeric and there is at\n" 4477db96d56Sopenharmony_ci"least one character in the string."); 4487db96d56Sopenharmony_ci 4497db96d56Sopenharmony_ci#define UNICODE_ISNUMERIC_METHODDEF \ 4507db96d56Sopenharmony_ci {"isnumeric", (PyCFunction)unicode_isnumeric, METH_NOARGS, unicode_isnumeric__doc__}, 4517db96d56Sopenharmony_ci 4527db96d56Sopenharmony_cistatic PyObject * 4537db96d56Sopenharmony_ciunicode_isnumeric_impl(PyObject *self); 4547db96d56Sopenharmony_ci 4557db96d56Sopenharmony_cistatic PyObject * 4567db96d56Sopenharmony_ciunicode_isnumeric(PyObject *self, PyObject *Py_UNUSED(ignored)) 4577db96d56Sopenharmony_ci{ 4587db96d56Sopenharmony_ci return unicode_isnumeric_impl(self); 4597db96d56Sopenharmony_ci} 4607db96d56Sopenharmony_ci 4617db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isidentifier__doc__, 4627db96d56Sopenharmony_ci"isidentifier($self, /)\n" 4637db96d56Sopenharmony_ci"--\n" 4647db96d56Sopenharmony_ci"\n" 4657db96d56Sopenharmony_ci"Return True if the string is a valid Python identifier, False otherwise.\n" 4667db96d56Sopenharmony_ci"\n" 4677db96d56Sopenharmony_ci"Call keyword.iskeyword(s) to test whether string s is a reserved identifier,\n" 4687db96d56Sopenharmony_ci"such as \"def\" or \"class\"."); 4697db96d56Sopenharmony_ci 4707db96d56Sopenharmony_ci#define UNICODE_ISIDENTIFIER_METHODDEF \ 4717db96d56Sopenharmony_ci {"isidentifier", (PyCFunction)unicode_isidentifier, METH_NOARGS, unicode_isidentifier__doc__}, 4727db96d56Sopenharmony_ci 4737db96d56Sopenharmony_cistatic PyObject * 4747db96d56Sopenharmony_ciunicode_isidentifier_impl(PyObject *self); 4757db96d56Sopenharmony_ci 4767db96d56Sopenharmony_cistatic PyObject * 4777db96d56Sopenharmony_ciunicode_isidentifier(PyObject *self, PyObject *Py_UNUSED(ignored)) 4787db96d56Sopenharmony_ci{ 4797db96d56Sopenharmony_ci return unicode_isidentifier_impl(self); 4807db96d56Sopenharmony_ci} 4817db96d56Sopenharmony_ci 4827db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_isprintable__doc__, 4837db96d56Sopenharmony_ci"isprintable($self, /)\n" 4847db96d56Sopenharmony_ci"--\n" 4857db96d56Sopenharmony_ci"\n" 4867db96d56Sopenharmony_ci"Return True if the string is printable, False otherwise.\n" 4877db96d56Sopenharmony_ci"\n" 4887db96d56Sopenharmony_ci"A string is printable if all of its characters are considered printable in\n" 4897db96d56Sopenharmony_ci"repr() or if it is empty."); 4907db96d56Sopenharmony_ci 4917db96d56Sopenharmony_ci#define UNICODE_ISPRINTABLE_METHODDEF \ 4927db96d56Sopenharmony_ci {"isprintable", (PyCFunction)unicode_isprintable, METH_NOARGS, unicode_isprintable__doc__}, 4937db96d56Sopenharmony_ci 4947db96d56Sopenharmony_cistatic PyObject * 4957db96d56Sopenharmony_ciunicode_isprintable_impl(PyObject *self); 4967db96d56Sopenharmony_ci 4977db96d56Sopenharmony_cistatic PyObject * 4987db96d56Sopenharmony_ciunicode_isprintable(PyObject *self, PyObject *Py_UNUSED(ignored)) 4997db96d56Sopenharmony_ci{ 5007db96d56Sopenharmony_ci return unicode_isprintable_impl(self); 5017db96d56Sopenharmony_ci} 5027db96d56Sopenharmony_ci 5037db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_join__doc__, 5047db96d56Sopenharmony_ci"join($self, iterable, /)\n" 5057db96d56Sopenharmony_ci"--\n" 5067db96d56Sopenharmony_ci"\n" 5077db96d56Sopenharmony_ci"Concatenate any number of strings.\n" 5087db96d56Sopenharmony_ci"\n" 5097db96d56Sopenharmony_ci"The string whose method is called is inserted in between each given string.\n" 5107db96d56Sopenharmony_ci"The result is returned as a new string.\n" 5117db96d56Sopenharmony_ci"\n" 5127db96d56Sopenharmony_ci"Example: \'.\'.join([\'ab\', \'pq\', \'rs\']) -> \'ab.pq.rs\'"); 5137db96d56Sopenharmony_ci 5147db96d56Sopenharmony_ci#define UNICODE_JOIN_METHODDEF \ 5157db96d56Sopenharmony_ci {"join", (PyCFunction)unicode_join, METH_O, unicode_join__doc__}, 5167db96d56Sopenharmony_ci 5177db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_ljust__doc__, 5187db96d56Sopenharmony_ci"ljust($self, width, fillchar=\' \', /)\n" 5197db96d56Sopenharmony_ci"--\n" 5207db96d56Sopenharmony_ci"\n" 5217db96d56Sopenharmony_ci"Return a left-justified string of length width.\n" 5227db96d56Sopenharmony_ci"\n" 5237db96d56Sopenharmony_ci"Padding is done using the specified fill character (default is a space)."); 5247db96d56Sopenharmony_ci 5257db96d56Sopenharmony_ci#define UNICODE_LJUST_METHODDEF \ 5267db96d56Sopenharmony_ci {"ljust", _PyCFunction_CAST(unicode_ljust), METH_FASTCALL, unicode_ljust__doc__}, 5277db96d56Sopenharmony_ci 5287db96d56Sopenharmony_cistatic PyObject * 5297db96d56Sopenharmony_ciunicode_ljust_impl(PyObject *self, Py_ssize_t width, Py_UCS4 fillchar); 5307db96d56Sopenharmony_ci 5317db96d56Sopenharmony_cistatic PyObject * 5327db96d56Sopenharmony_ciunicode_ljust(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 5337db96d56Sopenharmony_ci{ 5347db96d56Sopenharmony_ci PyObject *return_value = NULL; 5357db96d56Sopenharmony_ci Py_ssize_t width; 5367db96d56Sopenharmony_ci Py_UCS4 fillchar = ' '; 5377db96d56Sopenharmony_ci 5387db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("ljust", nargs, 1, 2)) { 5397db96d56Sopenharmony_ci goto exit; 5407db96d56Sopenharmony_ci } 5417db96d56Sopenharmony_ci { 5427db96d56Sopenharmony_ci Py_ssize_t ival = -1; 5437db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[0]); 5447db96d56Sopenharmony_ci if (iobj != NULL) { 5457db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 5467db96d56Sopenharmony_ci Py_DECREF(iobj); 5477db96d56Sopenharmony_ci } 5487db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 5497db96d56Sopenharmony_ci goto exit; 5507db96d56Sopenharmony_ci } 5517db96d56Sopenharmony_ci width = ival; 5527db96d56Sopenharmony_ci } 5537db96d56Sopenharmony_ci if (nargs < 2) { 5547db96d56Sopenharmony_ci goto skip_optional; 5557db96d56Sopenharmony_ci } 5567db96d56Sopenharmony_ci if (!convert_uc(args[1], &fillchar)) { 5577db96d56Sopenharmony_ci goto exit; 5587db96d56Sopenharmony_ci } 5597db96d56Sopenharmony_ciskip_optional: 5607db96d56Sopenharmony_ci return_value = unicode_ljust_impl(self, width, fillchar); 5617db96d56Sopenharmony_ci 5627db96d56Sopenharmony_ciexit: 5637db96d56Sopenharmony_ci return return_value; 5647db96d56Sopenharmony_ci} 5657db96d56Sopenharmony_ci 5667db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_lower__doc__, 5677db96d56Sopenharmony_ci"lower($self, /)\n" 5687db96d56Sopenharmony_ci"--\n" 5697db96d56Sopenharmony_ci"\n" 5707db96d56Sopenharmony_ci"Return a copy of the string converted to lowercase."); 5717db96d56Sopenharmony_ci 5727db96d56Sopenharmony_ci#define UNICODE_LOWER_METHODDEF \ 5737db96d56Sopenharmony_ci {"lower", (PyCFunction)unicode_lower, METH_NOARGS, unicode_lower__doc__}, 5747db96d56Sopenharmony_ci 5757db96d56Sopenharmony_cistatic PyObject * 5767db96d56Sopenharmony_ciunicode_lower_impl(PyObject *self); 5777db96d56Sopenharmony_ci 5787db96d56Sopenharmony_cistatic PyObject * 5797db96d56Sopenharmony_ciunicode_lower(PyObject *self, PyObject *Py_UNUSED(ignored)) 5807db96d56Sopenharmony_ci{ 5817db96d56Sopenharmony_ci return unicode_lower_impl(self); 5827db96d56Sopenharmony_ci} 5837db96d56Sopenharmony_ci 5847db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_strip__doc__, 5857db96d56Sopenharmony_ci"strip($self, chars=None, /)\n" 5867db96d56Sopenharmony_ci"--\n" 5877db96d56Sopenharmony_ci"\n" 5887db96d56Sopenharmony_ci"Return a copy of the string with leading and trailing whitespace removed.\n" 5897db96d56Sopenharmony_ci"\n" 5907db96d56Sopenharmony_ci"If chars is given and not None, remove characters in chars instead."); 5917db96d56Sopenharmony_ci 5927db96d56Sopenharmony_ci#define UNICODE_STRIP_METHODDEF \ 5937db96d56Sopenharmony_ci {"strip", _PyCFunction_CAST(unicode_strip), METH_FASTCALL, unicode_strip__doc__}, 5947db96d56Sopenharmony_ci 5957db96d56Sopenharmony_cistatic PyObject * 5967db96d56Sopenharmony_ciunicode_strip_impl(PyObject *self, PyObject *chars); 5977db96d56Sopenharmony_ci 5987db96d56Sopenharmony_cistatic PyObject * 5997db96d56Sopenharmony_ciunicode_strip(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 6007db96d56Sopenharmony_ci{ 6017db96d56Sopenharmony_ci PyObject *return_value = NULL; 6027db96d56Sopenharmony_ci PyObject *chars = Py_None; 6037db96d56Sopenharmony_ci 6047db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("strip", nargs, 0, 1)) { 6057db96d56Sopenharmony_ci goto exit; 6067db96d56Sopenharmony_ci } 6077db96d56Sopenharmony_ci if (nargs < 1) { 6087db96d56Sopenharmony_ci goto skip_optional; 6097db96d56Sopenharmony_ci } 6107db96d56Sopenharmony_ci chars = args[0]; 6117db96d56Sopenharmony_ciskip_optional: 6127db96d56Sopenharmony_ci return_value = unicode_strip_impl(self, chars); 6137db96d56Sopenharmony_ci 6147db96d56Sopenharmony_ciexit: 6157db96d56Sopenharmony_ci return return_value; 6167db96d56Sopenharmony_ci} 6177db96d56Sopenharmony_ci 6187db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_lstrip__doc__, 6197db96d56Sopenharmony_ci"lstrip($self, chars=None, /)\n" 6207db96d56Sopenharmony_ci"--\n" 6217db96d56Sopenharmony_ci"\n" 6227db96d56Sopenharmony_ci"Return a copy of the string with leading whitespace removed.\n" 6237db96d56Sopenharmony_ci"\n" 6247db96d56Sopenharmony_ci"If chars is given and not None, remove characters in chars instead."); 6257db96d56Sopenharmony_ci 6267db96d56Sopenharmony_ci#define UNICODE_LSTRIP_METHODDEF \ 6277db96d56Sopenharmony_ci {"lstrip", _PyCFunction_CAST(unicode_lstrip), METH_FASTCALL, unicode_lstrip__doc__}, 6287db96d56Sopenharmony_ci 6297db96d56Sopenharmony_cistatic PyObject * 6307db96d56Sopenharmony_ciunicode_lstrip_impl(PyObject *self, PyObject *chars); 6317db96d56Sopenharmony_ci 6327db96d56Sopenharmony_cistatic PyObject * 6337db96d56Sopenharmony_ciunicode_lstrip(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 6347db96d56Sopenharmony_ci{ 6357db96d56Sopenharmony_ci PyObject *return_value = NULL; 6367db96d56Sopenharmony_ci PyObject *chars = Py_None; 6377db96d56Sopenharmony_ci 6387db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("lstrip", nargs, 0, 1)) { 6397db96d56Sopenharmony_ci goto exit; 6407db96d56Sopenharmony_ci } 6417db96d56Sopenharmony_ci if (nargs < 1) { 6427db96d56Sopenharmony_ci goto skip_optional; 6437db96d56Sopenharmony_ci } 6447db96d56Sopenharmony_ci chars = args[0]; 6457db96d56Sopenharmony_ciskip_optional: 6467db96d56Sopenharmony_ci return_value = unicode_lstrip_impl(self, chars); 6477db96d56Sopenharmony_ci 6487db96d56Sopenharmony_ciexit: 6497db96d56Sopenharmony_ci return return_value; 6507db96d56Sopenharmony_ci} 6517db96d56Sopenharmony_ci 6527db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_rstrip__doc__, 6537db96d56Sopenharmony_ci"rstrip($self, chars=None, /)\n" 6547db96d56Sopenharmony_ci"--\n" 6557db96d56Sopenharmony_ci"\n" 6567db96d56Sopenharmony_ci"Return a copy of the string with trailing whitespace removed.\n" 6577db96d56Sopenharmony_ci"\n" 6587db96d56Sopenharmony_ci"If chars is given and not None, remove characters in chars instead."); 6597db96d56Sopenharmony_ci 6607db96d56Sopenharmony_ci#define UNICODE_RSTRIP_METHODDEF \ 6617db96d56Sopenharmony_ci {"rstrip", _PyCFunction_CAST(unicode_rstrip), METH_FASTCALL, unicode_rstrip__doc__}, 6627db96d56Sopenharmony_ci 6637db96d56Sopenharmony_cistatic PyObject * 6647db96d56Sopenharmony_ciunicode_rstrip_impl(PyObject *self, PyObject *chars); 6657db96d56Sopenharmony_ci 6667db96d56Sopenharmony_cistatic PyObject * 6677db96d56Sopenharmony_ciunicode_rstrip(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 6687db96d56Sopenharmony_ci{ 6697db96d56Sopenharmony_ci PyObject *return_value = NULL; 6707db96d56Sopenharmony_ci PyObject *chars = Py_None; 6717db96d56Sopenharmony_ci 6727db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("rstrip", nargs, 0, 1)) { 6737db96d56Sopenharmony_ci goto exit; 6747db96d56Sopenharmony_ci } 6757db96d56Sopenharmony_ci if (nargs < 1) { 6767db96d56Sopenharmony_ci goto skip_optional; 6777db96d56Sopenharmony_ci } 6787db96d56Sopenharmony_ci chars = args[0]; 6797db96d56Sopenharmony_ciskip_optional: 6807db96d56Sopenharmony_ci return_value = unicode_rstrip_impl(self, chars); 6817db96d56Sopenharmony_ci 6827db96d56Sopenharmony_ciexit: 6837db96d56Sopenharmony_ci return return_value; 6847db96d56Sopenharmony_ci} 6857db96d56Sopenharmony_ci 6867db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_replace__doc__, 6877db96d56Sopenharmony_ci"replace($self, old, new, count=-1, /)\n" 6887db96d56Sopenharmony_ci"--\n" 6897db96d56Sopenharmony_ci"\n" 6907db96d56Sopenharmony_ci"Return a copy with all occurrences of substring old replaced by new.\n" 6917db96d56Sopenharmony_ci"\n" 6927db96d56Sopenharmony_ci" count\n" 6937db96d56Sopenharmony_ci" Maximum number of occurrences to replace.\n" 6947db96d56Sopenharmony_ci" -1 (the default value) means replace all occurrences.\n" 6957db96d56Sopenharmony_ci"\n" 6967db96d56Sopenharmony_ci"If the optional argument count is given, only the first count occurrences are\n" 6977db96d56Sopenharmony_ci"replaced."); 6987db96d56Sopenharmony_ci 6997db96d56Sopenharmony_ci#define UNICODE_REPLACE_METHODDEF \ 7007db96d56Sopenharmony_ci {"replace", _PyCFunction_CAST(unicode_replace), METH_FASTCALL, unicode_replace__doc__}, 7017db96d56Sopenharmony_ci 7027db96d56Sopenharmony_cistatic PyObject * 7037db96d56Sopenharmony_ciunicode_replace_impl(PyObject *self, PyObject *old, PyObject *new, 7047db96d56Sopenharmony_ci Py_ssize_t count); 7057db96d56Sopenharmony_ci 7067db96d56Sopenharmony_cistatic PyObject * 7077db96d56Sopenharmony_ciunicode_replace(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 7087db96d56Sopenharmony_ci{ 7097db96d56Sopenharmony_ci PyObject *return_value = NULL; 7107db96d56Sopenharmony_ci PyObject *old; 7117db96d56Sopenharmony_ci PyObject *new; 7127db96d56Sopenharmony_ci Py_ssize_t count = -1; 7137db96d56Sopenharmony_ci 7147db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("replace", nargs, 2, 3)) { 7157db96d56Sopenharmony_ci goto exit; 7167db96d56Sopenharmony_ci } 7177db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 7187db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 1", "str", args[0]); 7197db96d56Sopenharmony_ci goto exit; 7207db96d56Sopenharmony_ci } 7217db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 7227db96d56Sopenharmony_ci goto exit; 7237db96d56Sopenharmony_ci } 7247db96d56Sopenharmony_ci old = args[0]; 7257db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 7267db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 2", "str", args[1]); 7277db96d56Sopenharmony_ci goto exit; 7287db96d56Sopenharmony_ci } 7297db96d56Sopenharmony_ci if (PyUnicode_READY(args[1]) == -1) { 7307db96d56Sopenharmony_ci goto exit; 7317db96d56Sopenharmony_ci } 7327db96d56Sopenharmony_ci new = args[1]; 7337db96d56Sopenharmony_ci if (nargs < 3) { 7347db96d56Sopenharmony_ci goto skip_optional; 7357db96d56Sopenharmony_ci } 7367db96d56Sopenharmony_ci { 7377db96d56Sopenharmony_ci Py_ssize_t ival = -1; 7387db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[2]); 7397db96d56Sopenharmony_ci if (iobj != NULL) { 7407db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 7417db96d56Sopenharmony_ci Py_DECREF(iobj); 7427db96d56Sopenharmony_ci } 7437db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 7447db96d56Sopenharmony_ci goto exit; 7457db96d56Sopenharmony_ci } 7467db96d56Sopenharmony_ci count = ival; 7477db96d56Sopenharmony_ci } 7487db96d56Sopenharmony_ciskip_optional: 7497db96d56Sopenharmony_ci return_value = unicode_replace_impl(self, old, new, count); 7507db96d56Sopenharmony_ci 7517db96d56Sopenharmony_ciexit: 7527db96d56Sopenharmony_ci return return_value; 7537db96d56Sopenharmony_ci} 7547db96d56Sopenharmony_ci 7557db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_removeprefix__doc__, 7567db96d56Sopenharmony_ci"removeprefix($self, prefix, /)\n" 7577db96d56Sopenharmony_ci"--\n" 7587db96d56Sopenharmony_ci"\n" 7597db96d56Sopenharmony_ci"Return a str with the given prefix string removed if present.\n" 7607db96d56Sopenharmony_ci"\n" 7617db96d56Sopenharmony_ci"If the string starts with the prefix string, return string[len(prefix):].\n" 7627db96d56Sopenharmony_ci"Otherwise, return a copy of the original string."); 7637db96d56Sopenharmony_ci 7647db96d56Sopenharmony_ci#define UNICODE_REMOVEPREFIX_METHODDEF \ 7657db96d56Sopenharmony_ci {"removeprefix", (PyCFunction)unicode_removeprefix, METH_O, unicode_removeprefix__doc__}, 7667db96d56Sopenharmony_ci 7677db96d56Sopenharmony_cistatic PyObject * 7687db96d56Sopenharmony_ciunicode_removeprefix_impl(PyObject *self, PyObject *prefix); 7697db96d56Sopenharmony_ci 7707db96d56Sopenharmony_cistatic PyObject * 7717db96d56Sopenharmony_ciunicode_removeprefix(PyObject *self, PyObject *arg) 7727db96d56Sopenharmony_ci{ 7737db96d56Sopenharmony_ci PyObject *return_value = NULL; 7747db96d56Sopenharmony_ci PyObject *prefix; 7757db96d56Sopenharmony_ci 7767db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 7777db96d56Sopenharmony_ci _PyArg_BadArgument("removeprefix", "argument", "str", arg); 7787db96d56Sopenharmony_ci goto exit; 7797db96d56Sopenharmony_ci } 7807db96d56Sopenharmony_ci if (PyUnicode_READY(arg) == -1) { 7817db96d56Sopenharmony_ci goto exit; 7827db96d56Sopenharmony_ci } 7837db96d56Sopenharmony_ci prefix = arg; 7847db96d56Sopenharmony_ci return_value = unicode_removeprefix_impl(self, prefix); 7857db96d56Sopenharmony_ci 7867db96d56Sopenharmony_ciexit: 7877db96d56Sopenharmony_ci return return_value; 7887db96d56Sopenharmony_ci} 7897db96d56Sopenharmony_ci 7907db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_removesuffix__doc__, 7917db96d56Sopenharmony_ci"removesuffix($self, suffix, /)\n" 7927db96d56Sopenharmony_ci"--\n" 7937db96d56Sopenharmony_ci"\n" 7947db96d56Sopenharmony_ci"Return a str with the given suffix string removed if present.\n" 7957db96d56Sopenharmony_ci"\n" 7967db96d56Sopenharmony_ci"If the string ends with the suffix string and that suffix is not empty,\n" 7977db96d56Sopenharmony_ci"return string[:-len(suffix)]. Otherwise, return a copy of the original\n" 7987db96d56Sopenharmony_ci"string."); 7997db96d56Sopenharmony_ci 8007db96d56Sopenharmony_ci#define UNICODE_REMOVESUFFIX_METHODDEF \ 8017db96d56Sopenharmony_ci {"removesuffix", (PyCFunction)unicode_removesuffix, METH_O, unicode_removesuffix__doc__}, 8027db96d56Sopenharmony_ci 8037db96d56Sopenharmony_cistatic PyObject * 8047db96d56Sopenharmony_ciunicode_removesuffix_impl(PyObject *self, PyObject *suffix); 8057db96d56Sopenharmony_ci 8067db96d56Sopenharmony_cistatic PyObject * 8077db96d56Sopenharmony_ciunicode_removesuffix(PyObject *self, PyObject *arg) 8087db96d56Sopenharmony_ci{ 8097db96d56Sopenharmony_ci PyObject *return_value = NULL; 8107db96d56Sopenharmony_ci PyObject *suffix; 8117db96d56Sopenharmony_ci 8127db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 8137db96d56Sopenharmony_ci _PyArg_BadArgument("removesuffix", "argument", "str", arg); 8147db96d56Sopenharmony_ci goto exit; 8157db96d56Sopenharmony_ci } 8167db96d56Sopenharmony_ci if (PyUnicode_READY(arg) == -1) { 8177db96d56Sopenharmony_ci goto exit; 8187db96d56Sopenharmony_ci } 8197db96d56Sopenharmony_ci suffix = arg; 8207db96d56Sopenharmony_ci return_value = unicode_removesuffix_impl(self, suffix); 8217db96d56Sopenharmony_ci 8227db96d56Sopenharmony_ciexit: 8237db96d56Sopenharmony_ci return return_value; 8247db96d56Sopenharmony_ci} 8257db96d56Sopenharmony_ci 8267db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_rjust__doc__, 8277db96d56Sopenharmony_ci"rjust($self, width, fillchar=\' \', /)\n" 8287db96d56Sopenharmony_ci"--\n" 8297db96d56Sopenharmony_ci"\n" 8307db96d56Sopenharmony_ci"Return a right-justified string of length width.\n" 8317db96d56Sopenharmony_ci"\n" 8327db96d56Sopenharmony_ci"Padding is done using the specified fill character (default is a space)."); 8337db96d56Sopenharmony_ci 8347db96d56Sopenharmony_ci#define UNICODE_RJUST_METHODDEF \ 8357db96d56Sopenharmony_ci {"rjust", _PyCFunction_CAST(unicode_rjust), METH_FASTCALL, unicode_rjust__doc__}, 8367db96d56Sopenharmony_ci 8377db96d56Sopenharmony_cistatic PyObject * 8387db96d56Sopenharmony_ciunicode_rjust_impl(PyObject *self, Py_ssize_t width, Py_UCS4 fillchar); 8397db96d56Sopenharmony_ci 8407db96d56Sopenharmony_cistatic PyObject * 8417db96d56Sopenharmony_ciunicode_rjust(PyObject *self, PyObject *const *args, Py_ssize_t nargs) 8427db96d56Sopenharmony_ci{ 8437db96d56Sopenharmony_ci PyObject *return_value = NULL; 8447db96d56Sopenharmony_ci Py_ssize_t width; 8457db96d56Sopenharmony_ci Py_UCS4 fillchar = ' '; 8467db96d56Sopenharmony_ci 8477db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("rjust", nargs, 1, 2)) { 8487db96d56Sopenharmony_ci goto exit; 8497db96d56Sopenharmony_ci } 8507db96d56Sopenharmony_ci { 8517db96d56Sopenharmony_ci Py_ssize_t ival = -1; 8527db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[0]); 8537db96d56Sopenharmony_ci if (iobj != NULL) { 8547db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 8557db96d56Sopenharmony_ci Py_DECREF(iobj); 8567db96d56Sopenharmony_ci } 8577db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 8587db96d56Sopenharmony_ci goto exit; 8597db96d56Sopenharmony_ci } 8607db96d56Sopenharmony_ci width = ival; 8617db96d56Sopenharmony_ci } 8627db96d56Sopenharmony_ci if (nargs < 2) { 8637db96d56Sopenharmony_ci goto skip_optional; 8647db96d56Sopenharmony_ci } 8657db96d56Sopenharmony_ci if (!convert_uc(args[1], &fillchar)) { 8667db96d56Sopenharmony_ci goto exit; 8677db96d56Sopenharmony_ci } 8687db96d56Sopenharmony_ciskip_optional: 8697db96d56Sopenharmony_ci return_value = unicode_rjust_impl(self, width, fillchar); 8707db96d56Sopenharmony_ci 8717db96d56Sopenharmony_ciexit: 8727db96d56Sopenharmony_ci return return_value; 8737db96d56Sopenharmony_ci} 8747db96d56Sopenharmony_ci 8757db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_split__doc__, 8767db96d56Sopenharmony_ci"split($self, /, sep=None, maxsplit=-1)\n" 8777db96d56Sopenharmony_ci"--\n" 8787db96d56Sopenharmony_ci"\n" 8797db96d56Sopenharmony_ci"Return a list of the substrings in the string, using sep as the separator string.\n" 8807db96d56Sopenharmony_ci"\n" 8817db96d56Sopenharmony_ci" sep\n" 8827db96d56Sopenharmony_ci" The separator used to split the string.\n" 8837db96d56Sopenharmony_ci"\n" 8847db96d56Sopenharmony_ci" When set to None (the default value), will split on any whitespace\n" 8857db96d56Sopenharmony_ci" character (including \\\\n \\\\r \\\\t \\\\f and spaces) and will discard\n" 8867db96d56Sopenharmony_ci" empty strings from the result.\n" 8877db96d56Sopenharmony_ci" maxsplit\n" 8887db96d56Sopenharmony_ci" Maximum number of splits (starting from the left).\n" 8897db96d56Sopenharmony_ci" -1 (the default value) means no limit.\n" 8907db96d56Sopenharmony_ci"\n" 8917db96d56Sopenharmony_ci"Note, str.split() is mainly useful for data that has been intentionally\n" 8927db96d56Sopenharmony_ci"delimited. With natural text that includes punctuation, consider using\n" 8937db96d56Sopenharmony_ci"the regular expression module."); 8947db96d56Sopenharmony_ci 8957db96d56Sopenharmony_ci#define UNICODE_SPLIT_METHODDEF \ 8967db96d56Sopenharmony_ci {"split", _PyCFunction_CAST(unicode_split), METH_FASTCALL|METH_KEYWORDS, unicode_split__doc__}, 8977db96d56Sopenharmony_ci 8987db96d56Sopenharmony_cistatic PyObject * 8997db96d56Sopenharmony_ciunicode_split_impl(PyObject *self, PyObject *sep, Py_ssize_t maxsplit); 9007db96d56Sopenharmony_ci 9017db96d56Sopenharmony_cistatic PyObject * 9027db96d56Sopenharmony_ciunicode_split(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 9037db96d56Sopenharmony_ci{ 9047db96d56Sopenharmony_ci PyObject *return_value = NULL; 9057db96d56Sopenharmony_ci static const char * const _keywords[] = {"sep", "maxsplit", NULL}; 9067db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "split", 0}; 9077db96d56Sopenharmony_ci PyObject *argsbuf[2]; 9087db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 9097db96d56Sopenharmony_ci PyObject *sep = Py_None; 9107db96d56Sopenharmony_ci Py_ssize_t maxsplit = -1; 9117db96d56Sopenharmony_ci 9127db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 2, 0, argsbuf); 9137db96d56Sopenharmony_ci if (!args) { 9147db96d56Sopenharmony_ci goto exit; 9157db96d56Sopenharmony_ci } 9167db96d56Sopenharmony_ci if (!noptargs) { 9177db96d56Sopenharmony_ci goto skip_optional_pos; 9187db96d56Sopenharmony_ci } 9197db96d56Sopenharmony_ci if (args[0]) { 9207db96d56Sopenharmony_ci sep = args[0]; 9217db96d56Sopenharmony_ci if (!--noptargs) { 9227db96d56Sopenharmony_ci goto skip_optional_pos; 9237db96d56Sopenharmony_ci } 9247db96d56Sopenharmony_ci } 9257db96d56Sopenharmony_ci { 9267db96d56Sopenharmony_ci Py_ssize_t ival = -1; 9277db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[1]); 9287db96d56Sopenharmony_ci if (iobj != NULL) { 9297db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 9307db96d56Sopenharmony_ci Py_DECREF(iobj); 9317db96d56Sopenharmony_ci } 9327db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 9337db96d56Sopenharmony_ci goto exit; 9347db96d56Sopenharmony_ci } 9357db96d56Sopenharmony_ci maxsplit = ival; 9367db96d56Sopenharmony_ci } 9377db96d56Sopenharmony_ciskip_optional_pos: 9387db96d56Sopenharmony_ci return_value = unicode_split_impl(self, sep, maxsplit); 9397db96d56Sopenharmony_ci 9407db96d56Sopenharmony_ciexit: 9417db96d56Sopenharmony_ci return return_value; 9427db96d56Sopenharmony_ci} 9437db96d56Sopenharmony_ci 9447db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_partition__doc__, 9457db96d56Sopenharmony_ci"partition($self, sep, /)\n" 9467db96d56Sopenharmony_ci"--\n" 9477db96d56Sopenharmony_ci"\n" 9487db96d56Sopenharmony_ci"Partition the string into three parts using the given separator.\n" 9497db96d56Sopenharmony_ci"\n" 9507db96d56Sopenharmony_ci"This will search for the separator in the string. If the separator is found,\n" 9517db96d56Sopenharmony_ci"returns a 3-tuple containing the part before the separator, the separator\n" 9527db96d56Sopenharmony_ci"itself, and the part after it.\n" 9537db96d56Sopenharmony_ci"\n" 9547db96d56Sopenharmony_ci"If the separator is not found, returns a 3-tuple containing the original string\n" 9557db96d56Sopenharmony_ci"and two empty strings."); 9567db96d56Sopenharmony_ci 9577db96d56Sopenharmony_ci#define UNICODE_PARTITION_METHODDEF \ 9587db96d56Sopenharmony_ci {"partition", (PyCFunction)unicode_partition, METH_O, unicode_partition__doc__}, 9597db96d56Sopenharmony_ci 9607db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_rpartition__doc__, 9617db96d56Sopenharmony_ci"rpartition($self, sep, /)\n" 9627db96d56Sopenharmony_ci"--\n" 9637db96d56Sopenharmony_ci"\n" 9647db96d56Sopenharmony_ci"Partition the string into three parts using the given separator.\n" 9657db96d56Sopenharmony_ci"\n" 9667db96d56Sopenharmony_ci"This will search for the separator in the string, starting at the end. If\n" 9677db96d56Sopenharmony_ci"the separator is found, returns a 3-tuple containing the part before the\n" 9687db96d56Sopenharmony_ci"separator, the separator itself, and the part after it.\n" 9697db96d56Sopenharmony_ci"\n" 9707db96d56Sopenharmony_ci"If the separator is not found, returns a 3-tuple containing two empty strings\n" 9717db96d56Sopenharmony_ci"and the original string."); 9727db96d56Sopenharmony_ci 9737db96d56Sopenharmony_ci#define UNICODE_RPARTITION_METHODDEF \ 9747db96d56Sopenharmony_ci {"rpartition", (PyCFunction)unicode_rpartition, METH_O, unicode_rpartition__doc__}, 9757db96d56Sopenharmony_ci 9767db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_rsplit__doc__, 9777db96d56Sopenharmony_ci"rsplit($self, /, sep=None, maxsplit=-1)\n" 9787db96d56Sopenharmony_ci"--\n" 9797db96d56Sopenharmony_ci"\n" 9807db96d56Sopenharmony_ci"Return a list of the substrings in the string, using sep as the separator string.\n" 9817db96d56Sopenharmony_ci"\n" 9827db96d56Sopenharmony_ci" sep\n" 9837db96d56Sopenharmony_ci" The separator used to split the string.\n" 9847db96d56Sopenharmony_ci"\n" 9857db96d56Sopenharmony_ci" When set to None (the default value), will split on any whitespace\n" 9867db96d56Sopenharmony_ci" character (including \\\\n \\\\r \\\\t \\\\f and spaces) and will discard\n" 9877db96d56Sopenharmony_ci" empty strings from the result.\n" 9887db96d56Sopenharmony_ci" maxsplit\n" 9897db96d56Sopenharmony_ci" Maximum number of splits (starting from the left).\n" 9907db96d56Sopenharmony_ci" -1 (the default value) means no limit.\n" 9917db96d56Sopenharmony_ci"\n" 9927db96d56Sopenharmony_ci"Splitting starts at the end of the string and works to the front."); 9937db96d56Sopenharmony_ci 9947db96d56Sopenharmony_ci#define UNICODE_RSPLIT_METHODDEF \ 9957db96d56Sopenharmony_ci {"rsplit", _PyCFunction_CAST(unicode_rsplit), METH_FASTCALL|METH_KEYWORDS, unicode_rsplit__doc__}, 9967db96d56Sopenharmony_ci 9977db96d56Sopenharmony_cistatic PyObject * 9987db96d56Sopenharmony_ciunicode_rsplit_impl(PyObject *self, PyObject *sep, Py_ssize_t maxsplit); 9997db96d56Sopenharmony_ci 10007db96d56Sopenharmony_cistatic PyObject * 10017db96d56Sopenharmony_ciunicode_rsplit(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 10027db96d56Sopenharmony_ci{ 10037db96d56Sopenharmony_ci PyObject *return_value = NULL; 10047db96d56Sopenharmony_ci static const char * const _keywords[] = {"sep", "maxsplit", NULL}; 10057db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "rsplit", 0}; 10067db96d56Sopenharmony_ci PyObject *argsbuf[2]; 10077db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 10087db96d56Sopenharmony_ci PyObject *sep = Py_None; 10097db96d56Sopenharmony_ci Py_ssize_t maxsplit = -1; 10107db96d56Sopenharmony_ci 10117db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 2, 0, argsbuf); 10127db96d56Sopenharmony_ci if (!args) { 10137db96d56Sopenharmony_ci goto exit; 10147db96d56Sopenharmony_ci } 10157db96d56Sopenharmony_ci if (!noptargs) { 10167db96d56Sopenharmony_ci goto skip_optional_pos; 10177db96d56Sopenharmony_ci } 10187db96d56Sopenharmony_ci if (args[0]) { 10197db96d56Sopenharmony_ci sep = args[0]; 10207db96d56Sopenharmony_ci if (!--noptargs) { 10217db96d56Sopenharmony_ci goto skip_optional_pos; 10227db96d56Sopenharmony_ci } 10237db96d56Sopenharmony_ci } 10247db96d56Sopenharmony_ci { 10257db96d56Sopenharmony_ci Py_ssize_t ival = -1; 10267db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[1]); 10277db96d56Sopenharmony_ci if (iobj != NULL) { 10287db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 10297db96d56Sopenharmony_ci Py_DECREF(iobj); 10307db96d56Sopenharmony_ci } 10317db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 10327db96d56Sopenharmony_ci goto exit; 10337db96d56Sopenharmony_ci } 10347db96d56Sopenharmony_ci maxsplit = ival; 10357db96d56Sopenharmony_ci } 10367db96d56Sopenharmony_ciskip_optional_pos: 10377db96d56Sopenharmony_ci return_value = unicode_rsplit_impl(self, sep, maxsplit); 10387db96d56Sopenharmony_ci 10397db96d56Sopenharmony_ciexit: 10407db96d56Sopenharmony_ci return return_value; 10417db96d56Sopenharmony_ci} 10427db96d56Sopenharmony_ci 10437db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_splitlines__doc__, 10447db96d56Sopenharmony_ci"splitlines($self, /, keepends=False)\n" 10457db96d56Sopenharmony_ci"--\n" 10467db96d56Sopenharmony_ci"\n" 10477db96d56Sopenharmony_ci"Return a list of the lines in the string, breaking at line boundaries.\n" 10487db96d56Sopenharmony_ci"\n" 10497db96d56Sopenharmony_ci"Line breaks are not included in the resulting list unless keepends is given and\n" 10507db96d56Sopenharmony_ci"true."); 10517db96d56Sopenharmony_ci 10527db96d56Sopenharmony_ci#define UNICODE_SPLITLINES_METHODDEF \ 10537db96d56Sopenharmony_ci {"splitlines", _PyCFunction_CAST(unicode_splitlines), METH_FASTCALL|METH_KEYWORDS, unicode_splitlines__doc__}, 10547db96d56Sopenharmony_ci 10557db96d56Sopenharmony_cistatic PyObject * 10567db96d56Sopenharmony_ciunicode_splitlines_impl(PyObject *self, int keepends); 10577db96d56Sopenharmony_ci 10587db96d56Sopenharmony_cistatic PyObject * 10597db96d56Sopenharmony_ciunicode_splitlines(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 10607db96d56Sopenharmony_ci{ 10617db96d56Sopenharmony_ci PyObject *return_value = NULL; 10627db96d56Sopenharmony_ci static const char * const _keywords[] = {"keepends", NULL}; 10637db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "splitlines", 0}; 10647db96d56Sopenharmony_ci PyObject *argsbuf[1]; 10657db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 10667db96d56Sopenharmony_ci int keepends = 0; 10677db96d56Sopenharmony_ci 10687db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf); 10697db96d56Sopenharmony_ci if (!args) { 10707db96d56Sopenharmony_ci goto exit; 10717db96d56Sopenharmony_ci } 10727db96d56Sopenharmony_ci if (!noptargs) { 10737db96d56Sopenharmony_ci goto skip_optional_pos; 10747db96d56Sopenharmony_ci } 10757db96d56Sopenharmony_ci keepends = _PyLong_AsInt(args[0]); 10767db96d56Sopenharmony_ci if (keepends == -1 && PyErr_Occurred()) { 10777db96d56Sopenharmony_ci goto exit; 10787db96d56Sopenharmony_ci } 10797db96d56Sopenharmony_ciskip_optional_pos: 10807db96d56Sopenharmony_ci return_value = unicode_splitlines_impl(self, keepends); 10817db96d56Sopenharmony_ci 10827db96d56Sopenharmony_ciexit: 10837db96d56Sopenharmony_ci return return_value; 10847db96d56Sopenharmony_ci} 10857db96d56Sopenharmony_ci 10867db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_swapcase__doc__, 10877db96d56Sopenharmony_ci"swapcase($self, /)\n" 10887db96d56Sopenharmony_ci"--\n" 10897db96d56Sopenharmony_ci"\n" 10907db96d56Sopenharmony_ci"Convert uppercase characters to lowercase and lowercase characters to uppercase."); 10917db96d56Sopenharmony_ci 10927db96d56Sopenharmony_ci#define UNICODE_SWAPCASE_METHODDEF \ 10937db96d56Sopenharmony_ci {"swapcase", (PyCFunction)unicode_swapcase, METH_NOARGS, unicode_swapcase__doc__}, 10947db96d56Sopenharmony_ci 10957db96d56Sopenharmony_cistatic PyObject * 10967db96d56Sopenharmony_ciunicode_swapcase_impl(PyObject *self); 10977db96d56Sopenharmony_ci 10987db96d56Sopenharmony_cistatic PyObject * 10997db96d56Sopenharmony_ciunicode_swapcase(PyObject *self, PyObject *Py_UNUSED(ignored)) 11007db96d56Sopenharmony_ci{ 11017db96d56Sopenharmony_ci return unicode_swapcase_impl(self); 11027db96d56Sopenharmony_ci} 11037db96d56Sopenharmony_ci 11047db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_maketrans__doc__, 11057db96d56Sopenharmony_ci"maketrans(x, y=<unrepresentable>, z=<unrepresentable>, /)\n" 11067db96d56Sopenharmony_ci"--\n" 11077db96d56Sopenharmony_ci"\n" 11087db96d56Sopenharmony_ci"Return a translation table usable for str.translate().\n" 11097db96d56Sopenharmony_ci"\n" 11107db96d56Sopenharmony_ci"If there is only one argument, it must be a dictionary mapping Unicode\n" 11117db96d56Sopenharmony_ci"ordinals (integers) or characters to Unicode ordinals, strings or None.\n" 11127db96d56Sopenharmony_ci"Character keys will be then converted to ordinals.\n" 11137db96d56Sopenharmony_ci"If there are two arguments, they must be strings of equal length, and\n" 11147db96d56Sopenharmony_ci"in the resulting dictionary, each character in x will be mapped to the\n" 11157db96d56Sopenharmony_ci"character at the same position in y. If there is a third argument, it\n" 11167db96d56Sopenharmony_ci"must be a string, whose characters will be mapped to None in the result."); 11177db96d56Sopenharmony_ci 11187db96d56Sopenharmony_ci#define UNICODE_MAKETRANS_METHODDEF \ 11197db96d56Sopenharmony_ci {"maketrans", _PyCFunction_CAST(unicode_maketrans), METH_FASTCALL|METH_STATIC, unicode_maketrans__doc__}, 11207db96d56Sopenharmony_ci 11217db96d56Sopenharmony_cistatic PyObject * 11227db96d56Sopenharmony_ciunicode_maketrans_impl(PyObject *x, PyObject *y, PyObject *z); 11237db96d56Sopenharmony_ci 11247db96d56Sopenharmony_cistatic PyObject * 11257db96d56Sopenharmony_ciunicode_maketrans(void *null, PyObject *const *args, Py_ssize_t nargs) 11267db96d56Sopenharmony_ci{ 11277db96d56Sopenharmony_ci PyObject *return_value = NULL; 11287db96d56Sopenharmony_ci PyObject *x; 11297db96d56Sopenharmony_ci PyObject *y = NULL; 11307db96d56Sopenharmony_ci PyObject *z = NULL; 11317db96d56Sopenharmony_ci 11327db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("maketrans", nargs, 1, 3)) { 11337db96d56Sopenharmony_ci goto exit; 11347db96d56Sopenharmony_ci } 11357db96d56Sopenharmony_ci x = args[0]; 11367db96d56Sopenharmony_ci if (nargs < 2) { 11377db96d56Sopenharmony_ci goto skip_optional; 11387db96d56Sopenharmony_ci } 11397db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 11407db96d56Sopenharmony_ci _PyArg_BadArgument("maketrans", "argument 2", "str", args[1]); 11417db96d56Sopenharmony_ci goto exit; 11427db96d56Sopenharmony_ci } 11437db96d56Sopenharmony_ci if (PyUnicode_READY(args[1]) == -1) { 11447db96d56Sopenharmony_ci goto exit; 11457db96d56Sopenharmony_ci } 11467db96d56Sopenharmony_ci y = args[1]; 11477db96d56Sopenharmony_ci if (nargs < 3) { 11487db96d56Sopenharmony_ci goto skip_optional; 11497db96d56Sopenharmony_ci } 11507db96d56Sopenharmony_ci if (!PyUnicode_Check(args[2])) { 11517db96d56Sopenharmony_ci _PyArg_BadArgument("maketrans", "argument 3", "str", args[2]); 11527db96d56Sopenharmony_ci goto exit; 11537db96d56Sopenharmony_ci } 11547db96d56Sopenharmony_ci if (PyUnicode_READY(args[2]) == -1) { 11557db96d56Sopenharmony_ci goto exit; 11567db96d56Sopenharmony_ci } 11577db96d56Sopenharmony_ci z = args[2]; 11587db96d56Sopenharmony_ciskip_optional: 11597db96d56Sopenharmony_ci return_value = unicode_maketrans_impl(x, y, z); 11607db96d56Sopenharmony_ci 11617db96d56Sopenharmony_ciexit: 11627db96d56Sopenharmony_ci return return_value; 11637db96d56Sopenharmony_ci} 11647db96d56Sopenharmony_ci 11657db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_translate__doc__, 11667db96d56Sopenharmony_ci"translate($self, table, /)\n" 11677db96d56Sopenharmony_ci"--\n" 11687db96d56Sopenharmony_ci"\n" 11697db96d56Sopenharmony_ci"Replace each character in the string using the given translation table.\n" 11707db96d56Sopenharmony_ci"\n" 11717db96d56Sopenharmony_ci" table\n" 11727db96d56Sopenharmony_ci" Translation table, which must be a mapping of Unicode ordinals to\n" 11737db96d56Sopenharmony_ci" Unicode ordinals, strings, or None.\n" 11747db96d56Sopenharmony_ci"\n" 11757db96d56Sopenharmony_ci"The table must implement lookup/indexing via __getitem__, for instance a\n" 11767db96d56Sopenharmony_ci"dictionary or list. If this operation raises LookupError, the character is\n" 11777db96d56Sopenharmony_ci"left untouched. Characters mapped to None are deleted."); 11787db96d56Sopenharmony_ci 11797db96d56Sopenharmony_ci#define UNICODE_TRANSLATE_METHODDEF \ 11807db96d56Sopenharmony_ci {"translate", (PyCFunction)unicode_translate, METH_O, unicode_translate__doc__}, 11817db96d56Sopenharmony_ci 11827db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_upper__doc__, 11837db96d56Sopenharmony_ci"upper($self, /)\n" 11847db96d56Sopenharmony_ci"--\n" 11857db96d56Sopenharmony_ci"\n" 11867db96d56Sopenharmony_ci"Return a copy of the string converted to uppercase."); 11877db96d56Sopenharmony_ci 11887db96d56Sopenharmony_ci#define UNICODE_UPPER_METHODDEF \ 11897db96d56Sopenharmony_ci {"upper", (PyCFunction)unicode_upper, METH_NOARGS, unicode_upper__doc__}, 11907db96d56Sopenharmony_ci 11917db96d56Sopenharmony_cistatic PyObject * 11927db96d56Sopenharmony_ciunicode_upper_impl(PyObject *self); 11937db96d56Sopenharmony_ci 11947db96d56Sopenharmony_cistatic PyObject * 11957db96d56Sopenharmony_ciunicode_upper(PyObject *self, PyObject *Py_UNUSED(ignored)) 11967db96d56Sopenharmony_ci{ 11977db96d56Sopenharmony_ci return unicode_upper_impl(self); 11987db96d56Sopenharmony_ci} 11997db96d56Sopenharmony_ci 12007db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_zfill__doc__, 12017db96d56Sopenharmony_ci"zfill($self, width, /)\n" 12027db96d56Sopenharmony_ci"--\n" 12037db96d56Sopenharmony_ci"\n" 12047db96d56Sopenharmony_ci"Pad a numeric string with zeros on the left, to fill a field of the given width.\n" 12057db96d56Sopenharmony_ci"\n" 12067db96d56Sopenharmony_ci"The string is never truncated."); 12077db96d56Sopenharmony_ci 12087db96d56Sopenharmony_ci#define UNICODE_ZFILL_METHODDEF \ 12097db96d56Sopenharmony_ci {"zfill", (PyCFunction)unicode_zfill, METH_O, unicode_zfill__doc__}, 12107db96d56Sopenharmony_ci 12117db96d56Sopenharmony_cistatic PyObject * 12127db96d56Sopenharmony_ciunicode_zfill_impl(PyObject *self, Py_ssize_t width); 12137db96d56Sopenharmony_ci 12147db96d56Sopenharmony_cistatic PyObject * 12157db96d56Sopenharmony_ciunicode_zfill(PyObject *self, PyObject *arg) 12167db96d56Sopenharmony_ci{ 12177db96d56Sopenharmony_ci PyObject *return_value = NULL; 12187db96d56Sopenharmony_ci Py_ssize_t width; 12197db96d56Sopenharmony_ci 12207db96d56Sopenharmony_ci { 12217db96d56Sopenharmony_ci Py_ssize_t ival = -1; 12227db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(arg); 12237db96d56Sopenharmony_ci if (iobj != NULL) { 12247db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 12257db96d56Sopenharmony_ci Py_DECREF(iobj); 12267db96d56Sopenharmony_ci } 12277db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 12287db96d56Sopenharmony_ci goto exit; 12297db96d56Sopenharmony_ci } 12307db96d56Sopenharmony_ci width = ival; 12317db96d56Sopenharmony_ci } 12327db96d56Sopenharmony_ci return_value = unicode_zfill_impl(self, width); 12337db96d56Sopenharmony_ci 12347db96d56Sopenharmony_ciexit: 12357db96d56Sopenharmony_ci return return_value; 12367db96d56Sopenharmony_ci} 12377db96d56Sopenharmony_ci 12387db96d56Sopenharmony_ciPyDoc_STRVAR(unicode___format____doc__, 12397db96d56Sopenharmony_ci"__format__($self, format_spec, /)\n" 12407db96d56Sopenharmony_ci"--\n" 12417db96d56Sopenharmony_ci"\n" 12427db96d56Sopenharmony_ci"Return a formatted version of the string as described by format_spec."); 12437db96d56Sopenharmony_ci 12447db96d56Sopenharmony_ci#define UNICODE___FORMAT___METHODDEF \ 12457db96d56Sopenharmony_ci {"__format__", (PyCFunction)unicode___format__, METH_O, unicode___format____doc__}, 12467db96d56Sopenharmony_ci 12477db96d56Sopenharmony_cistatic PyObject * 12487db96d56Sopenharmony_ciunicode___format___impl(PyObject *self, PyObject *format_spec); 12497db96d56Sopenharmony_ci 12507db96d56Sopenharmony_cistatic PyObject * 12517db96d56Sopenharmony_ciunicode___format__(PyObject *self, PyObject *arg) 12527db96d56Sopenharmony_ci{ 12537db96d56Sopenharmony_ci PyObject *return_value = NULL; 12547db96d56Sopenharmony_ci PyObject *format_spec; 12557db96d56Sopenharmony_ci 12567db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 12577db96d56Sopenharmony_ci _PyArg_BadArgument("__format__", "argument", "str", arg); 12587db96d56Sopenharmony_ci goto exit; 12597db96d56Sopenharmony_ci } 12607db96d56Sopenharmony_ci if (PyUnicode_READY(arg) == -1) { 12617db96d56Sopenharmony_ci goto exit; 12627db96d56Sopenharmony_ci } 12637db96d56Sopenharmony_ci format_spec = arg; 12647db96d56Sopenharmony_ci return_value = unicode___format___impl(self, format_spec); 12657db96d56Sopenharmony_ci 12667db96d56Sopenharmony_ciexit: 12677db96d56Sopenharmony_ci return return_value; 12687db96d56Sopenharmony_ci} 12697db96d56Sopenharmony_ci 12707db96d56Sopenharmony_ciPyDoc_STRVAR(unicode_sizeof__doc__, 12717db96d56Sopenharmony_ci"__sizeof__($self, /)\n" 12727db96d56Sopenharmony_ci"--\n" 12737db96d56Sopenharmony_ci"\n" 12747db96d56Sopenharmony_ci"Return the size of the string in memory, in bytes."); 12757db96d56Sopenharmony_ci 12767db96d56Sopenharmony_ci#define UNICODE_SIZEOF_METHODDEF \ 12777db96d56Sopenharmony_ci {"__sizeof__", (PyCFunction)unicode_sizeof, METH_NOARGS, unicode_sizeof__doc__}, 12787db96d56Sopenharmony_ci 12797db96d56Sopenharmony_cistatic PyObject * 12807db96d56Sopenharmony_ciunicode_sizeof_impl(PyObject *self); 12817db96d56Sopenharmony_ci 12827db96d56Sopenharmony_cistatic PyObject * 12837db96d56Sopenharmony_ciunicode_sizeof(PyObject *self, PyObject *Py_UNUSED(ignored)) 12847db96d56Sopenharmony_ci{ 12857db96d56Sopenharmony_ci return unicode_sizeof_impl(self); 12867db96d56Sopenharmony_ci} 12877db96d56Sopenharmony_ci 12887db96d56Sopenharmony_cistatic PyObject * 12897db96d56Sopenharmony_ciunicode_new_impl(PyTypeObject *type, PyObject *x, const char *encoding, 12907db96d56Sopenharmony_ci const char *errors); 12917db96d56Sopenharmony_ci 12927db96d56Sopenharmony_cistatic PyObject * 12937db96d56Sopenharmony_ciunicode_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) 12947db96d56Sopenharmony_ci{ 12957db96d56Sopenharmony_ci PyObject *return_value = NULL; 12967db96d56Sopenharmony_ci static const char * const _keywords[] = {"object", "encoding", "errors", NULL}; 12977db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "str", 0}; 12987db96d56Sopenharmony_ci PyObject *argsbuf[3]; 12997db96d56Sopenharmony_ci PyObject * const *fastargs; 13007db96d56Sopenharmony_ci Py_ssize_t nargs = PyTuple_GET_SIZE(args); 13017db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 0; 13027db96d56Sopenharmony_ci PyObject *x = NULL; 13037db96d56Sopenharmony_ci const char *encoding = NULL; 13047db96d56Sopenharmony_ci const char *errors = NULL; 13057db96d56Sopenharmony_ci 13067db96d56Sopenharmony_ci fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 0, 3, 0, argsbuf); 13077db96d56Sopenharmony_ci if (!fastargs) { 13087db96d56Sopenharmony_ci goto exit; 13097db96d56Sopenharmony_ci } 13107db96d56Sopenharmony_ci if (!noptargs) { 13117db96d56Sopenharmony_ci goto skip_optional_pos; 13127db96d56Sopenharmony_ci } 13137db96d56Sopenharmony_ci if (fastargs[0]) { 13147db96d56Sopenharmony_ci x = fastargs[0]; 13157db96d56Sopenharmony_ci if (!--noptargs) { 13167db96d56Sopenharmony_ci goto skip_optional_pos; 13177db96d56Sopenharmony_ci } 13187db96d56Sopenharmony_ci } 13197db96d56Sopenharmony_ci if (fastargs[1]) { 13207db96d56Sopenharmony_ci if (!PyUnicode_Check(fastargs[1])) { 13217db96d56Sopenharmony_ci _PyArg_BadArgument("str", "argument 'encoding'", "str", fastargs[1]); 13227db96d56Sopenharmony_ci goto exit; 13237db96d56Sopenharmony_ci } 13247db96d56Sopenharmony_ci Py_ssize_t encoding_length; 13257db96d56Sopenharmony_ci encoding = PyUnicode_AsUTF8AndSize(fastargs[1], &encoding_length); 13267db96d56Sopenharmony_ci if (encoding == NULL) { 13277db96d56Sopenharmony_ci goto exit; 13287db96d56Sopenharmony_ci } 13297db96d56Sopenharmony_ci if (strlen(encoding) != (size_t)encoding_length) { 13307db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 13317db96d56Sopenharmony_ci goto exit; 13327db96d56Sopenharmony_ci } 13337db96d56Sopenharmony_ci if (!--noptargs) { 13347db96d56Sopenharmony_ci goto skip_optional_pos; 13357db96d56Sopenharmony_ci } 13367db96d56Sopenharmony_ci } 13377db96d56Sopenharmony_ci if (!PyUnicode_Check(fastargs[2])) { 13387db96d56Sopenharmony_ci _PyArg_BadArgument("str", "argument 'errors'", "str", fastargs[2]); 13397db96d56Sopenharmony_ci goto exit; 13407db96d56Sopenharmony_ci } 13417db96d56Sopenharmony_ci Py_ssize_t errors_length; 13427db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(fastargs[2], &errors_length); 13437db96d56Sopenharmony_ci if (errors == NULL) { 13447db96d56Sopenharmony_ci goto exit; 13457db96d56Sopenharmony_ci } 13467db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 13477db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 13487db96d56Sopenharmony_ci goto exit; 13497db96d56Sopenharmony_ci } 13507db96d56Sopenharmony_ciskip_optional_pos: 13517db96d56Sopenharmony_ci return_value = unicode_new_impl(type, x, encoding, errors); 13527db96d56Sopenharmony_ci 13537db96d56Sopenharmony_ciexit: 13547db96d56Sopenharmony_ci return return_value; 13557db96d56Sopenharmony_ci} 13567db96d56Sopenharmony_ci/*[clinic end generated code: output=b5dd7cefead9a8e7 input=a9049054013a1b77]*/ 1357