velocity-python 0.0.149__tar.gz → 0.0.150__tar.gz

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.
Files changed (136) hide show
  1. {velocity_python-0.0.149 → velocity_python-0.0.150}/PKG-INFO +2 -2
  2. {velocity_python-0.0.149 → velocity_python-0.0.150}/README.md +1 -1
  3. {velocity_python-0.0.149 → velocity_python-0.0.150}/pyproject.toml +1 -1
  4. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/__init__.py +1 -1
  5. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/orders.py +1 -3
  6. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/row.py +12 -2
  7. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity_python.egg-info/PKG-INFO +2 -2
  8. {velocity_python-0.0.149 → velocity_python-0.0.150}/LICENSE +0 -0
  9. {velocity_python-0.0.149 → velocity_python-0.0.150}/setup.cfg +0 -0
  10. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/__init__.py +0 -0
  11. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/invoices.py +0 -0
  12. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/payments.py +0 -0
  13. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/purchase_orders.py +0 -0
  14. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/tests/__init__.py +0 -0
  15. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/tests/test_email_processing.py +0 -0
  16. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/tests/test_payment_profile_sorting.py +0 -0
  17. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/app/tests/test_spreadsheet_functions.py +0 -0
  18. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/__init__.py +0 -0
  19. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/amplify.py +0 -0
  20. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/__init__.py +0 -0
  21. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/base_handler.py +0 -0
  22. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/context.py +0 -0
  23. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/exceptions.py +0 -0
  24. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/lambda_handler.py +0 -0
  25. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/mixins/__init__.py +0 -0
  26. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/mixins/activity_tracker.py +0 -0
  27. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/mixins/aws_session_mixin.py +0 -0
  28. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/mixins/error_handler.py +0 -0
  29. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/mixins/legacy_mixin.py +0 -0
  30. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/mixins/standard_mixin.py +0 -0
  31. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/response.py +0 -0
  32. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/handlers/sqs_handler.py +0 -0
  33. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/tests/__init__.py +0 -0
  34. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/tests/test_lambda_handler_json_serialization.py +0 -0
  35. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/aws/tests/test_response.py +0 -0
  36. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/__init__.py +0 -0
  37. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/__init__.py +0 -0
  38. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/column.py +0 -0
  39. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/database.py +0 -0
  40. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/decorators.py +0 -0
  41. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/engine.py +0 -0
  42. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/result.py +0 -0
  43. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/sequence.py +0 -0
  44. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/table.py +0 -0
  45. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/core/transaction.py +0 -0
  46. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/exceptions.py +0 -0
  47. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/__init__.py +0 -0
  48. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/base/__init__.py +0 -0
  49. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/base/initializer.py +0 -0
  50. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/base/operators.py +0 -0
  51. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/base/sql.py +0 -0
  52. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/base/types.py +0 -0
  53. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/mysql/__init__.py +0 -0
  54. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/mysql/operators.py +0 -0
  55. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/mysql/reserved.py +0 -0
  56. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/mysql/sql.py +0 -0
  57. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/mysql/types.py +0 -0
  58. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/postgres/__init__.py +0 -0
  59. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/postgres/operators.py +0 -0
  60. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/postgres/reserved.py +0 -0
  61. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/postgres/sql.py +0 -0
  62. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/postgres/types.py +0 -0
  63. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlite/__init__.py +0 -0
  64. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlite/operators.py +0 -0
  65. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlite/reserved.py +0 -0
  66. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlite/sql.py +0 -0
  67. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlite/types.py +0 -0
  68. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlserver/__init__.py +0 -0
  69. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlserver/operators.py +0 -0
  70. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlserver/reserved.py +0 -0
  71. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlserver/sql.py +0 -0
  72. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/sqlserver/types.py +0 -0
  73. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/servers/tablehelper.py +0 -0
  74. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/__init__.py +0 -0
  75. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/common_db_test.py +0 -0
  76. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/__init__.py +0 -0
  77. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/common.py +0 -0
  78. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_column.py +0 -0
  79. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_connections.py +0 -0
  80. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_database.py +0 -0
  81. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_engine.py +0 -0
  82. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_general_usage.py +0 -0
  83. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_imports.py +0 -0
  84. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_result.py +0 -0
  85. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_row.py +0 -0
  86. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_row_comprehensive.py +0 -0
  87. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_schema_locking.py +0 -0
  88. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_schema_locking_unit.py +0 -0
  89. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_sequence.py +0 -0
  90. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_sql_comprehensive.py +0 -0
  91. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_table.py +0 -0
  92. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_table_comprehensive.py +0 -0
  93. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/postgres/test_transaction.py +0 -0
  94. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/sql/__init__.py +0 -0
  95. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/sql/common.py +0 -0
  96. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/sql/test_postgres_select_advanced.py +0 -0
  97. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/sql/test_postgres_select_variances.py +0 -0
  98. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_cursor_rowcount_fix.py +0 -0
  99. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_db_utils.py +0 -0
  100. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_postgres.py +0 -0
  101. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_postgres_unchanged.py +0 -0
  102. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_process_error_robustness.py +0 -0
  103. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_result_caching.py +0 -0
  104. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_result_sql_aware.py +0 -0
  105. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_row_get_missing_column.py +0 -0
  106. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_schema_locking_initializers.py +0 -0
  107. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_schema_locking_simple.py +0 -0
  108. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_sql_builder.py +0 -0
  109. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/tests/test_tablehelper.py +0 -0
  110. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/db/utils.py +0 -0
  111. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/__init__.py +0 -0
  112. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/conv/__init__.py +0 -0
  113. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/conv/iconv.py +0 -0
  114. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/conv/oconv.py +0 -0
  115. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/db.py +0 -0
  116. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/export.py +0 -0
  117. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/format.py +0 -0
  118. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/mail.py +0 -0
  119. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/merge.py +0 -0
  120. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/__init__.py +0 -0
  121. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_db.py +0 -0
  122. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_fix.py +0 -0
  123. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_format.py +0 -0
  124. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_iconv.py +0 -0
  125. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_merge.py +0 -0
  126. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_oconv.py +0 -0
  127. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_original_error.py +0 -0
  128. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tests/test_timer.py +0 -0
  129. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/timer.py +0 -0
  130. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity/misc/tools.py +0 -0
  131. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity_python.egg-info/SOURCES.txt +0 -0
  132. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity_python.egg-info/dependency_links.txt +0 -0
  133. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity_python.egg-info/requires.txt +0 -0
  134. {velocity_python-0.0.149 → velocity_python-0.0.150}/src/velocity_python.egg-info/top_level.txt +0 -0
  135. {velocity_python-0.0.149 → velocity_python-0.0.150}/tests/test_sys_modified_count_postgres_demo.py +0 -0
  136. {velocity_python-0.0.149 → velocity_python-0.0.150}/tests/test_where_clause_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: velocity-python
