This file is indexed.

/usr/share/PySide/typesystems/typesystem_script.xml is in libpyside-dev 1.2.2-2build2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?xml version="1.0"?>
<!--
    This file is part of PySide project.
    Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
    Contact: PySide team <contact@pyside.org>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-->
<typesystem package="PySide.QtScript">
    <load-typesystem name="typesystem_core.xml" generate="no" />

    <object-type name="QScriptable"/>
    <object-type name="QScriptClass">
        <enum-type name="Extension"/>
        <enum-type name="QueryFlag"/>
    </object-type>
    <object-type name="QScriptClassPropertyIterator"/>
    <object-type name="QScriptContext">
        <enum-type name="Error"/>
        <enum-type name="ExecutionState"/>
    </object-type>
    <value-type name="QScriptContextInfo">
        <enum-type name="FunctionType"/>
    </value-type>
    <object-type name="QScriptEngineAgent">
        <enum-type name="Extension"/>
    </object-type>
    <object-type name="QScriptEngine">
        <enum-type name="QObjectWrapOption" flags="QObjectWrapOptions"/>
        <enum-type name="ValueOwnership"/>
        <!-- Not supported BUG #957-->
        <modify-function signature="scriptValueFromQMetaObject()" remove="all" />
    </object-type>
    <object-type name="QScriptExtensionInterface"/>
    <object-type name="QScriptExtensionPlugin"/>
    <value-type name="QScriptProgram" since="4.7"/>
    <value-type name="QScriptString">
        <modify-function signature="toArrayIndex(bool*)const">
            <modify-argument index="1">
                <remove-argument/>
            </modify-argument>
            <inject-code class="target" position="beginning">
                <insert-template name="fix_bool*"/>
            </inject-code>
        </modify-function>
    </value-type>
    <value-type name="QScriptValue">
        <enum-type name="PropertyFlag" flags="PropertyFlags"/>
        <enum-type name="ResolveFlag" flags="ResolveFlags"/>
        <enum-type name="SpecialValue"/>
        <add-function signature="__repr__" return-type="PyObject*">
            <inject-code class="target" position="beginning">
                if (%CPPSELF.isVariant() || %CPPSELF.isString()) {
                    QString format = QString().sprintf("%s(\"%s\")", ((PyObject*)%PYSELF)->ob_type->tp_name, qPrintable(%CPPSELF.toString()));
                    %PYARG_0 = Shiboken::String::fromCString(qPrintable(format));
                 } else {
                    %PYARG_0 = Shiboken::String::fromCString(
                                    ((PyObject* )%PYSELF)->ob_type->tp_name);
                }
            </inject-code>
        </add-function>
        <add-function signature="__mgetitem__">
            <inject-code>
                Shiboken::AutoDecRef key(PyObject_Str(_key));
                QVariant res = %CPPSELF.property(Shiboken::String::toCString(key.object())).toVariant();
                if (res.isValid()) {
                    return %CONVERTTOPYTHON[QVariant](res);
                } else {
                    PyObject* errorType = PyInt_Check(_key) ? PyExc_IndexError : PyExc_KeyError;
                    PyErr_SetString(errorType, "Key not found.");
                    return 0;
                }
            </inject-code>
        </add-function>
        <add-function signature="__iter__()" return-type="PyObject*">
            <inject-code>
                %PYARG_0 = Shiboken::createWrapper(new QScriptValueIterator(*%CPPSELF), true, true);
            </inject-code>
        </add-function>
    </value-type>
    <object-type name="QScriptValueIterator">
        <add-function signature="__iter__()" return-type="PyObject*">
            <inject-code>
                <insert-template name="__iter__" />
            </inject-code>
        </add-function>
        <add-function signature="__next__()" return-type="PyObject*">
            <inject-code>
            if (%CPPSELF.hasNext()) {
                %CPPSELF.next();
                QString name = %CPPSELF.name();
                QVariant value = %CPPSELF.value().toVariant();
                %PYARG_0 = PyTuple_New(2);
                PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[QString](name));
                PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[QVariant](value));
            } else {
                PyErr_SetNone(PyExc_StopIteration);
            }
            </inject-code>
        </add-function>
    </object-type>
</typesystem>