123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568 |
- /*[clinic input]
- preserve
- [clinic start generated code]*/
- #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
- # include "pycore_gc.h" // PyGC_Head
- # include "pycore_runtime.h" // _Py_ID()
- #endif
- PyDoc_STRVAR(unicodedata_UCD_decimal__doc__,
- "decimal($self, chr, default=<unrepresentable>, /)\n"
- "--\n"
- "\n"
- "Converts a Unicode character into its equivalent decimal value.\n"
- "\n"
- "Returns the decimal value assigned to the character chr as integer.\n"
- "If no such value is defined, default is returned, or, if not given,\n"
- "ValueError is raised.");
- #define UNICODEDATA_UCD_DECIMAL_METHODDEF \
- {"decimal", _PyCFunction_CAST(unicodedata_UCD_decimal), METH_FASTCALL, unicodedata_UCD_decimal__doc__},
- static PyObject *
- unicodedata_UCD_decimal_impl(PyObject *self, int chr,
- PyObject *default_value);
- static PyObject *
- unicodedata_UCD_decimal(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- int chr;
- PyObject *default_value = NULL;
- if (!_PyArg_CheckPositional("decimal", nargs, 1, 2)) {
- goto exit;
- }
- if (!PyUnicode_Check(args[0])) {
- _PyArg_BadArgument("decimal", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- if (PyUnicode_READY(args[0])) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(args[0]) != 1) {
- _PyArg_BadArgument("decimal", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(args[0], 0);
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = unicodedata_UCD_decimal_impl(self, chr, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_digit__doc__,
- "digit($self, chr, default=<unrepresentable>, /)\n"
- "--\n"
- "\n"
- "Converts a Unicode character into its equivalent digit value.\n"
- "\n"
- "Returns the digit value assigned to the character chr as integer.\n"
- "If no such value is defined, default is returned, or, if not given,\n"
- "ValueError is raised.");
- #define UNICODEDATA_UCD_DIGIT_METHODDEF \
- {"digit", _PyCFunction_CAST(unicodedata_UCD_digit), METH_FASTCALL, unicodedata_UCD_digit__doc__},
- static PyObject *
- unicodedata_UCD_digit_impl(PyObject *self, int chr, PyObject *default_value);
- static PyObject *
- unicodedata_UCD_digit(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- int chr;
- PyObject *default_value = NULL;
- if (!_PyArg_CheckPositional("digit", nargs, 1, 2)) {
- goto exit;
- }
- if (!PyUnicode_Check(args[0])) {
- _PyArg_BadArgument("digit", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- if (PyUnicode_READY(args[0])) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(args[0]) != 1) {
- _PyArg_BadArgument("digit", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(args[0], 0);
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = unicodedata_UCD_digit_impl(self, chr, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_numeric__doc__,
- "numeric($self, chr, default=<unrepresentable>, /)\n"
- "--\n"
- "\n"
- "Converts a Unicode character into its equivalent numeric value.\n"
- "\n"
- "Returns the numeric value assigned to the character chr as float.\n"
- "If no such value is defined, default is returned, or, if not given,\n"
- "ValueError is raised.");
- #define UNICODEDATA_UCD_NUMERIC_METHODDEF \
- {"numeric", _PyCFunction_CAST(unicodedata_UCD_numeric), METH_FASTCALL, unicodedata_UCD_numeric__doc__},
- static PyObject *
- unicodedata_UCD_numeric_impl(PyObject *self, int chr,
- PyObject *default_value);
- static PyObject *
- unicodedata_UCD_numeric(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- int chr;
- PyObject *default_value = NULL;
- if (!_PyArg_CheckPositional("numeric", nargs, 1, 2)) {
- goto exit;
- }
- if (!PyUnicode_Check(args[0])) {
- _PyArg_BadArgument("numeric", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- if (PyUnicode_READY(args[0])) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(args[0]) != 1) {
- _PyArg_BadArgument("numeric", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(args[0], 0);
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = unicodedata_UCD_numeric_impl(self, chr, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_category__doc__,
- "category($self, chr, /)\n"
- "--\n"
- "\n"
- "Returns the general category assigned to the character chr as string.");
- #define UNICODEDATA_UCD_CATEGORY_METHODDEF \
- {"category", (PyCFunction)unicodedata_UCD_category, METH_O, unicodedata_UCD_category__doc__},
- static PyObject *
- unicodedata_UCD_category_impl(PyObject *self, int chr);
- static PyObject *
- unicodedata_UCD_category(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int chr;
- if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("category", "argument", "a unicode character", arg);
- goto exit;
- }
- if (PyUnicode_READY(arg)) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(arg) != 1) {
- _PyArg_BadArgument("category", "argument", "a unicode character", arg);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(arg, 0);
- return_value = unicodedata_UCD_category_impl(self, chr);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_bidirectional__doc__,
- "bidirectional($self, chr, /)\n"
- "--\n"
- "\n"
- "Returns the bidirectional class assigned to the character chr as string.\n"
- "\n"
- "If no such value is defined, an empty string is returned.");
- #define UNICODEDATA_UCD_BIDIRECTIONAL_METHODDEF \
- {"bidirectional", (PyCFunction)unicodedata_UCD_bidirectional, METH_O, unicodedata_UCD_bidirectional__doc__},
- static PyObject *
- unicodedata_UCD_bidirectional_impl(PyObject *self, int chr);
- static PyObject *
- unicodedata_UCD_bidirectional(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int chr;
- if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("bidirectional", "argument", "a unicode character", arg);
- goto exit;
- }
- if (PyUnicode_READY(arg)) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(arg) != 1) {
- _PyArg_BadArgument("bidirectional", "argument", "a unicode character", arg);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(arg, 0);
- return_value = unicodedata_UCD_bidirectional_impl(self, chr);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_combining__doc__,
- "combining($self, chr, /)\n"
- "--\n"
- "\n"
- "Returns the canonical combining class assigned to the character chr as integer.\n"
- "\n"
- "Returns 0 if no combining class is defined.");
- #define UNICODEDATA_UCD_COMBINING_METHODDEF \
- {"combining", (PyCFunction)unicodedata_UCD_combining, METH_O, unicodedata_UCD_combining__doc__},
- static int
- unicodedata_UCD_combining_impl(PyObject *self, int chr);
- static PyObject *
- unicodedata_UCD_combining(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int chr;
- int _return_value;
- if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("combining", "argument", "a unicode character", arg);
- goto exit;
- }
- if (PyUnicode_READY(arg)) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(arg) != 1) {
- _PyArg_BadArgument("combining", "argument", "a unicode character", arg);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(arg, 0);
- _return_value = unicodedata_UCD_combining_impl(self, chr);
- if ((_return_value == -1) && PyErr_Occurred()) {
- goto exit;
- }
- return_value = PyLong_FromLong((long)_return_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_mirrored__doc__,
- "mirrored($self, chr, /)\n"
- "--\n"
- "\n"
- "Returns the mirrored property assigned to the character chr as integer.\n"
- "\n"
- "Returns 1 if the character has been identified as a \"mirrored\"\n"
- "character in bidirectional text, 0 otherwise.");
- #define UNICODEDATA_UCD_MIRRORED_METHODDEF \
- {"mirrored", (PyCFunction)unicodedata_UCD_mirrored, METH_O, unicodedata_UCD_mirrored__doc__},
- static int
- unicodedata_UCD_mirrored_impl(PyObject *self, int chr);
- static PyObject *
- unicodedata_UCD_mirrored(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int chr;
- int _return_value;
- if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("mirrored", "argument", "a unicode character", arg);
- goto exit;
- }
- if (PyUnicode_READY(arg)) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(arg) != 1) {
- _PyArg_BadArgument("mirrored", "argument", "a unicode character", arg);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(arg, 0);
- _return_value = unicodedata_UCD_mirrored_impl(self, chr);
- if ((_return_value == -1) && PyErr_Occurred()) {
- goto exit;
- }
- return_value = PyLong_FromLong((long)_return_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_east_asian_width__doc__,
- "east_asian_width($self, chr, /)\n"
- "--\n"
- "\n"
- "Returns the east asian width assigned to the character chr as string.");
- #define UNICODEDATA_UCD_EAST_ASIAN_WIDTH_METHODDEF \
- {"east_asian_width", (PyCFunction)unicodedata_UCD_east_asian_width, METH_O, unicodedata_UCD_east_asian_width__doc__},
- static PyObject *
- unicodedata_UCD_east_asian_width_impl(PyObject *self, int chr);
- static PyObject *
- unicodedata_UCD_east_asian_width(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int chr;
- if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("east_asian_width", "argument", "a unicode character", arg);
- goto exit;
- }
- if (PyUnicode_READY(arg)) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(arg) != 1) {
- _PyArg_BadArgument("east_asian_width", "argument", "a unicode character", arg);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(arg, 0);
- return_value = unicodedata_UCD_east_asian_width_impl(self, chr);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_decomposition__doc__,
- "decomposition($self, chr, /)\n"
- "--\n"
- "\n"
- "Returns the character decomposition mapping assigned to the character chr as string.\n"
- "\n"
- "An empty string is returned in case no such mapping is defined.");
- #define UNICODEDATA_UCD_DECOMPOSITION_METHODDEF \
- {"decomposition", (PyCFunction)unicodedata_UCD_decomposition, METH_O, unicodedata_UCD_decomposition__doc__},
- static PyObject *
- unicodedata_UCD_decomposition_impl(PyObject *self, int chr);
- static PyObject *
- unicodedata_UCD_decomposition(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int chr;
- if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("decomposition", "argument", "a unicode character", arg);
- goto exit;
- }
- if (PyUnicode_READY(arg)) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(arg) != 1) {
- _PyArg_BadArgument("decomposition", "argument", "a unicode character", arg);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(arg, 0);
- return_value = unicodedata_UCD_decomposition_impl(self, chr);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_is_normalized__doc__,
- "is_normalized($self, form, unistr, /)\n"
- "--\n"
- "\n"
- "Return whether the Unicode string unistr is in the normal form \'form\'.\n"
- "\n"
- "Valid values for form are \'NFC\', \'NFKC\', \'NFD\', and \'NFKD\'.");
- #define UNICODEDATA_UCD_IS_NORMALIZED_METHODDEF \
- {"is_normalized", _PyCFunction_CAST(unicodedata_UCD_is_normalized), METH_FASTCALL, unicodedata_UCD_is_normalized__doc__},
- static PyObject *
- unicodedata_UCD_is_normalized_impl(PyObject *self, PyObject *form,
- PyObject *input);
- static PyObject *
- unicodedata_UCD_is_normalized(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- PyObject *form;
- PyObject *input;
- if (!_PyArg_CheckPositional("is_normalized", nargs, 2, 2)) {
- goto exit;
- }
- if (!PyUnicode_Check(args[0])) {
- _PyArg_BadArgument("is_normalized", "argument 1", "str", args[0]);
- goto exit;
- }
- if (PyUnicode_READY(args[0]) == -1) {
- goto exit;
- }
- form = args[0];
- if (!PyUnicode_Check(args[1])) {
- _PyArg_BadArgument("is_normalized", "argument 2", "str", args[1]);
- goto exit;
- }
- if (PyUnicode_READY(args[1]) == -1) {
- goto exit;
- }
- input = args[1];
- return_value = unicodedata_UCD_is_normalized_impl(self, form, input);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_normalize__doc__,
- "normalize($self, form, unistr, /)\n"
- "--\n"
- "\n"
- "Return the normal form \'form\' for the Unicode string unistr.\n"
- "\n"
- "Valid values for form are \'NFC\', \'NFKC\', \'NFD\', and \'NFKD\'.");
- #define UNICODEDATA_UCD_NORMALIZE_METHODDEF \
- {"normalize", _PyCFunction_CAST(unicodedata_UCD_normalize), METH_FASTCALL, unicodedata_UCD_normalize__doc__},
- static PyObject *
- unicodedata_UCD_normalize_impl(PyObject *self, PyObject *form,
- PyObject *input);
- static PyObject *
- unicodedata_UCD_normalize(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- PyObject *form;
- PyObject *input;
- if (!_PyArg_CheckPositional("normalize", nargs, 2, 2)) {
- goto exit;
- }
- if (!PyUnicode_Check(args[0])) {
- _PyArg_BadArgument("normalize", "argument 1", "str", args[0]);
- goto exit;
- }
- if (PyUnicode_READY(args[0]) == -1) {
- goto exit;
- }
- form = args[0];
- if (!PyUnicode_Check(args[1])) {
- _PyArg_BadArgument("normalize", "argument 2", "str", args[1]);
- goto exit;
- }
- if (PyUnicode_READY(args[1]) == -1) {
- goto exit;
- }
- input = args[1];
- return_value = unicodedata_UCD_normalize_impl(self, form, input);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_name__doc__,
- "name($self, chr, default=<unrepresentable>, /)\n"
- "--\n"
- "\n"
- "Returns the name assigned to the character chr as a string.\n"
- "\n"
- "If no name is defined, default is returned, or, if not given,\n"
- "ValueError is raised.");
- #define UNICODEDATA_UCD_NAME_METHODDEF \
- {"name", _PyCFunction_CAST(unicodedata_UCD_name), METH_FASTCALL, unicodedata_UCD_name__doc__},
- static PyObject *
- unicodedata_UCD_name_impl(PyObject *self, int chr, PyObject *default_value);
- static PyObject *
- unicodedata_UCD_name(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- int chr;
- PyObject *default_value = NULL;
- if (!_PyArg_CheckPositional("name", nargs, 1, 2)) {
- goto exit;
- }
- if (!PyUnicode_Check(args[0])) {
- _PyArg_BadArgument("name", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- if (PyUnicode_READY(args[0])) {
- goto exit;
- }
- if (PyUnicode_GET_LENGTH(args[0]) != 1) {
- _PyArg_BadArgument("name", "argument 1", "a unicode character", args[0]);
- goto exit;
- }
- chr = PyUnicode_READ_CHAR(args[0], 0);
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = unicodedata_UCD_name_impl(self, chr, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(unicodedata_UCD_lookup__doc__,
- "lookup($self, name, /)\n"
- "--\n"
- "\n"
- "Look up character by name.\n"
- "\n"
- "If a character with the given name is found, return the\n"
- "corresponding character. If not found, KeyError is raised.");
- #define UNICODEDATA_UCD_LOOKUP_METHODDEF \
- {"lookup", (PyCFunction)unicodedata_UCD_lookup, METH_O, unicodedata_UCD_lookup__doc__},
- static PyObject *
- unicodedata_UCD_lookup_impl(PyObject *self, const char *name,
- Py_ssize_t name_length);
- static PyObject *
- unicodedata_UCD_lookup(PyObject *self, PyObject *arg)
- {
- PyObject *return_value = NULL;
- const char *name;
- Py_ssize_t name_length;
- if (!PyArg_Parse(arg, "s#:lookup", &name, &name_length)) {
- goto exit;
- }
- return_value = unicodedata_UCD_lookup_impl(self, name, name_length);
- exit:
- return return_value;
- }
- /*[clinic end generated code: output=aaf601d28b352353 input=a9049054013a1b77]*/
|