omnata-plugin-runtime 0.10.7a247__py3-none-any.whl → 0.10.7a249__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -505,39 +505,44 @@ class InboundSyncStreamsConfiguration(SubscriptableBaseModel):
505
505
  @model_validator(mode='before')
506
506
  @classmethod
507
507
  def migrate_bulk_configuration(cls, data: Any) -> Any:
508
- if 'sync_strategy_bulk_configuration' in data or 'storage_behaviour_bulk_configuration' in data:
508
+ if 'sync_strategy_bulk_configuration' in data \
509
+ and data['sync_strategy_bulk_configuration'] is not None \
510
+ and 'storage_behaviour_bulk_configuration' in data \
511
+ and data['storage_behaviour_bulk_configuration'] is not None:
509
512
  return data
510
- if 'bulk_configuration' in data:
511
- # Recently deprecated values
512
- # AUTO_MERGE = "Auto / Merge changes" # Merge
513
- # AUTO_APPEND = "Auto / Keep history" # Append
514
- # CUSTOMIZE = "Customize - choose sync behaviours for each object"
515
- # Deprecated longer ago
516
- # ALL_FULL_REPLACE = "All Objects - Full refresh / Replace"
517
- # ALL_FULL_APPEND = "All Objects - Full refresh / Append"
518
- # ALL_INCR_MERGE = "All Objects - Incremental / Merge"
519
- # ALL_INCR_APPEND = "All Objects - Incremental / Append"
520
- if data['bulk_configuration']== InboundSyncBulkConfiguration.AUTO_MERGE.value:
521
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
522
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
523
- elif data['bulk_configuration']== InboundSyncBulkConfiguration.AUTO_APPEND.value:
524
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
525
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
526
- elif data['bulk_configuration']== InboundSyncBulkConfiguration.CUSTOMIZE.value:
527
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
528
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MANUAL.value
529
- elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_FULL_REPLACE.value:
530
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
531
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
532
- elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_FULL_APPEND.value:
533
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
534
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
535
- elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_INCR_MERGE.value:
536
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
537
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
538
- elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_INCR_APPEND.value:
539
- data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
540
- data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
513
+ if 'bulk_configuration' not in data:
514
+ # This was previously a default value
515
+ data['bulk_configuration'] = InboundSyncBulkConfiguration.CUSTOMIZE.value
516
+ # Recently deprecated values
517
+ # AUTO_MERGE = "Auto / Merge changes" # Merge
518
+ # AUTO_APPEND = "Auto / Keep history" # Append
519
+ # CUSTOMIZE = "Customize - choose sync behaviours for each object"
520
+ # Deprecated longer ago
521
+ # ALL_FULL_REPLACE = "All Objects - Full refresh / Replace"
522
+ # ALL_FULL_APPEND = "All Objects - Full refresh / Append"
523
+ # ALL_INCR_MERGE = "All Objects - Incremental / Merge"
524
+ # ALL_INCR_APPEND = "All Objects - Incremental / Append"
525
+ if data['bulk_configuration']== InboundSyncBulkConfiguration.AUTO_MERGE.value:
526
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
527
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
528
+ elif data['bulk_configuration']== InboundSyncBulkConfiguration.AUTO_APPEND.value:
529
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
530
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
531
+ elif data['bulk_configuration']== InboundSyncBulkConfiguration.CUSTOMIZE.value:
532
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
533
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MANUAL.value
534
+ elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_FULL_REPLACE.value:
535
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
536
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
537
+ elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_FULL_APPEND.value:
538
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
539
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
540
+ elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_INCR_MERGE.value:
541
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
542
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
543
+ elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_INCR_APPEND.value:
544
+ data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
545
+ data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
541
546
  # remove this once the old UI is deprecated
542
547
  #del data['bulk_configuration']
543
548
  return data
@@ -251,6 +251,13 @@ class SnowflakeViewColumn(BaseModel):
251
251
 
252
252
  # Collect columns to be moved
253
253
  columns_to_move:List[Self] = []
254
+ # Collect Omnata System columns and keep them at the front
255
+ omnata_system_columns = []
256
+ for column in join_columns[:]:
257
+ if column.original_name.startswith("OMNATA_"):
258
+ join_columns.remove(column)
259
+ omnata_system_columns.append(column)
260
+
254
261
  for column in join_columns:
255
262
  for other_column in join_columns:
256
263
  if f'"{column.original_name}"' in other_column.expression:
@@ -261,7 +268,7 @@ class SnowflakeViewColumn(BaseModel):
261
268
  for column in columns_to_move:
262
269
  join_columns.remove(column)
263
270
  join_columns.insert(0, column)
264
- return join_columns
271
+ return omnata_system_columns + join_columns
265
272
 
266
273
 
267
274
  class SnowflakeViewJoin(BaseModel):
@@ -369,13 +376,13 @@ class SnowflakeViewPart(BaseModel):
369
376
  """
370
377
  Returns the columns that are not sourced from joins.
371
378
  """
372
- return SnowflakeViewColumn.order_by_reference([c for c in self.columns if not c.is_join_column])
379
+ return [c for c in self.columns if not c.is_join_column]
373
380
 
