-
Notifications
You must be signed in to change notification settings - Fork 81
Home
Eventually, I'm after full coverage of the Smartsheet API accessible via a nice Python SDK. We're quite a long ways from that today.
For now, this wiki is focused on discussions of design choices that need to be made.
In order to make dynamic editing of a sheet simple and performant (for the user of the SDK), it is my intent for the SDK to accumulate changes, and then commit them when .save()
is called. If .save()
is called at "sheet-level", then any changed records will be saved. However, if several Rows in a sheet have been changed, but .save()
is called on a single one of those Rows, only the Cells on that Row will be saved. Likewise, if many Cells have been changed, but .save()
is only called on one of them, then only that Cell will be saved.
To make this work, the Sheet
, SheetRows
, Row
, and Cell
objects all need to have some notion of whether or not they, or an object "contained" by them, has been changed and should be stored when .save()
is called. Notionally, I'm using a dirty flag to track this.