velocity-python 0.1.41__tar.gz → 0.1.43__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.
- {velocity_python-0.1.41/src/velocity_python.egg-info → velocity_python-0.1.43}/PKG-INFO +1 -1
- {velocity_python-0.1.41 → velocity_python-0.1.43}/pyproject.toml +1 -1
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/__init__.py +1 -1
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/table.py +14 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/authorizenet_adapter.py +4 -4
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/authorizenet_mirror.py +2 -2
- {velocity_python-0.1.41 → velocity_python-0.1.43/src/velocity_python.egg-info}/PKG-INFO +1 -1
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_payment_authorizenet_adapter.py +2 -2
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_table_alter.py +17 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/LICENSE +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/README.md +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/setup.cfg +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/amplify.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/amplify_build.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/assets/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/assets/backfill.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/assets/indexing.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/assets/references.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/assets/service.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/assets/usage_index.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/dirty_pipeline.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/base_handler.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/context.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/context_factory.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/exceptions.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/lambda_handler.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/mixins/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/mixins/data_service.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/mixins/web_handler.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/perf.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/response.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/sqs_handler.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/s3.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/ssm_config.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/tests/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/tests/test_base_handler_error_response.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/tests/test_lambda_handler_json_serialization.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/tests/test_response.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/async_support.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/column.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/database.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/decorators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/engine.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/result.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/row.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/sequence.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/transaction.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/core/view.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/exceptions.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/migrations.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/base/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/base/initializer.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/base/operators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/base/sql.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/base/types.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/mysql/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/mysql/operators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/mysql/reserved.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/mysql/sql.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/mysql/types.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/operators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/reserved.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/sql.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/types.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/operators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/reserved.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/sql.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/types.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/operators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/reserved.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/sql.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/types.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/tablehelper.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/common_db_test.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/common.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_column.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_connections.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_database.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_engine.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_general_usage.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_imports.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_result.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_row.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_row_comprehensive.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_schema_locking.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_schema_locking_unit.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_sequence.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_sql_comprehensive.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_table.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_table_comprehensive.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_transaction.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/sql/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/sql/common.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/sql/test_postgres_select_advanced.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/sql/test_postgres_select_variances.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_cursor_rowcount_fix.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_db_utils.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_postgres.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_postgres_unchanged.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_process_error_robustness.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_result_caching.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_result_sql_aware.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_row_get_missing_column.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_schema_locking_initializers.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_schema_locking_simple.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_sql_builder.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_tablehelper.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_view_helper.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/utils.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/logging.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/conv/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/conv/iconv.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/conv/oconv.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/db.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/export.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/format.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/mail.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/merge.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/pdf.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_db.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_fix.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_format.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_iconv.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_merge.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_oconv.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_original_error.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_timer.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/timer.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tools.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/__init__.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/base_adapter.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/braintree_adapter.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/braintree_mirror.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/charge_rules.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/stripe_adapter.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/stripe_mirror.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/SOURCES.txt +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/dependency_links.txt +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/entry_points.txt +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/requires.txt +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/top_level.txt +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_amplify_build.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_asset_indexing.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_asset_references.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_assets_service.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_async_support.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_batch_operations.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_concurrency_safety.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_connection_pool.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_connection_resilience.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_context_job_descriptions.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_decorators.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_dirty_pipeline_fast_path.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_email_processing.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_iconv_money_to_cents.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_lambda_handler.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_lambda_handler_auth.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_mixins_import.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_n_plus_one.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_observability.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_payment_braintree_adapter.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_payment_braintree_mirror.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_payment_profile_sorting.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_payment_stripe_adapter.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_pdf.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_prepared_statements.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_psycopg3_upgrade.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_query_cache.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_row_batch_update.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_row_cache_staleness.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_row_dirty_tracking.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_schema_migrations.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_security_hardening.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_server_cursor.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_spreadsheet_functions.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_sqs_per_record_transactions.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_sys_modified_count_postgres_demo.py +0 -0
- {velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_where_clause_validation.py +0 -0
|
@@ -211,12 +211,26 @@ def _extract_parenthesized(text, start_index):
|
|
|
211
211
|
raise ValueError(f"Unbalanced parentheses in SQL fragment: {text}")
|
|
212
212
|
|
|
213
213
|
|
|
214
|
+
def _strip_redundant_outer_parens(text):
|
|
215
|
+
value = str(text or "").strip()
|
|
216
|
+
while value.startswith("(") and value.endswith(")"):
|
|
217
|
+
try:
|
|
218
|
+
inner, closing_index = _extract_parenthesized(value, 0)
|
|
219
|
+
except ValueError:
|
|
220
|
+
break
|
|
221
|
+
if closing_index != len(value) - 1:
|
|
222
|
+
break
|
|
223
|
+
value = inner.strip()
|
|
224
|
+
return value
|
|
225
|
+
|
|
226
|
+
|
|
214
227
|
def _normalize_index_expression(expression):
|
|
215
228
|
normalized = str(expression or "").strip().replace('"', "")
|
|
216
229
|
normalized = re.sub(r"::[a-zA-Z0-9_\[\]\s\.]+", "", normalized)
|
|
217
230
|
normalized = re.sub(r"\s+", " ", normalized)
|
|
218
231
|
normalized = re.sub(r"\(\s+", "(", normalized)
|
|
219
232
|
normalized = re.sub(r"\s+\)", ")", normalized)
|
|
233
|
+
normalized = _strip_redundant_outer_parens(normalized)
|
|
220
234
|
return normalized.strip().lower()
|
|
221
235
|
|
|
222
236
|
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/authorizenet_adapter.py
RENAMED
|
@@ -482,8 +482,8 @@ class AuthorizeNetAdapter(PaymentProcessorAdapter):
|
|
|
482
482
|
"reason_for_transaction": payment_data.get("description"),
|
|
483
483
|
"remote_authcode": trans.get("authCode"),
|
|
484
484
|
"remote_responsecode": code,
|
|
485
|
-
"
|
|
486
|
-
"
|
|
485
|
+
"client_id": payment_data.get("client_id"),
|
|
486
|
+
"campaign": payment_data.get("description"),
|
|
487
487
|
"email_address": payment_data.get("customer_email")
|
|
488
488
|
or payment_data.get("donor_email"),
|
|
489
489
|
"raw_payload": response,
|
|
@@ -607,8 +607,8 @@ class AuthorizeNetAdapter(PaymentProcessorAdapter):
|
|
|
607
607
|
"reason_for_transaction": order.description if client_id or campaign else None,
|
|
608
608
|
"remote_authcode": trans.get("authCode"),
|
|
609
609
|
"remote_responsecode": code,
|
|
610
|
-
"
|
|
611
|
-
"
|
|
610
|
+
"client_id": client_id or None,
|
|
611
|
+
"campaign": campaign or None,
|
|
612
612
|
"email_address": payment_data.get("customer_email")
|
|
613
613
|
or payment_data.get("donor_email"),
|
|
614
614
|
"raw_payload": response,
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/payment/authorizenet_mirror.py
RENAMED
|
@@ -203,8 +203,8 @@ def upsert_authorize_transaction_record(
|
|
|
203
203
|
"reason_for_transaction": _get_value(transaction, "reason_for_transaction"),
|
|
204
204
|
"remote_authcode": _get_value(transaction, "remote_authcode"),
|
|
205
205
|
"remote_responsecode": _get_value(transaction, "remote_responsecode"),
|
|
206
|
-
"
|
|
207
|
-
"
|
|
206
|
+
"client_id": _get_value(transaction, "client_id"),
|
|
207
|
+
"campaign": _get_value(transaction, "campaign"),
|
|
208
208
|
"email_address": _get_value(transaction, "email_address"),
|
|
209
209
|
"reconcile_response": _json_dumps(_get_value(transaction, "raw_payload") or transaction),
|
|
210
210
|
}
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_payment_authorizenet_adapter.py
RENAMED
|
@@ -157,8 +157,8 @@ def test_authorize_payment_upserts_authorize_transaction_mirror(adapter, monkeyp
|
|
|
157
157
|
"reason_for_transaction": "Campaign X",
|
|
158
158
|
"remote_authcode": "AUTH123",
|
|
159
159
|
"remote_responsecode": 1,
|
|
160
|
-
"
|
|
161
|
-
"
|
|
160
|
+
"client_id": 77,
|
|
161
|
+
"campaign": "Campaign X",
|
|
162
162
|
"email_address": "ada@example.com",
|
|
163
163
|
"raw_payload": {
|
|
164
164
|
"transactionResponse": {
|
|
@@ -2,6 +2,7 @@ import datetime
|
|
|
2
2
|
import unittest
|
|
3
3
|
from unittest.mock import MagicMock
|
|
4
4
|
|
|
5
|
+
from velocity.db.core.table import _parse_index_signature
|
|
5
6
|
from velocity.db.core.table import Table
|
|
6
7
|
from velocity.db import exceptions
|
|
7
8
|
from velocity.db.servers.postgres import types as postgres_types
|
|
@@ -541,6 +542,22 @@ class TableAlterTests(unittest.TestCase):
|
|
|
541
542
|
indexes=[{"name": "users_status_idx", "columns": ["status"], "unique": True}]
|
|
542
543
|
)
|
|
543
544
|
|
|
545
|
+
def test_parse_index_signature_ignores_redundant_where_parentheses(self):
|
|
546
|
+
existing = (
|
|
547
|
+
"CREATE UNIQUE INDEX idx_invoices_invoice_number "
|
|
548
|
+
"ON public.invoices USING btree (invoice_number) "
|
|
549
|
+
"WHERE (invoice_number IS NOT NULL)"
|
|
550
|
+
)
|
|
551
|
+
desired = (
|
|
552
|
+
"CREATE UNIQUE INDEX idx_invoices_invoice_number "
|
|
553
|
+
"ON invoices (invoice_number) WHERE invoice_number IS NOT NULL"
|
|
554
|
+
)
|
|
555
|
+
|
|
556
|
+
self.assertEqual(
|
|
557
|
+
_parse_index_signature(existing),
|
|
558
|
+
_parse_index_signature(desired),
|
|
559
|
+
)
|
|
560
|
+
|
|
544
561
|
|
|
545
562
|
if __name__ == "__main__":
|
|
546
563
|
unittest.main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/context_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/lambda_handler.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/mixins/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/mixins/data_service.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/aws/handlers/mixins/web_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/base/initializer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/mysql/operators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/postgres/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlite/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/servers/sqlserver/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_column.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_connections.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_database.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_imports.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_result.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_row.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_sequence.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_table.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/postgres/test_transaction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_cursor_rowcount_fix.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_postgres_unchanged.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_result_caching.py
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/db/tests/test_result_sql_aware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity/misc/tests/test_original_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/src/velocity_python.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.41 → velocity_python-0.1.43}/tests/test_sys_modified_count_postgres_demo.py
RENAMED
|
File without changes
|
|
File without changes
|