File: schemas.py

package info (click to toggle)
python-opencascade-pywrap 0.0~git20250714210719.b608b60-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 12,992 kB
  • sloc: python: 1,622; pascal: 32; makefile: 13; sh: 1
file content (87 lines) | stat: -rwxr-xr-x 3,342 bytes parent folder | download | duplicates (2)
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
from schema import Schema, Optional

method_schema = Schema(
    {
        "body": str,
        Optional("help", default=None): str,
        Optional("arguments", default=[]): [str],
        Optional("return_policy", default=None): str,
    }
)

function_schema = method_schema

class_schema = Schema(
    {
        Optional("exclude_constructors", default=[]): [int],
        Optional("additional_constructors", default=[]): [method_schema],
        Optional("additional_methods", default={}): {str: method_schema},
        Optional("additional_static_methods", default={}): {str: method_schema},
    }
)

template_schema = Schema({Optional("exclude_constructors", default=[]): [int]})

module_schema = Schema(
    {
        Optional("module_parsing_header", default=""): str,
        Optional("parsing_headers", default={}): {str: str},
        Optional("include_header_pre_top", default=None): str,
        Optional("include_header_pre", default=None): str,
        Optional("include_body_pre", default=None): str,
        Optional("exclude_functions", default=[]): [str],
        Optional("exclude_classes", default=[]): [str],
        Optional("exclude_class_templates", default=[]): [str],
        Optional("exclude_methods", default=[]): [str],
        Optional("exclude_class_template_methods", default=[]): [str],
        Optional("exclude_typedefs", default=[]): [str],
        Optional("include_body_post", default=None): str,
        Optional("include_body_template_post", default=None): str,
        Optional("include_header_post", default=None): str,
        Optional("template_specializations", default=[]): [str],
        Optional("Classes", default={}): {str: class_schema},
        Optional("Templates", default={}): {str: template_schema},
        Optional("additional_functions", default={}): {str: function_schema},
    }
)

platform_settings = Schema(
    {
        "symbols": str,
        Optional("modules", default=[]): [str],
        Optional("includes", default=[]): [str],
        Optional("prefix", default=None): str,
        Optional("parsing_header", default=""): str,
        Optional("exclude_classes", default=[]): [str],
    }
)

global_schema = Schema(
    {
        "name": str,
        "input_folder": str,
        "output_folder": str,
        "pats": [str],
        "modules": [str],
        Optional("exclude", default=[]): [str],
        Optional("exceptions", default=[]): [str],
        Optional("additional_files", default=[]): [str],
        Optional("template_path", default=None): str,
        Optional("exclude_namespaces", default=[]): [str],
        "module_mapping": str,
        "Operators": {str: [str]},
        "Extras": {
            Optional("include_pre", default=None): str,
            Optional("include_post", default=None): str,
        },
        Optional("byref_types", default=[]): [str],
        Optional("byref_types_smart_ptr", default=[]): [str],
        Optional("parsing_header", default=""): str,
        Optional("Linux", default=None): platform_settings,
        Optional("Windows", default=None): platform_settings,
        Optional("OSX", default=None): platform_settings,
        Optional("FreeBSD", default=None): platform_settings,
        Optional("Attributes", default={}): {str: str},
        Optional("Modules", default=None): {str: module_schema},
    }
)