374
381
  def join_columns(self) -> List[SnowflakeViewColumn]:
375
382
  """
376
383
  Returns the columns that are sourced from joins.
377
384
  """
378
- return SnowflakeViewColumn.order_by_reference([c for c in self.columns if c.is_join_column])
385
+ return [c for c in self.columns if c.is_join_column]
379
386
 
380
387
  def comment_clause(self) -> str:
381
388
  """
@@ -431,12 +438,16 @@ class SnowflakeViewParts(BaseModel):
431
438
  final_cte = f""" OMNATA_FINAL_CTE as (
432
439
  select {', '.join(
433
440
  [
434
- f'"{c.original_name}"' for c in self.main_part.direct_columns()
441
+ f'"{self.main_part.stream_name}"."{c.original_name}"' for c in self.main_part.direct_columns()
435
442
  ]+[
436
443
  c.definition(original_name=True) for c in self.main_part.join_columns()
437
444
  ])}
438
- from "{self.main_part.stream_name}"
439
- ) """
445
+ from "{self.main_part.stream_name}" """
446
+ if len(self.main_part.joins) > 0:
447
+ join_clauses = [join.definition() for join in self.main_part.joins]
448
+ final_cte += "\n" + ("\n".join(join_clauses))
449
+ final_cte += ")"
450
+
440
451
  ctes.append(final_cte)
441
452
  all_ctes = "\n,".join(ctes)
442
453
  main_columns:List[SnowflakeViewColumn] = SnowflakeViewColumn.order_by_reference(self.main_part.direct_columns() +
@@ -447,9 +458,7 @@ class SnowflakeViewParts(BaseModel):
447
458
  view_body = f"""with {all_ctes}
448
459
  select {', '.join(column_clauses)}
449
460
  from OMNATA_FINAL_CTE """
450
- if len(self.main_part.joins) > 0:
451
- join_clauses = [join.definition() for join in self.main_part.joins]
452
- view_body += "\n" + ("\n".join(join_clauses))
461
+
453
462
  return view_body
454
463
 
455
464
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.10.7a247
3
+ Version: 0.10.7a249
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
@@ -1,13 +1,13 @@
1
1
  omnata_plugin_runtime/__init__.py,sha256=MS9d1whnfT_B3-ThqZ7l63QeC_8OEKTuaYV5wTwRpBA,1576
2
2
  omnata_plugin_runtime/api.py,sha256=baGraSMiD4Yvi3ZWrEv_TKh8Ktd1U8riBdOpe9j0Puw,8202
3
- omnata_plugin_runtime/configuration.py,sha256=m2a4HrqJjezjmnrnuOjUxnUzzj1bq1wy3PM-uaAnagg,46561
3
+ omnata_plugin_runtime/configuration.py,sha256=0rfIGv8rCu8OwL7m-VOXIBjd05iyaBWRdt2h9o6scwo,46754
4
4
  omnata_plugin_runtime/forms.py,sha256=9YHJ_T17lT-rwyDaUg_0yj_YMPda4DRCw_wrvf8hE0E,19964
5
- omnata_plugin_runtime/json_schema.py,sha256=0_9V-7nmNemgNxnvKPfK72RmBiQGex-bmAkPsiAgMi4,30370
5
+ omnata_plugin_runtime/json_schema.py,sha256=HOLJgP4LdfhtWb9BnIZtvgRngbhttTtX5CX0h_6E3Ts,30668
6
6
  omnata_plugin_runtime/logging.py,sha256=WBuZt8lF9E5oFWM4KYQbE8dDJ_HctJ1pN3BHwU6rcd0,4461
7
7
  omnata_plugin_runtime/omnata_plugin.py,sha256=M0b6f9lKKEoEI0zf-ZwZcIPKPQTmHTIMhvcrBc94Mhg,133278
8
8
  omnata_plugin_runtime/plugin_entrypoints.py,sha256=iqGl8_nEEnPGKg3Aem4YLSQ6d5xS3ju5gq8MJbx6sCA,31968
9
9
  omnata_plugin_runtime/rate_limiting.py,sha256=qpr5esU4Ks8hMzuMpSR3gLFdor2ZUXYWCjmsQH_K6lQ,25882
10
- omnata_plugin_runtime-0.10.7a247.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
11
- omnata_plugin_runtime-0.10.7a247.dist-info/METADATA,sha256=sJxO4CkbkVLqLx0fTguhvInAFV-ZHjv58P_Bb6poV6o,2211
12
- omnata_plugin_runtime-0.10.7a247.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
13
- omnata_plugin_runtime-0.10.7a247.dist-info/RECORD,,
10
+ omnata_plugin_runtime-0.10.7a249.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
11
+ omnata_plugin_runtime-0.10.7a249.dist-info/METADATA,sha256=-Mp6ds2rnMMVbAtfwYe7ejmFFq9vRnL9b2B6K4i2oqw,2211
12
+ omnata_plugin_runtime-0.10.7a249.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
13
+ omnata_plugin_runtime-0.10.7a249.dist-info/RECORD,,