* Keep methods with struct name and switch them to default
This PR can help fix the following two issues:
1): A set of simplified API (without struct name) was added in
https://github.com/google/flatbuffers/pull/6336. It causes name
conflict when merging all generated python file into a single one
(the primary usage senario in Google).
2): Flatbuffers 2.0 generates absolute import path, which may cause
name space conflicts. See more details in
https://github.com/google/flatbuffers/issues/5840.
The solution for both is to generate the merged Python code, similar
C++. The merged code will not contain the simplied API, but only the
method with struct name. For issue (1), it will mimic the exactly
usage pattern for Google internal. For issue (2), users can generate
the merged flatbuffer code, without worrying about the imports.
The above idea will be implemented in the following steps:
Step 1 (this PR): revert changes in https://github.com/google/flatbuffers/pull/6336
that set the simplified API as default. Remove statements that the
original API will be deprecated, and reset the original API as default.
Step 2 (the following PR): create a flag to generate the merged code.
The Simplified API will be removed from the merged code, otherwise it
will cause name conflict.
* Update the generated sample code
* Update the generated example code
* Reverst the changes of GetRootAs
* Update examples from grpc/example/generate.sh
* Remove a lot of redundancy from the Python generated code.
Update tutorial to reflect new Python generated code.
* Add aliases for newly deprecated Python generated methods.
This should help with backwards compatibility.
* Fix incorrect names in deprecated comments.
* Add vectorNumElements attribute to Builder for simpler vector creation.
This adds a default to EndVector which should simplify its use.
* Update tutorial to reflect new default arg in Python EndVector.
* Remove optional argument to Python EndVector.
* Add generated files.
* Unset Builder.vectorNumElems when not in use.
* Flatbuffers Python Object API
Implement the logic to generate the Python object API that can
unpack the data from a buf class into an object class, and pack
the data of an object class to a buf class.
* Fix the build issues
Remove unused parameters and replace auto in the for-loop statement
with std::string to make it compatible with VS2010.
* Fix the build issues.
* Add support for Array type
Added logic to handle Array type in Python Object API. Updated the
generated code accordingly.
* Fix the old style casting from int to char
* Fixed another conversion from int to char
* Fixed the import for typing
Importing typing may cause errors when a machine do not have the
moduel typing installed. This PR fixes the issue by guarding
"import typing" with the "try/except" statement.
* Fix issue of iterating the vector of import list
* Update the generated examples using generate_code.sh
* Fix the import order for typing
The import list was stored in unordered_set, so that each generated
codes may have different import order. Therefore, it failed in the
consistency test where two generated copies need to have exactly the
same apperance.
* Optimize unpack using numpy
Use numpy to unpack vector whenever it is possible to improve unpack
performance.
Also, added codegen command for Python specificly in generate_code.sh,
because --no-includes cannot be turn on for Python.
* Fix the import order
* Update generate_code.bat for windows accordingly
* Replace error message with pass
Avoid printing error message for every Python2 users about typing.
Replace it with pass.
* Python: Added support for file_identifiers
* Added tests. Fixed file_identifier code.
* Python: Fixed excessive padding of file_identifier. Repaired tests.
* Python: Made code compatible with python2.7
* Python: Typo fix in @endcond
* whitespace normaalization
* Stylistic change from if(not X is None) to if(X is not None). Added comment to type string.
* Python: Added support for automatic code generation of file_identifiers. Added tests for said code generation.
* converted sprintf to snprintf
* Bugfix, added snprint deffinition for MSVC
* changed snprint deffinition for MSVC to sprint_s
* changed scanf to IntToStringHex. Renamed HasFileIdentifier to GenHasFileIdentifier.
* Added updated genereated code to commit
* Python bugix: flatc no longer produces HasFileIdentfier for shcemas with no file identifier
* Added tests to verify `MonsterBufferHasIdentifier` returns false on no Identifier
* Python: added tests for GetBufferIdentifier and BufferHasIdentifier
Python: removed unessasary parenethesis in if statements
Minor format changes.
* Python : correceted instances of keyword arguments being called as positional arguments
* fixed typos and grammer in comments
* Minor style fixes
* Indentation fix
* Equals style changes
* Python: Fixed Alignment Issues. Changed test code to test against atual output
* Ran make(forgot to run make last commit)
* Python: Style changes
* Style changes
* indentation and style
* readded CONTRIBUTING.md
* Formatting tweak
Mostly to make CI run again
* More formatting fixes
* More formatting fixes
* More formatting fixes
* More formatting fixes
* Formatting fix
* More formatting fixes
* Formatting
* ran generate_code.sh
* Extend the test of MonsterExtra
- Extend C++ test of MonsterExtra
- Add conversion of fbs/json NaNs to unsigned quiet-NaN
- Update documentation (cross-platform interoperability)
* Fix declaration of infinity constants int the test