Commit Graph

40 Commits

Author SHA1 Message Date
izzy lyseggen 883ec6e6ae feat(operations): better (de)serialize functions
allow providing transports to the serialize / deserialize functions
to see detaching and chunking
2021-03-19 15:18:06 +00:00
izzy lyseggen 614eefc393 fix(serialisation): EMBARASSING BUG
so i'm a bit of a dumbo here.
i didn't realise that doing `.update()` on attr would update the parent
attr as well and extend to all objects every ahhhhhh

you have to do `self.thing = self.thing + blah blah` to just update
the instance attr. the more ya know!

#roastme @cristi8
2021-03-18 18:45:24 +00:00
izzy lyseggen c739594ba8 fix(serializer): add children count on serialize
this was previously done _after_ hashing leading to different hashes
on two same objects due to this one field being different
2021-03-18 16:35:28 +00:00
izzy lyseggen ef92127ed2 feat(serializer): support detachment within lists
this was a borkage on my part - oops!
2021-03-17 17:37:45 +00:00
izzy lyseggen 81fab3ec6b fix(serialiser): import geometry objects
default to using our obj for deserialisation
2021-03-01 11:15:51 +00:00
izzy lyseggen d1d3876902 feat(serializer): traverse properties as well 2021-02-24 17:02:11 +00:00
izzy lyseggen ede286f4c0 fix(serialiser): generalise receiving chunk check 2021-02-22 18:23:30 +00:00
Gergő Jedlicska 5342cc4827 fix(recomposition): add dictionary recomposition option
If speckle type is not defined for an object, its recomposition results a python dictionary.
2021-02-22 19:17:09 +01:00
Gergő Jedlicska 48883466fb Merge branch 'main' of github.com:specklesystems/speckle-py into base_type_registration 2021-02-22 16:59:22 +01:00
izzy lyseggen 81b96cb6ac fix(serialiser): smol bug fixes
- don't overwrite `speckle_type` when receiving unknown object
- check for empty lists on deserialisation
- explicit none check for ignored vals on serialisation
(was unintentionally ignoring `0`s)
2021-02-22 10:17:09 +00:00
Gergő Jedlicska 800b0018a0 style: ran formatter on codebase 2021-02-17 23:52:14 +01:00
Gergő Jedlicska 00c1e378d5 feat(base model and deserialization): base model subclasses can now be automatically deserialized
Subclassing types of Base are stored in a class attribute that can be looked up via the
`speckle_type`.

fix #50
2021-02-13 10:19:12 +01:00
izzy lyseggen d760fa47ec refactor(base): more cleanup 2021-02-12 11:32:38 +00:00
izzy lyseggen 01e3e5aa47 refactor(serializer): remove speckleType check
related to specklesystems
/
speckle-server#78

fixed in specklesystems/speckle-server@aca61b8
2021-02-12 10:57:35 +00:00
izzy lyseggen 748faf277d feat(serialiser): check defined detachable props 2021-01-26 10:02:55 +00:00
izzy lyseggen 5eee3fee07 TEMPfix(serialisation): get around server bug
will revert when fix available for specklesystems/speckle-server#78
2021-01-19 11:05:42 +00:00
izzy lyseggen ca234536bc feat(chunking): dynamic chunking with @() syntax
closes #24
2021-01-19 09:28:12 +00:00
izzy lyseggen ad47f649db feat(serializer): support deserialising of props 2021-01-18 15:27:43 +00:00
izzy lyseggen 028ca641ef fix(serialisation): some quick fixes 2020-12-24 11:38:44 +00:00
izzy lyseggen e6727a9552 fix(chunking): delay chunk check to handle_value 2020-12-23 18:32:37 +00:00
izzy lyseggen b36e7e000f feat(chunking): initial chunking implementation 2020-12-23 18:32:36 +00:00
izzy lyseggen cf2c9d12a5 fix(Base): speckleType 👉 speckle_type 2020-12-22 11:27:21 +00:00
izzy lyseggen 01091405d1 fix(serialiser): extra checks for errors 2020-12-09 12:16:50 +00:00
izzy lyseggen dd5b355305 fix(base): speckle_type 👉 speckleType 2020-12-04 15:54:45 +00:00
izzy lyseggen ee22740a93 feat(serialisation): check for tuples 2020-12-01 14:45:46 +00:00
izzy lyseggen 1d7b120f26 feat(deserialisation): from memory transport 2020-11-30 19:00:37 +00:00
izzy lyseggen de4ea698b8 feat(serialisation): update detach helper 2020-11-30 16:59:31 +00:00
izzy lyseggen 72dfd4807e feat(serialization): simplify logic and align with core
only allow detaching of base objects
2020-11-30 16:42:24 +00:00
izzy lyseggen 18744d218a fix(serialization): match referencedId prop name 2020-11-30 09:37:21 +00:00
izzy lyseggen 5f05e9853f feat(serialization): hook up with transports 2020-11-27 18:32:42 +00:00
izzy lyseggen 09ce21e475 docs(serialization): function descriptions 2020-11-27 16:17:39 +00:00
izzy lyseggen 3ff444aa52 refactor(serialisation): clean up traverse_base 2020-11-27 15:21:11 +00:00
izzy lyseggen 799d9428ec fix(serialisation): closures in lists/dicts 2020-11-27 14:40:16 +00:00
izzy lyseggen ea8be095ed feat(serialization): handle nested base objects
base objects in lists and dicts

TODO: fix closures on these nested base objects
2020-11-26 19:27:53 +00:00
izzy lyseggen eee726e252 feat(serialisation): closures & handle iterables
- add '__closures' to each object
- construct the full closure table as dict
- handle lists and dicts as detachable child objects
2020-11-26 18:25:44 +00:00
izzy lyseggen 79dba3318f refactor(serialisation): simplify loop 2020-11-26 11:51:29 +00:00
izzy lyseggen 60d253343c fix(serialization): write detached or root obj
to transport. keep non-detached objects saved within the parent only
2020-11-26 10:26:27 +00:00
izzy lyseggen 2ea43d54d6 fix(serialization): fix the final object key order 2020-11-26 09:51:08 +00:00
izzy lyseggen 37480b1c9e feat(serialization): create closure table 2020-11-25 22:04:48 +00:00
izzy lyseggen b1660d5dbf feat(serialiZation): wip traversing base dict 2020-11-25 20:05:05 +00:00