3
- Version: 0.0.149
3
+ Version: 0.0.150
4
4
  Summary: A rapid application development library for interfacing with data storage
5
5
  Author-email: Velocity Team <info@codeclubs.org>
6
6
  License-Expression: MIT
@@ -497,7 +497,7 @@ def update_user(tx):
497
497
  # Find and update using dictionary syntax
498
498
  user = users.find(123) # Returns a row that behaves like a dict
499
499
  user['name'] = 'Updated Name' # Direct assignment like a dict
500
- user['updated_at'] = datetime.now() # No special methods needed
500
+ user['important_date'] = datetime.now() # No special methods needed
501
501
 
502
502
  # Check if columns exist before updating
503
503
  if 'phone' in user:
@@ -447,7 +447,7 @@ def update_user(tx):
447
447
  # Find and update using dictionary syntax
448
448
  user = users.find(123) # Returns a row that behaves like a dict
449
449
  user['name'] = 'Updated Name' # Direct assignment like a dict
450
- user['updated_at'] = datetime.now() # No special methods needed
450
+ user['important_date'] = datetime.now() # No special methods needed
451
451
 
452
452
  # Check if columns exist before updating
453
453
  if 'phone' in user:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "velocity-python"
7
- version = "0.0.149"
7
+ version = "0.0.150"
8
8
  authors = [
9
9
  { name="Velocity Team", email="info@codeclubs.org" },
10
10
  ]
@@ -1,4 +1,4 @@
1
- __version__ = version = "0.0.149"
1
+ __version__ = version = "0.0.150"
2
2
 
3
3
  from . import aws
4
4
  from . import db
@@ -115,9 +115,7 @@ class Order:
115
115
  for key, default in defaults.items():
116
116
  if key not in target:
117
117
  target[key] = default() if callable(default) else default
118
- elif key == "updated_at":
119
- # Always update updated_at if present
120
- target[key] = default() if callable(default) else default
118
+
121
119
 
122
120
  def _validate(self):
123
121
  self._apply_defaults()
@@ -44,7 +44,12 @@ class Row:
44
44
  def __setitem__(self, key, val):
45
45
  if key in self.pk:
46
46
  raise Exception("Cannot update a primary key.")
47
- self.table.upsert({key: val}, self.pk)
47
+ if hasattr(self.table, "updins"):
48
+ self.table.updins({key: val}, self.pk)
49
+ elif hasattr(self.table, "upsert"):
50
+ self.table.upsert({key: val}, self.pk)
51
+ else:
52
+ self.table.update({key: val}, self.pk)
48
53
 
49
54
  def __delitem__(self, key):
50
55
  if key in self.pk:
@@ -121,7 +126,12 @@ class Row:
121
126
  if kwds:
122
127
  data.update(kwds)
123
128
  if data:
124
- self.table.upsert(data, self.pk)
129
+ if hasattr(self.table, "updins"):
130
+ self.table.updins(data, self.pk)
131
+ elif hasattr(self.table, "upsert"):
132
+ self.table.upsert(data, self.pk)
133
+ else:
134
+ self.table.update(data, self.pk)
125
135
  return self
126
136
 
127
137
  def __cmp__(self, other):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: velocity-python
3
- Version: 0.0.149
3
+ Version: 0.0.150
4
4
  Summary: A rapid application development library for interfacing with data storage
5
5
  Author-email: Velocity Team <info@codeclubs.org>
6
6
  License-Expression: MIT
@@ -497,7 +497,7 @@ def update_user(tx):
497
497
  # Find and update using dictionary syntax
498
498
  user = users.find(123) # Returns a row that behaves like a dict
499
499
  user['name'] = 'Updated Name' # Direct assignment like a dict
500
- user['updated_at'] = datetime.now() # No special methods needed
500
+ user['important_date'] = datetime.now() # No special methods needed
501
501
 
502
502
  # Check if columns exist before updating
503
503
  if 'phone' in user: