Commit graph

355 commits

Author SHA1 Message Date
Jason Paryani
80d2e59c08 Fix handling of empty path '' in load_module 2013-09-03 01:03:29 -07:00
Jason Paryani
83e30f5a30 Add from_dict 2013-09-03 01:00:52 -07:00
Jason Paryani
c900690b96 Fix bug in exception handling for which(). Also standardize exceptions
to always be ValueError. Add the beginnings of to_dict()
2013-09-03 00:25:32 -07:00
Jason Paryani
26579d307d Enable import hook by default 2013-09-03 00:21:28 -07:00
Jason Paryani
4e0db3d16a Fix up minor things with import hook 2013-09-03 00:21:15 -07:00
Jason Paryani
891f0d28e5 Change import hook to require modules to end in '_capnp' 2013-09-01 23:55:29 -07:00
Jason Paryani
98c9b959f7 Fix up bug with import hook on python3/pypy 2013-09-01 22:24:46 -07:00
Jason Paryani
5600f9939a Add import monkey patch function 2013-09-01 21:31:39 -07:00
Jason Paryani
1317527893 Change naming for functions to conform to PEP 8. Also deprecate old
read/write api.
2013-09-01 20:10:57 -07:00
Jason Paryani
6fcdf841e4 Update preferred method for reading/writing messages from files 2013-09-01 02:13:19 -07:00
Jason Paryani
c3ae2bee67 Change DynamicValue.Reader lists to be returned as _DynamicListReader 2013-09-01 00:09:46 -07:00
Jason Paryani
684f8ead70 Unify setters for DynamicList and DynamicStruct 2013-08-31 20:00:57 -07:00
Jason Paryani
fe991e7857 Fix int/long handling for python3 by removing redundant code 2013-08-31 19:30:07 -07:00
Kenton Varda
1cfea9c846 Add shortcuts for reading from / writing to files. In Python, it doesn't make much sense to force people to muck around with MessageReaders and MessageBuilders since everything is landing on the heap anyway. Instead, let's make it easy: MyType.read[Packed]From(file) reads a file and returns a MyType reader. MyType.newMessage() returns a MyType builder representing the root of a new message. You can call this builder's write[Packed]To(file) method to write it to a file. 2013-08-31 18:19:02 -07:00
Kenton Varda
6731d7eb7d Store Builders by value rather than allocate them separately on the heap (matches treatment of Readers). v0.3 fixes the bug that made this not work. 2013-08-31 17:22:11 -07:00
Kenton Varda
86b742e91d Wrap MessageBuilder::setRoot(). 2013-08-31 17:07:44 -07:00
Kenton Varda
0478ee3081 Add tests based on TestAllTypes from the C++ test.capnp. Fix problems uncovered in capnp.pyx. Requires capnproto-c++-0.3.0-rc5, as I found a bug in the base library. 2013-08-31 16:44:54 -07:00
Kenton Varda
10c6f40c2e Implement __str__ and __repr__ for struct and list builders. __str__ uses prettyPrint while __repr__ shows the type name and the low-whitespace stringification. Also implement __repr__ for StructSchema, just because why not? 2013-08-31 15:07:13 -07:00
Kenton Varda
688cecffab Remove stray print statement. 2013-08-31 13:21:29 -07:00
Jason Paryani
3772198e82 Fix up docs for new C++ RC 2013-08-30 23:13:20 -07:00
Jason Paryani
f7fbe5bdb3 Change load to use a global SchemaParser. Make structs settable as field 2013-08-29 21:03:00 -07:00
Jason Paryani
1d09bb71dd Fix docstring typo in PackedFdMessageReader 2013-08-29 18:49:32 -07:00
Jason Paryani
f0aa4d996b Add docstrings for new functions and _DynamicResizableListBuilder 2013-08-29 18:46:17 -07:00
Jason Paryani
397357110d Fix tests 2013-08-28 23:29:48 -07:00
Jason Paryani
7d59df357c Add _capnp for original Cython module. Meant for testing. 2013-08-28 23:11:59 -07:00
Jason Paryani
97cfef4243 Lowercase schema so it conforms to member naming conventions 2013-08-28 23:11:28 -07:00
Jason Paryani
28b4c442bd Fix change in C++ API of deleted default constructors for builders 2013-08-28 22:55:18 -07:00
Jason Paryani
64b3baa575 Merge branch 'master' of https://github.com/amluto/capnpc-python-cpp into develop
Conflicts:
	capnp/capnp.pyx
	capnp/capnp_cpp.pxd
2013-08-28 16:09:33 -07:00
Andy Lutomirski
2fe61781f5 Expose _StructSchema's raw node 2013-08-28 14:46:53 -07:00
Andy Lutomirski
79ae83a6cb Add some useful _StructSchema, reader, and builder methods
This adds:
 - _StructSchema.fieldnames
 - _DynamicStructBuilder.as_reader
 - _DynamicStruct{Reader,Builder}.schema and __dir__

This makes the reader and builder types much easier to navigate in ipython.
2013-08-28 14:34:37 -07:00
Jason Paryani
172c2fd900 Change orphan list semantics a bit 2013-08-27 10:55:06 -07:00
Jason Paryani
448ea93891 Add full orphan functionality. Also, allow special orphan lists
that can grow over time.
2013-08-26 22:00:12 -07:00
Jason Paryani
c31d63087a Finish up adding docstrings to all public classes/methods 2013-08-26 19:27:58 -07:00
Jason Paryani
7b33513bdb Add a ton of docstrings and add to official docs 2013-08-26 16:16:58 -07:00
Jason Paryani
0856cf413b Remove a bunch of cruft. Also re-namespace all private methods with _ 2013-08-26 15:07:13 -07:00
Jason Paryani
48f8d995a6 Refactor clean various cruft 2013-08-26 14:57:48 -07:00
Jason Paryani
38ba5249c3 Add DynamicOrphan 2013-08-26 14:45:15 -07:00
Jason Paryani
a4d2bd6020 Add some docstrings 2013-08-26 10:07:54 -07:00
Jason Paryani
56d4646c01 Add C++ library version check 2013-08-26 00:57:07 -07:00
Jason Paryani
c6250962e6 Add handling of constants in schemas 2013-08-25 17:07:08 -07:00
Jason Paryani
ea1f22e5c6 Fix new error with DynamicValue.Builder no longer being copyable 2013-08-25 16:41:37 -07:00
Jason Paryani
59279ee311 Fix Void namespace change 2013-08-22 17:48:02 -07:00
Jason Paryani
8507eb6901 Fix for the removal of DynamicUnion from the C++ API 2013-08-22 09:18:29 -07:00
Jason Paryani
8b92a251e4 Clean up namespace a bit and add cython exporting of function signatures 2013-08-18 21:48:49 -07:00
Jason Paryani
b4c6ec9fe6 Add querying unnamed enums to structs 2013-08-15 15:44:54 -07:00
Jason Paryani
98fd7d5b8a Random formatting cleanup 2013-08-13 23:04:03 -07:00
Jason Paryani
b4ae2a0bff Allow import paths in the schema loader 2013-08-13 23:00:43 -07:00
Jason Paryani
f411fc216a Use SchemaParser API to remove dependency on subprocess call to compiler 2013-08-13 22:21:38 -07:00
Jason Paryani
07e9d370a9 Upgrade for 0.2 version of capnproto C++ library 2013-08-10 13:58:08 -07:00
Jason Paryani
3ece246f23 Simplify code base
Remove bootstrap directory as well as cython wrapping of the schema
protocol.
2013-08-10 13:54:25 -07:00