omnata-plugin-runtime 0.4.9a106__py3-none-any.whl → 0.4.10__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -688,6 +688,10 @@ class OutboundSyncRequest(SyncRequest):
688
688
  results_df["APP_IDENTIFIER"] = None
689
689
  if "LOADBATCH_ID" not in results_df:
690
690
  results_df["LOADBATCH_ID"] = self._get_next_loadbatch_id()
691
+ # we dump the result data to a json string to make uploading to Snowflake less error prone, but only if it's not None
692
+ results_df["RESULT"] = results_df["RESULT"].apply(
693
+ lambda x: json.dumps(x) if x is not None else None
694
+ )
691
695
  # trim out the columns we don't need to return
692
696
  return results_df[
693
697
  results_df.columns.intersection(
@@ -747,6 +751,12 @@ class OutboundSyncRequest(SyncRequest):
747
751
  data_frame["TRANSFORMED_RECORD"] = data_frame[
748
752
  "TRANSFORMED_RECORD"
749
753
  ].apply(json.loads)
754
+ # we also perform json.loads on TRANSFORMED_RECORD_PREVIOUS, but only if it's not null
755
+ data_frame["TRANSFORMED_RECORD_PREVIOUS"] = data_frame[
756
+ "TRANSFORMED_RECORD_PREVIOUS"
757
+ ].apply(
758
+ lambda x: json.loads(x) if x is not None else None
759
+ )
750
760
  except TypeError as type_error:
751
761
  logger.error(
752
762
  "Error parsing transformed record output as JSON", exc_info=True
@@ -838,7 +848,7 @@ class OutboundSyncRequest(SyncRequest):
838
848
  self._session.table(self._full_records_table_name)
839
849
  .filter((col("SYNC_ACTION").in_(sync_action_names))) # type: ignore
840
850
  .select(
841
- col("IDENTIFIER"),col("APP_IDENTIFIER"),col("RESULT"), col("SYNC_ACTION"), col("TRANSFORMED_RECORD")
851
+ col("IDENTIFIER"),col("APP_IDENTIFIER"),col("RESULT"), col("SYNC_ACTION"), col("TRANSFORMED_RECORD"), col("TRANSFORMED_RECORD_PREVIOUS")
842
852
  )
843
853
  )
844
854
  # apply sorting
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.4.9a106
3
+ Version: 0.4.10
4
4
  Summary: Classes and common runtime components for building and running Omnata Plugins
5
5
  Author: James Weakley
6
6
  Author-email: james.weakley@omnata.com
@@ -3,10 +3,10 @@ omnata_plugin_runtime/api.py,sha256=W79CsAcl127Dzy-XVS9CzvzsbS3IigVH4QAhFFDkaXg,
3
3
  omnata_plugin_runtime/configuration.py,sha256=7cMekoY8CeZAJHpASU6tCMidF55Hzfr7CD74jtebqIY,35742
4
4
  omnata_plugin_runtime/forms.py,sha256=pw_aKVsXSz47EP8PFBI3VDwdSN5IjvZxp8JTjO1V130,18421
5
5
  omnata_plugin_runtime/logging.py,sha256=bn7eKoNWvtuyTk7RTwBS9UARMtqkiICtgMtzq3KA2V0,3272
6
- omnata_plugin_runtime/omnata_plugin.py,sha256=QyqrEgdJcMqd5UtcnQyFlencqVExq3EqydVudQmI7aM,110348
6
+ omnata_plugin_runtime/omnata_plugin.py,sha256=SKdtUOsJWVG-WtartrdSxOJUPfZrnmp0sf0WQduj7gk,110997
7
7
  omnata_plugin_runtime/plugin_entrypoints.py,sha256=JAGEdVcy9QEXv7TO5zt7co64LTP8nqGusOc0sJG9GtU,29149
8
8
  omnata_plugin_runtime/rate_limiting.py,sha256=BOxyjERDG46iPY7coYu79jdZ9JqHMYPG-BNyXYOIJmk,24678
9
- omnata_plugin_runtime-0.4.9a106.dist-info/LICENSE,sha256=IMF9i4xIpgCADf0U-V1cuf9HBmqWQd3qtI3FSuyW4zE,26526
10
- omnata_plugin_runtime-0.4.9a106.dist-info/METADATA,sha256=zzwQGMTKZoQL3MZ7SwqIxCV5gZTBQOfonmcx68HQsTg,1642
11
- omnata_plugin_runtime-0.4.9a106.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
12
- omnata_plugin_runtime-0.4.9a106.dist-info/RECORD,,
9
+ omnata_plugin_runtime-0.4.10.dist-info/LICENSE,sha256=IMF9i4xIpgCADf0U-V1cuf9HBmqWQd3qtI3FSuyW4zE,26526
10
+ omnata_plugin_runtime-0.4.10.dist-info/METADATA,sha256=ASIQ_HXuaI6-OPoVYlOdm9YIxQa76jk_T2ahGsu3q94,1639
11
+ omnata_plugin_runtime-0.4.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
12
+ omnata_plugin_runtime-0.4.10.dist-info/RECORD,,