ssc_codegen 0.5.3__tar.gz → 0.5.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/workspace.xml +162 -148
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/PKG-INFO +1 -1
- ssc_codegen-0.5.4/examples/a.py +144 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/generate_code.sh +1 -0
- ssc_codegen-0.5.4/examples/testDoc/index.html +23 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/pyproject.toml +1 -1
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/__init__.py +1 -1
- ssc_codegen-0.5.4/ssc_codegen/converters/__init__.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/py_base.py +1 -1
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.gitignore +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/.gitignore +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/inspectionProfiles/Project_Default.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/libraries/Dart_Packages.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/libraries/Dart_SDK.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/misc.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/modules.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/selector_schema_codegen.iml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/.idea/vcs.xml +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/LICENSE +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/README.md +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/README.md +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/booksToScrapePage.html +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/booksToScrapePage50.html +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/dart/booksToScrape.dart +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/dart/main.dart +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/ex_extended.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/go/booksToScrape.go +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/go/main.go +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/js/booksToScrape.js +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/js/booksToScrapeTests.js +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/js/main.js +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/manual_make.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/python/booksToScrape.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/python/main.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/python/main2.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/runtime_compile.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/schemas/booksToScrape.py +0 -0
- {ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/schemas/booksToScrapeTests.py +0 -0
- /ssc_codegen-0.5.3/ssc_codegen/converters/__init__.py → /ssc_codegen-0.5.4/examples/testDoc/schema.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/main.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/o.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/scripts/check.sh +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/scripts/fix.sh +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/scripts/ver_patch.sh +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/scripts/version.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/ast_builder.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/ast_ssc.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/cli.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/cli_utils.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/compiler.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/consts.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/ast_utils.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/dart_universal_html.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/go_goquery.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/js_pure.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/py_bs4.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/py_parsel.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/py_scrapy.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/py_selectolax.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/templates/dart.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/templates/go.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/templates/js.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/templates/py.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/templates/utils.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/tools.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/converters/utils.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/document.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/document_utlis.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/schema.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/selector_utils.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/ssc_codegen/tokens.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/converter_tools/test_str_utils.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/converter_tools/test_variable.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/converters/helpers_converters.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/converters/test_buildin_converters.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_document_array.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_document_assert.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_document_invalid_expr.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_document_regex.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_document_select.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_document_text.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_nested.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/document/test_selector_converters.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/schema/helpers.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/schema/test_sc_magic_methods.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/schema/test_sc_mro.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/utils/test_convert_query.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/utils/test_go_unimport.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/tests/utils/test_validate_query.py +0 -0
- {ssc_codegen-0.5.3 → ssc_codegen-0.5.4}/uv.lock +0 -0
|
@@ -4,13 +4,26 @@
|
|
|
4
4
|
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
5
|
</component>
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="9c5efa3e-dda3-4c3a-8055-fa28924643ed" name="Changes" comment="
|
|
8
|
-
<change afterPath="$PROJECT_DIR$/examples/ex_extended.py" afterDir="false" />
|
|
9
|
-
<change afterPath="$PROJECT_DIR$/examples/python/main2.py" afterDir="false" />
|
|
10
|
-
<change afterPath="$PROJECT_DIR$/examples/schemas/booksToScrapeTests.py" afterDir="false" />
|
|
7
|
+
<list default="true" id="9c5efa3e-dda3-4c3a-8055-fa28924643ed" name="Changes" comment="bump">
|
|
8
|
+
<change afterPath="$PROJECT_DIR$/examples/booksToScrape/ex_extended.py" afterDir="false" />
|
|
9
|
+
<change afterPath="$PROJECT_DIR$/examples/booksToScrape/python/main2.py" afterDir="false" />
|
|
10
|
+
<change afterPath="$PROJECT_DIR$/examples/booksToScrape/schemas/booksToScrapeTests.py" afterDir="false" />
|
|
11
|
+
<change afterPath="$PROJECT_DIR$/examples/testDoc/index.html" afterDir="false" />
|
|
12
|
+
<change afterPath="$PROJECT_DIR$/examples/testDoc/schema.py" afterDir="false" />
|
|
11
13
|
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
|
|
12
|
-
<change beforePath="$PROJECT_DIR$/
|
|
13
|
-
<change beforePath="$PROJECT_DIR$/
|
|
14
|
+
<change beforePath="$PROJECT_DIR$/examples/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/README.md" afterDir="false" />
|
|
15
|
+
<change beforePath="$PROJECT_DIR$/examples/dart/booksToScrape.dart" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/dart/booksToScrape.dart" afterDir="false" />
|
|
16
|
+
<change beforePath="$PROJECT_DIR$/examples/dart/main.dart" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/dart/main.dart" afterDir="false" />
|
|
17
|
+
<change beforePath="$PROJECT_DIR$/examples/generate_code.sh" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/generate_code.sh" afterDir="false" />
|
|
18
|
+
<change beforePath="$PROJECT_DIR$/examples/go/booksToScrape.go" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/go/booksToScrape.go" afterDir="false" />
|
|
19
|
+
<change beforePath="$PROJECT_DIR$/examples/go/main.go" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/go/main.go" afterDir="false" />
|
|
20
|
+
<change beforePath="$PROJECT_DIR$/examples/js/booksToScrape.js" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/js/booksToScrape.js" afterDir="false" />
|
|
21
|
+
<change beforePath="$PROJECT_DIR$/examples/js/main.js" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/js/main.js" afterDir="false" />
|
|
22
|
+
<change beforePath="$PROJECT_DIR$/examples/manual_make.py" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/manual_make.py" afterDir="false" />
|
|
23
|
+
<change beforePath="$PROJECT_DIR$/examples/python/booksToScrape.py" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/python/booksToScrape.py" afterDir="false" />
|
|
24
|
+
<change beforePath="$PROJECT_DIR$/examples/python/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/python/main.py" afterDir="false" />
|
|
25
|
+
<change beforePath="$PROJECT_DIR$/examples/runtime_compile.py" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/runtime_compile.py" afterDir="false" />
|
|
26
|
+
<change beforePath="$PROJECT_DIR$/examples/schemas/booksToScrape.py" beforeDir="false" afterPath="$PROJECT_DIR$/examples/booksToScrape/schemas/booksToScrape.py" afterDir="false" />
|
|
14
27
|
</list>
|
|
15
28
|
<option name="SHOW_DIALOG" value="false" />
|
|
16
29
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -80,115 +93,115 @@
|
|
|
80
93
|
<option name="hideEmptyMiddlePackages" value="true" />
|
|
81
94
|
<option name="showLibraryContents" value="true" />
|
|
82
95
|
</component>
|
|
83
|
-
<component name="PropertiesComponent"
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
96
|
+
<component name="PropertiesComponent">{
|
|
97
|
+
"keyToString": {
|
|
98
|
+
"Dart Command Line App.dart_sscgen.dart.executor": "Debug",
|
|
99
|
+
"Dart Command Line App.main.dart.executor": "Debug",
|
|
100
|
+
"DefaultHtmlFileTemplate": "HTML File",
|
|
101
|
+
"Python tests.Python tests for test_buildin_converters.test_converter_impl.executor": "Run",
|
|
102
|
+
"Python tests.Python tests for test_convert_query.test_convert_css_to_xpath.executor": "Run",
|
|
103
|
+
"Python tests.Python tests for test_convert_query.test_convert_xpath_to_css.executor": "Run",
|
|
104
|
+
"Python tests.Python tests for test_document.test_expr.executor": "Run",
|
|
105
|
+
"Python tests.Python tests for test_document.test_fail_attr_expr.executor": "Run",
|
|
106
|
+
"Python tests.Python tests for test_document.test_valid_html_expr.executor": "Run",
|
|
107
|
+
"Python tests.Python tests for test_document_array.test_list_document.executor": "Run",
|
|
108
|
+
"Python tests.Python tests for test_document_array.test_list_str.executor": "Run",
|
|
109
|
+
"Python tests.Python tests for test_document_assert.test_assert_expr.executor": "Run",
|
|
110
|
+
"Python tests.Python tests for test_document_invalid_expr.test_raw_invalid_expr.executor": "Run",
|
|
111
|
+
"Python tests.Python tests for test_document_regex.test_assert_expr.executor": "Run",
|
|
112
|
+
"Python tests.Python tests for test_document_regex.test_fail_compile_regex.executor": "Run",
|
|
113
|
+
"Python tests.Python tests for test_document_select.test_doc_to_str.executor": "Run",
|
|
114
|
+
"Python tests.Python tests for test_document_select.test_document_to_list_document.executor": "Run",
|
|
115
|
+
"Python tests.Python tests for test_document_text.test_fail_str_format.executor": "Run",
|
|
116
|
+
"Python tests.Python tests for test_document_text.test_string_expr.executor": "Run",
|
|
117
|
+
"Python tests.Python tests for test_go_unimport.test_go_unimport_naive.executor": "Run",
|
|
118
|
+
"Python tests.Python tests for test_invalid_expr.test_invalid_doc_expr.executor": "Run",
|
|
119
|
+
"Python tests.Python tests for test_invalid_expr.test_invalid_expr.executor": "Run",
|
|
120
|
+
"Python tests.Python tests for test_nested.test_nested.executor": "Run",
|
|
121
|
+
"Python tests.Python tests for test_nested.test_nested_2.executor": "Run",
|
|
122
|
+
"Python tests.Python tests for test_sc.test_fail_init.executor": "Run",
|
|
123
|
+
"Python tests.Python tests for test_sc.test_fail_schema_config.executor": "Run",
|
|
124
|
+
"Python tests.Python tests for test_sc_magic_methods.test_fail_document_value_type.executor": "Run",
|
|
125
|
+
"Python tests.Python tests for test_sc_magic_methods.test_fail_field_empty_expr.executor": "Run",
|
|
126
|
+
"Python tests.Python tests for test_sc_magic_methods.test_fail_schema_dict_key.executor": "Run",
|
|
127
|
+
"Python tests.Python tests for test_sc_magic_methods.test_fail_schema_magic.executor": "Run",
|
|
128
|
+
"Python tests.Python tests for test_sc_magic_methods.test_fail_schema_split_doc_ret_type.executor": "Run",
|
|
129
|
+
"Python tests.Python tests for test_sc_mro.test_schema_mro.executor": "Run",
|
|
130
|
+
"Python tests.Python tests for test_select_document.test_valid_html_expr.executor": "Run",
|
|
131
|
+
"Python tests.Python tests for test_selector_converters.test_convert_css_to_xpath.executor": "Run",
|
|
132
|
+
"Python tests.Python tests for test_selector_converters.test_convert_css_to_xpath_queries.executor": "Run",
|
|
133
|
+
"Python tests.Python tests for test_selector_converters.test_convert_css_to_xpath_tokens.executor": "Run",
|
|
134
|
+
"Python tests.Python tests for test_selector_converters.test_convert_xpath_to_css_tokens.executor": "Run",
|
|
135
|
+
"Python tests.Python tests for test_selectors_converters.test_convert_css_to_xpath.executor": "Run",
|
|
136
|
+
"Python tests.Python tests for test_selectors_converters.test_convert_xpath_to_css.executor": "Run",
|
|
137
|
+
"Python tests.Python tests for test_str_utils.test_escape_str.executor": "Run",
|
|
138
|
+
"Python tests.Python tests for test_str_utils.test_to_lower_camel_case.executor": "Run",
|
|
139
|
+
"Python tests.Python tests for test_str_utils.test_to_snake_case.executor": "Run",
|
|
140
|
+
"Python tests.Python tests for test_str_utils.test_to_upper_camel_case.executor": "Run",
|
|
141
|
+
"Python tests.Python tests for test_str_utils.test_wrap_backtick.executor": "Run",
|
|
142
|
+
"Python tests.Python tests for test_str_utils.test_wrap_double_quotes.executor": "Run",
|
|
143
|
+
"Python tests.Python tests for test_utils.test_fail_validate_css_query.executor": "Run",
|
|
144
|
+
"Python tests.Python tests for test_utils.test_fail_validate_xpath_query.executor": "Run",
|
|
145
|
+
"Python tests.Python tests for test_utils.test_validate_css_query.executor": "Debug",
|
|
146
|
+
"Python tests.Python tests for test_utils.test_validate_xpath_query.executor": "Run",
|
|
147
|
+
"Python tests.Python tests for test_variable.test_left_right_var_names.executor": "Run",
|
|
148
|
+
"Python tests.Python tests for test_variable.test_left_right_var_names_different_name.executor": "Run",
|
|
149
|
+
"Python tests.Python tests for test_variable.test_left_right_var_names_first_variable.executor": "Run",
|
|
150
|
+
"Python tests.Python tests for test_variable.test_left_right_var_names_multiple_variables.executor": "Run",
|
|
151
|
+
"Python tests.Python tests for test_variable.test_left_right_var_names_non_first_variable.executor": "Run",
|
|
152
|
+
"Python tests.Python tests in test_sc_magic_methods.py.executor": "Run",
|
|
153
|
+
"Python tests.Python tests in test_variable.py.executor": "Run",
|
|
154
|
+
"Python tests.Python tests in tests.executor": "Run",
|
|
155
|
+
"Python.__init__.executor": "Run",
|
|
156
|
+
"Python._demp.executor": "Run",
|
|
157
|
+
"Python.a.executor": "Debug",
|
|
158
|
+
"Python.aaaa.executor": "Run",
|
|
159
|
+
"Python.animego_pro.executor": "Run",
|
|
160
|
+
"Python.ast_builder.executor": "Debug",
|
|
161
|
+
"Python.ast_ssc.executor": "Run",
|
|
162
|
+
"Python.base (1).executor": "Run",
|
|
163
|
+
"Python.base.executor": "Run",
|
|
164
|
+
"Python.booksToScrape.executor": "Run",
|
|
165
|
+
"Python.calc_hash.executor": "Run",
|
|
166
|
+
"Python.cli.executor": "Run",
|
|
167
|
+
"Python.constants.executor": "Debug",
|
|
168
|
+
"Python.ex_extended.executor": "Run",
|
|
169
|
+
"Python.expression.executor": "Run",
|
|
170
|
+
"Python.fixer.executor": "Debug",
|
|
171
|
+
"Python.generator.executor": "Debug",
|
|
172
|
+
"Python.go_goquery.executor": "Run",
|
|
173
|
+
"Python.main (1).executor": "Run",
|
|
174
|
+
"Python.main.executor": "Debug",
|
|
175
|
+
"Python.main2.executor": "Run",
|
|
176
|
+
"Python.main_raw.executor": "Run",
|
|
177
|
+
"Python.manual_make.executor": "Run",
|
|
178
|
+
"Python.o.executor": "Run",
|
|
179
|
+
"Python.py.executor": "Run",
|
|
180
|
+
"Python.raw_main.executor": "Run",
|
|
181
|
+
"Python.re_validator.executor": "Run",
|
|
182
|
+
"Python.runtime_compile.executor": "Run",
|
|
183
|
+
"Python.schema.executor": "Run",
|
|
184
|
+
"Python.schemas (1).executor": "Run",
|
|
185
|
+
"Python.schemas.executor": "Run",
|
|
186
|
+
"Python.security.executor": "Run",
|
|
187
|
+
"Python.tg_mini.executor": "Run",
|
|
188
|
+
"Python.utils.executor": "Run",
|
|
189
|
+
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
190
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
191
|
+
"RunOnceActivity.git.unshallow": "true",
|
|
192
|
+
"WebServerToolWindowFactoryState": "false",
|
|
193
|
+
"dart.analysis.tool.window.visible": "false",
|
|
194
|
+
"git-widget-placeholder": "main",
|
|
195
|
+
"last_opened_file_path": "/home/georgiy/PycharmProjects/anicli-api",
|
|
196
|
+
"node.js.detected.package.eslint": "true",
|
|
197
|
+
"node.js.detected.package.tslint": "true",
|
|
198
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
199
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
200
|
+
"nodejs_package_manager_path": "npm",
|
|
201
|
+
"settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
|
|
202
|
+
"vue.rearranger.settings.migration": "true"
|
|
190
203
|
}
|
|
191
|
-
}
|
|
204
|
+
}</component>
|
|
192
205
|
<component name="PyCoverageOptionsProvider">
|
|
193
206
|
<option name="myUseBundledCoveragePy" value="true" />
|
|
194
207
|
</component>
|
|
@@ -201,11 +214,11 @@
|
|
|
201
214
|
<recent name="$PROJECT_DIR$/ssc_codegen/converters/templates/dart/universal_html" />
|
|
202
215
|
</key>
|
|
203
216
|
<key name="MoveFile.RECENT_KEYS">
|
|
217
|
+
<recent name="$PROJECT_DIR$/examples/booksToScrape" />
|
|
204
218
|
<recent name="$PROJECT_DIR$/tests/schema" />
|
|
205
219
|
<recent name="$PROJECT_DIR$/ssc_codegen/converters" />
|
|
206
220
|
<recent name="$PROJECT_DIR$/examples" />
|
|
207
221
|
<recent name="$PROJECT_DIR$/examples/python" />
|
|
208
|
-
<recent name="$PROJECT_DIR$/tests/document" />
|
|
209
222
|
</key>
|
|
210
223
|
</component>
|
|
211
224
|
<component name="RunManager" selected="Python tests.Python tests for test_buildin_converters.test_converter_impl">
|
|
@@ -223,7 +236,7 @@
|
|
|
223
236
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
224
237
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
225
238
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
226
|
-
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/examples/ex_extended.py" />
|
|
239
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/examples/booksToScrape/ex_extended.py" />
|
|
227
240
|
<option name="PARAMETERS" value="" />
|
|
228
241
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
229
242
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
@@ -394,31 +407,8 @@
|
|
|
394
407
|
<workItem from="1738301565437" duration="8521000" />
|
|
395
408
|
<workItem from="1738575037148" duration="22388000" />
|
|
396
409
|
<workItem from="1738684052578" duration="6332000" />
|
|
397
|
-
<workItem from="1738746990365" duration="
|
|
398
|
-
|
|
399
|
-
<task id="LOCAL-00132" summary="mypy fix">
|
|
400
|
-
<option name="closed" value="true" />
|
|
401
|
-
<created>1738055157052</created>
|
|
402
|
-
<option name="number" value="00132" />
|
|
403
|
-
<option name="presentableId" value="LOCAL-00132" />
|
|
404
|
-
<option name="project" value="LOCAL" />
|
|
405
|
-
<updated>1738055157052</updated>
|
|
406
|
-
</task>
|
|
407
|
-
<task id="LOCAL-00133" summary="fix dart codegen">
|
|
408
|
-
<option name="closed" value="true" />
|
|
409
|
-
<created>1738067544204</created>
|
|
410
|
-
<option name="number" value="00133" />
|
|
411
|
-
<option name="presentableId" value="LOCAL-00133" />
|
|
412
|
-
<option name="project" value="LOCAL" />
|
|
413
|
-
<updated>1738067544205</updated>
|
|
414
|
-
</task>
|
|
415
|
-
<task id="LOCAL-00134" summary="fix XPATH js">
|
|
416
|
-
<option name="closed" value="true" />
|
|
417
|
-
<created>1738094439436</created>
|
|
418
|
-
<option name="number" value="00134" />
|
|
419
|
-
<option name="presentableId" value="LOCAL-00134" />
|
|
420
|
-
<option name="project" value="LOCAL" />
|
|
421
|
-
<updated>1738094439436</updated>
|
|
410
|
+
<workItem from="1738746990365" duration="28527000" />
|
|
411
|
+
<workItem from="1738827918820" duration="143000" />
|
|
422
412
|
</task>
|
|
423
413
|
<task id="LOCAL-00135" summary="add test for converter utils, fix lowerCamelCase func">
|
|
424
414
|
<option name="closed" value="true" />
|
|
@@ -788,7 +778,31 @@
|
|
|
788
778
|
<option name="project" value="LOCAL" />
|
|
789
779
|
<updated>1738794557342</updated>
|
|
790
780
|
</task>
|
|
791
|
-
<
|
|
781
|
+
<task id="LOCAL-00181" summary="rename modules">
|
|
782
|
+
<option name="closed" value="true" />
|
|
783
|
+
<created>1738794901438</created>
|
|
784
|
+
<option name="number" value="00181" />
|
|
785
|
+
<option name="presentableId" value="LOCAL-00181" />
|
|
786
|
+
<option name="project" value="LOCAL" />
|
|
787
|
+
<updated>1738794901438</updated>
|
|
788
|
+
</task>
|
|
789
|
+
<task id="LOCAL-00182" summary="ruff fmt">
|
|
790
|
+
<option name="closed" value="true" />
|
|
791
|
+
<created>1738794911350</created>
|
|
792
|
+
<option name="number" value="00182" />
|
|
793
|
+
<option name="presentableId" value="LOCAL-00182" />
|
|
794
|
+
<option name="project" value="LOCAL" />
|
|
795
|
+
<updated>1738794911350</updated>
|
|
796
|
+
</task>
|
|
797
|
+
<task id="LOCAL-00183" summary="bump">
|
|
798
|
+
<option name="closed" value="true" />
|
|
799
|
+
<created>1738794935313</created>
|
|
800
|
+
<option name="number" value="00183" />
|
|
801
|
+
<option name="presentableId" value="LOCAL-00183" />
|
|
802
|
+
<option name="project" value="LOCAL" />
|
|
803
|
+
<updated>1738794935313</updated>
|
|
804
|
+
</task>
|
|
805
|
+
<option name="localTasksCounter" value="184" />
|
|
792
806
|
<servers />
|
|
793
807
|
</component>
|
|
794
808
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -806,8 +820,6 @@
|
|
|
806
820
|
</option>
|
|
807
821
|
</component>
|
|
808
822
|
<component name="VcsManagerConfiguration">
|
|
809
|
-
<MESSAGE value="dev: add httpx dep" />
|
|
810
|
-
<MESSAGE value="update readme" />
|
|
811
823
|
<MESSAGE value="add schema tests" />
|
|
812
824
|
<MESSAGE value="add check stacks expr len, extract_default_expr check stack len throw error if stack is empty" />
|
|
813
825
|
<MESSAGE value="refactoring: ast utils to another module" />
|
|
@@ -826,12 +838,14 @@
|
|
|
826
838
|
<MESSAGE value="add new schema factories, add new tests" />
|
|
827
839
|
<MESSAGE value="Document marks: add optional default_value argument" />
|
|
828
840
|
<MESSAGE value="ruff fix" />
|
|
829
|
-
<MESSAGE value="bump" />
|
|
830
841
|
<MESSAGE value="check: add run pytest fix: add ruff fix" />
|
|
831
842
|
<MESSAGE value="ruff, mypy fix" />
|
|
832
843
|
<MESSAGE value="js_pure: TokenType.EXPR_CSS_ALL: convert nodes to array TokenType.EXPR_RAW,TokenType.EXPR_TEXT: add check variable type document and node" />
|
|
833
844
|
<MESSAGE value="add test converters implementation status" />
|
|
834
|
-
<
|
|
845
|
+
<MESSAGE value="rename modules" />
|
|
846
|
+
<MESSAGE value="ruff fmt" />
|
|
847
|
+
<MESSAGE value="bump" />
|
|
848
|
+
<option name="LAST_COMMIT_MESSAGE" value="bump" />
|
|
835
849
|
</component>
|
|
836
850
|
<component name="XDebuggerManager">
|
|
837
851
|
<breakpoint-manager>
|
|
@@ -857,7 +871,7 @@
|
|
|
857
871
|
<option name="timeStamp" value="121" />
|
|
858
872
|
</line-breakpoint>
|
|
859
873
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
|
860
|
-
<url>file://$PROJECT_DIR$/examples/python/main2.py</url>
|
|
874
|
+
<url>file://$PROJECT_DIR$/examples/booksToScrape/python/main2.py</url>
|
|
861
875
|
<line>6</line>
|
|
862
876
|
<option name="timeStamp" value="125" />
|
|
863
877
|
</line-breakpoint>
|
|
@@ -867,7 +881,7 @@
|
|
|
867
881
|
<option name="timeStamp" value="132" />
|
|
868
882
|
</line-breakpoint>
|
|
869
883
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
|
870
|
-
<url>file://$PROJECT_DIR$/examples/ex_extended.py</url>
|
|
884
|
+
<url>file://$PROJECT_DIR$/examples/booksToScrape/ex_extended.py</url>
|
|
871
885
|
<line>14</line>
|
|
872
886
|
<option name="timeStamp" value="134" />
|
|
873
887
|
</line-breakpoint>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssc_codegen
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
Project-URL: Documentation, https://github.com/vypivshiy/selector_schema_codegen#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/vypivshiy/selector_schema_codegen/issues
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
from typing import List, Optional, Sequence
|
|
2
|
+
|
|
3
|
+
from ssc_codegen import D, N, DictSchema, ItemSchema, ListSchema
|
|
4
|
+
|
|
5
|
+
# old domain - animego.org
|
|
6
|
+
URL_FMT = "https://animego.me" + "{{}}"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class OngoingPage(ListSchema):
|
|
10
|
+
"""Get all available ongoings from the main page
|
|
11
|
+
|
|
12
|
+
GET https://animego.me
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
__SPLIT_DOC__ = D().css_all(".border-bottom-0.cursor-pointer")
|
|
16
|
+
|
|
17
|
+
url = D().attr("onclick").ltrim("location.href=").trim("'").format(URL_FMT)
|
|
18
|
+
title = D().css(".last-update-title").text()
|
|
19
|
+
thumbnail = D().css(".lazy").attr("style").ltrim("background-image: url(").rtrim(");")
|
|
20
|
+
episode = D().css(".text-truncate").text().re("(\d+)\s")
|
|
21
|
+
dub = D().css(".text-gray-dark-6").text().repl(")", "").repl("(", "")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SearchPage(ListSchema):
|
|
25
|
+
"""Get all search results by query
|
|
26
|
+
|
|
27
|
+
USAGE:
|
|
28
|
+
|
|
29
|
+
GET https://animego.me/search/anime
|
|
30
|
+
q={QUERY}
|
|
31
|
+
|
|
32
|
+
EXAMPLE:
|
|
33
|
+
|
|
34
|
+
GET https://animego.me/search/anime?q=LAIN
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
__SPLIT_DOC__ = D().css_all(".row > .col-ul-2")
|
|
38
|
+
|
|
39
|
+
title = D().css(".text-truncate a").attr("title")
|
|
40
|
+
thumbnail = D().css(".lazy").attr("data-original")
|
|
41
|
+
url = D().css(".text-truncate a").attr("href")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class AnimePage(ItemSchema):
|
|
45
|
+
"""Anime page information. anime path contains in SearchView.url or Ongoing.url
|
|
46
|
+
|
|
47
|
+
- id needed for next API requests
|
|
48
|
+
- raw_json used for extract extra metadata (unescape required)
|
|
49
|
+
|
|
50
|
+
USAGE:
|
|
51
|
+
|
|
52
|
+
GET https://animego.me/anime/<ANIME_PATH>
|
|
53
|
+
|
|
54
|
+
EXAMPLE:
|
|
55
|
+
|
|
56
|
+
GET https://animego.me/anime/eksperimenty-leyn-1114
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
title = D().css(".anime-title h1").text()
|
|
60
|
+
# maybe missing description eg:
|
|
61
|
+
# https://animego.org/anime/chelovek-muskul-2589
|
|
62
|
+
description = D().default('').css_all(".description").text().join('').re_sub(r"^\s+|\s+$", "")
|
|
63
|
+
thumbnail = D().css("#content img").attr("src")
|
|
64
|
+
# anime id required for next requests (for DubberView, Source schemas)
|
|
65
|
+
id = D().css(".br-2 .my-list-anime").attr("id").ltrim("my-list-")
|
|
66
|
+
|
|
67
|
+
# DEV key: for parse extra metadata can be json unmarshal.
|
|
68
|
+
# unescape required
|
|
69
|
+
raw_json = D().css("script[type='application/ld+json']").text()
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class EpisodeDubbersView(DictSchema):
|
|
73
|
+
__SPLIT_DOC__ = D().css_all("#video-dubbing .mb-1")
|
|
74
|
+
__SIGNATURE__ = {"<dubber_id>": "<dubber_name>", "<id>": "..."}
|
|
75
|
+
|
|
76
|
+
__KEY__ = D().attr("data-dubbing")
|
|
77
|
+
__VALUE__ = D().css("span").text().re_sub(r"^\s+|\s+$", "")
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
class EpisodesView(ListSchema):
|
|
81
|
+
__SPLIT_DOC__ = D().css_all("#video-carousel .mb-0")
|
|
82
|
+
|
|
83
|
+
num = D().attr("data-episode")
|
|
84
|
+
title = D().attr("data-episode-title")
|
|
85
|
+
id = D().attr("data-id")
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class EpisodePage(ItemSchema):
|
|
89
|
+
"""Representation episodes
|
|
90
|
+
|
|
91
|
+
Prepare:
|
|
92
|
+
1. get id from Anime object
|
|
93
|
+
2. GET 'https://animego.me/anime/{Anime.id}/player?_allow=true'
|
|
94
|
+
3. extract html from json by ['content'] key
|
|
95
|
+
4. OPTIONAL: unescape HTML
|
|
96
|
+
|
|
97
|
+
EXAMPLE:
|
|
98
|
+
|
|
99
|
+
GET https://animego.me/anime/anime/1114//player?_allow=true
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
dubbers = N().sub_parser(EpisodeDubbersView)
|
|
103
|
+
episodes = N().sub_parser(EpisodesView)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class SourceVideoView(ListSchema):
|
|
107
|
+
__SPLIT_DOC__ = D().css_all("#video-players > span")
|
|
108
|
+
|
|
109
|
+
title = D().text()
|
|
110
|
+
url = D().attr("data-player").format("https:{{}}")
|
|
111
|
+
data_provider = D().attr("data-provider")
|
|
112
|
+
data_provide_dubbing = D().attr("data-provide-dubbing")
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
class SourceDubbersView(DictSchema):
|
|
116
|
+
__SPLIT_DOC__ = D().css_all("#video-dubbing > span")
|
|
117
|
+
__SIGNATURE__ = {"<dubber_id>": "<dubber_name>", "...": "..."}
|
|
118
|
+
|
|
119
|
+
__KEY__ = D().attr("data-dubbing")
|
|
120
|
+
__VALUE__ = D().text().re_sub(r"^\s+", "").re_sub(r"\s+$", "")
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class SourcePage(ItemSchema):
|
|
124
|
+
"""representation player urls
|
|
125
|
+
|
|
126
|
+
Prepare:
|
|
127
|
+
1. get num and id from Episode
|
|
128
|
+
|
|
129
|
+
2.
|
|
130
|
+
|
|
131
|
+
GET https://animego.me/anime/series
|
|
132
|
+
dubbing=2&provider=24&episode={Episode.num}id={Episode.id}
|
|
133
|
+
|
|
134
|
+
3. extract html from json by ["content"] key
|
|
135
|
+
|
|
136
|
+
4. OPTIONAL: unescape document
|
|
137
|
+
|
|
138
|
+
EXAMPLE:
|
|
139
|
+
|
|
140
|
+
GET https://animego.me/anime/series?dubbing=2&provider=24&episode=2&id=15837
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
dubbers = N().sub_parser(SourceDubbersView)
|
|
144
|
+
videos = N().sub_parser(SourceVideoView)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!--synthetic html page for demonstare write schemas examples and tests in several cases-->
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Demo page 1</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<!--simple items element-->
|
|
10
|
+
<div class="item-sc">
|
|
11
|
+
<p>item sc</p>
|
|
12
|
+
<a href="example.com">example page</a>
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
1. simple item-sc tags
|
|
16
|
+
2. simple list-sc tags
|
|
17
|
+
3. simple dict-sc tags
|
|
18
|
+
4. simple flatlist-sc tags
|
|
19
|
+
|
|
20
|
+
5. nested item-sc tags + 2-4
|
|
21
|
+
5. multi layered page
|
|
22
|
+
</body>
|
|
23
|
+
</html>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/booksToScrapePage.html
RENAMED
|
File without changes
|
{ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/booksToScrapePage50.html
RENAMED
|
File without changes
|
{ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/dart/booksToScrape.dart
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/js/booksToScrapeTests.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/python/booksToScrape.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ssc_codegen-0.5.3/examples → ssc_codegen-0.5.4/examples/booksToScrape}/schemas/booksToScrape.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|