csvpath 0.0.608__tar.gz → 0.0.609__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.
- {csvpath-0.0.608 → csvpath-0.0.609}/PKG-INFO +1 -1
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/webhook/webhook_listener.py +55 -28
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/results_manager.py +16 -1
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/config_env.py +10 -17
- {csvpath-0.0.608 → csvpath-0.0.609}/pyproject.toml +1 -1
- {csvpath-0.0.608 → csvpath-0.0.609}/LICENSE +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/README.md +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/.DS_Store +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/config.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/extra-functions.imports +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/function.imports +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-azure.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-filesystem-mysql.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-gcs.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-s3.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-sftp.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-azure.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-gcs.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-local.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-s3.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-sftp.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/.DS_Store +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/Mac.goenvironment.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/Windows.goenvironment.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/azure-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/azure.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/gcs.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/google-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/local-pipeline.gopipeline copy.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/local.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/s3-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/s3.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/sftp-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/sftp.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/azure.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/gcs.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/local.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/s3.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/sftp.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-azure.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-gcs.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-local.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-s3.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-sftp.gopipeline.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/.DS_Store +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_auto_arrival.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_auto_arrival.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_auto_arrival.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_mailbox_arrival.bat +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_mailbox_arrival.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_mailbox_arrival.sh +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sqlite/csvpath +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sqlite/schema.sql +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.25-py3-none-any.whl +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.27-py3-none-any.whl +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.28-py3-none-any.whl +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.29-py3-none-any.whl +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.30.tar.gz +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.31.tar.gz +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.33.tar.gz +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.34.tar.gz +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.35.tar.gz +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/config/config.ini +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/config/env.json +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/asker.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/cli.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/const.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/debug_config.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/drill_down.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/function_describer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/function_lister.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/selecter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/csvpath.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/csvpaths.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error_collector.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error_comms.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error_manager.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_activator.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_describer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_manager.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_metadata.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_registrar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/files_activation_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/files_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/lines_and_headers_cacher.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/ckan.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/ckan_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/datafile.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/dataset.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/event.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/event_result.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/file_listener_ol.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/job.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/ol_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/paths_listener_ol.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/result_listener_ol.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/results_listener_ol.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/run.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/run_listener_ol.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/run_state.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/sender.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/error_metrics.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/metrics.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_error_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_file_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_paths_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_result_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_results_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/scripts/scripts_results_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftp/sftp_sender.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/arrival_handler.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/rpc.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/sftpplus_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/transfer_creator.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/transfers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/slack/event.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/slack/sender.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/engine.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_file_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_paths_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_result_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_results_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/tables.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/updates.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/schema.sql +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/webhook/webhook_results_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/metadata.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_describer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_manager.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_metadata.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_registrar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/registrar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_errors_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_lines_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_printouts_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_unmatched_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/readers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_file_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_metadata.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_registrar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_serializer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/results_metadata.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/results_registrar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/run/run_listener_stdout.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/run/run_metadata.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/run/run_registrar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/test_listener.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/args.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/args_helper.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/all.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/andf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/any.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/between.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/empty.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/exists.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/inf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/no.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/notf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/orf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/yes.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_bytes.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_headers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_lines.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_scans.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/counter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/every.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/has_matches.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/increment.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/tally.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/total_lines.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/dates/now.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/dates/part.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/dates/roll.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function_factory.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function_finder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function_focus.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/append.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/collect.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/empty_stack.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/end.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/header_name.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/header_names_mismatch.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/headers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/headers_stack.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/insert.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/line_before.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/mismatch.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/remove.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/rename.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/replace.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/reset_headers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/json/jsonpath.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/advance.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/after_blank.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/dups.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/first.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/first_line.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/last.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/stop.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/above.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/add.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/divide.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/equals.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/intf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/mod.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/multiply.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/odd.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/round.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/subtotal.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/subtract.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/sum.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/fingerprint.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/importf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/parquet.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/random.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/jinjaf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/print_line.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/print_queue.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/printf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/table.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/sql/sql_in.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/minf.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/nminmax.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/percent.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/percent_unique.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/stdev.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/alter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/caps.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/concat.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/contains.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/format.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/length.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/lower.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/metaphone.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/regex.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/starts_with.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/strip.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/substring.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/upper.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/testing/debug.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/blank.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/boolean.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/datatype.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/datef.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/decimal.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/email.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/nonef.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/string.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/type.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/url.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/wildcard.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/fail.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/failed.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/line.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/matches.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/percent_matching.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/clear.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/get.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/index_of.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/pushpop.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/put.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/slice.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/sort.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/track.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/variables.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/xml/xpath.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/lark_parser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/lark_transformer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/matcher.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/equality.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/expression.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/header.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/matchable.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/qualified.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/reference.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/term.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/variable.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/exceptions.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/expression_encoder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/expression_utility.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/lark_print_parser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/parquet_utility.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/print_parser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/runtime_data_collector.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/error_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/explain_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/files_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/logic_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/mode_controller.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/print_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/return_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/run_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/source_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/transfer_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/unmatched_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/validation_mode.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/__init__.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/scanner2.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/scanner2_parser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/scanner2_transformer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_data_writer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_fingerprinter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_json_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_nos.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_timing_policy.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_utils.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_xlsx_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/backend_check.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/box.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/cache.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/caser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/class_loader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/code.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/config.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/config_exception.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/date_util.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/exceptions.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_info.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_readers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_utility.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_writers.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_data_writer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_fingerprinter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_json_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_nos.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_utils.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_xlsx_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/hasher.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/http/http_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/intermediary.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/json/json_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/json/json_reader_helper.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/last_line_stats.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/line_counter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/line_monitor.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/line_spooler.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/log_utility.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/metadata_parser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/nos.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/pandas_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/path_util.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/printer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/py_file_utility.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/files_reference_finder_2.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/files_tools/fingerprint_finder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/files_tools/range_finder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/ref_utils.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_exceptions.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_grammar.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_manifest_entry_finder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_parser.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_results.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_transformer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_reference_finder_2.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/data_finder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/date_filter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/identity_finder.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/path_filter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/resolve_possibles.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/token_filters.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/yesterday_or_today_translator.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/tools/date_completer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/referrer_printer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/run_home_maker.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_data_writer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_fingerprinter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_json_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_nos.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_utils.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_xlsx_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_config.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_data_writer.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_fingerprinter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_json_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_nos.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_walk.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_xlsx_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sqliter.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/stopwatch.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/template_util.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/var_utility.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/xlsx/xlsx_data_reader.py +0 -0
- {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/xlsx/xlsx_reader_helper.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: csvpath
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.609
|
|
4
4
|
Summary: CsvPath Framework is a data preboarding automation library for receiving, validating, and tracking CSV, Excel, JSONL and other tabular data files before they can corrupt downstream data consumers.
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Author: David Kershaw
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/webhook/webhook_listener.py
RENAMED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import requests
|
|
2
2
|
import threading
|
|
3
|
+
import traceback
|
|
4
|
+
import json
|
|
3
5
|
|
|
4
6
|
from csvpath.managers.metadata import Metadata
|
|
5
7
|
from csvpath.managers.listener import Listener
|
|
6
8
|
from csvpath.matching.util.expression_utility import ExpressionUtility
|
|
9
|
+
from csvpath.util.file_writers import DataFileWriter
|
|
10
|
+
from csvpath.util.nos import Nos
|
|
7
11
|
|
|
8
12
|
#
|
|
9
13
|
# ~
|
|
@@ -89,6 +93,7 @@ class WebhookListener(Listener, threading.Thread):
|
|
|
89
93
|
try:
|
|
90
94
|
self._do_hook_if(mdata=mdata, atype=t)
|
|
91
95
|
except Exception as e:
|
|
96
|
+
print(traceback.format_exc())
|
|
92
97
|
if isinstance(e, WebhookException):
|
|
93
98
|
raise
|
|
94
99
|
msg = f"WebhookListener could not call {t} webhook: {type(e)}: {e}"
|
|
@@ -105,31 +110,53 @@ class WebhookListener(Listener, threading.Thread):
|
|
|
105
110
|
"Nothing to do for webhook url %s", WebhookListener.URLS[atype]
|
|
106
111
|
)
|
|
107
112
|
return
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
113
|
+
r = {"url": url}
|
|
114
|
+
try:
|
|
115
|
+
payload = self._payload_for_type(mdata, atype)
|
|
116
|
+
r["payload"] = payload
|
|
117
|
+
#
|
|
118
|
+
# prep request
|
|
119
|
+
#
|
|
120
|
+
headers = {"Content-Type": "application/json"}
|
|
121
|
+
headers = headers | self._headers_for_type(mdata, atype)
|
|
122
|
+
r["headers"] = headers
|
|
123
|
+
r["timeout"] = self.timeout
|
|
124
|
+
#
|
|
125
|
+
# send
|
|
126
|
+
#
|
|
127
|
+
x = requests.post(url, json=payload, headers=headers, timeout=self.timeout)
|
|
128
|
+
if x and x.status_code != 200:
|
|
129
|
+
if self.csvpaths is not None:
|
|
130
|
+
self.csvpaths.logger.warning(
|
|
131
|
+
"WebhookListener received status code %s from %s",
|
|
132
|
+
x.status_code,
|
|
133
|
+
"",
|
|
134
|
+
)
|
|
135
|
+
elif self.result is not None:
|
|
136
|
+
self.result.csvpath.logger.warning(
|
|
137
|
+
"WebhookListener received status code %s from %s",
|
|
138
|
+
x.status_code,
|
|
139
|
+
"",
|
|
140
|
+
)
|
|
141
|
+
else:
|
|
142
|
+
msg = f"WebhookListener received status code {x.status_code} from {self.url}"
|
|
143
|
+
self.csvpaths.logger.error(msg)
|
|
144
|
+
if self.csvpaths.ecoms.do_i_raise():
|
|
145
|
+
raise WebhookException(msg)
|
|
146
|
+
try:
|
|
147
|
+
r["response_json"] = x.json()
|
|
148
|
+
except requests.exceptions.JSONDecodeError:
|
|
149
|
+
...
|
|
150
|
+
r["response"] = {"code": x.status_code, "text": x.text}
|
|
151
|
+
#
|
|
152
|
+
# save
|
|
153
|
+
#
|
|
154
|
+
nos = Nos(mdata.run_home)
|
|
155
|
+
path = nos.join(f"webhook-{atype}.json")
|
|
156
|
+
with DataFileWriter(path=path) as file:
|
|
157
|
+
file.write(json.dumps(r, indent=2))
|
|
158
|
+
except Exception:
|
|
159
|
+
print(traceback.format_exc())
|
|
160
|
+
raise
|
|
161
|
+
finally:
|
|
162
|
+
...
|
|
@@ -870,12 +870,23 @@ class ResultsManager: # pylint: disable=C0115
|
|
|
870
870
|
instances = Nos(path).listdir()
|
|
871
871
|
rs = [None for inst in instances if inst != "manifest.json"]
|
|
872
872
|
for inst in instances:
|
|
873
|
-
if inst
|
|
873
|
+
if inst.endswith(".json"):
|
|
874
|
+
#
|
|
875
|
+
# exp ^^^^
|
|
876
|
+
#
|
|
877
|
+
# if inst == "manifest.json":
|
|
874
878
|
continue
|
|
875
879
|
r = self.get_named_result_for_instance(
|
|
876
880
|
name=name, run_dir=path, run=run, instance=inst
|
|
877
881
|
)
|
|
878
882
|
rs[r.index] = r
|
|
883
|
+
#
|
|
884
|
+
# exp. works well, it seems. the problem is that we begin to have more json files
|
|
885
|
+
# we were avoiding manifest.json. when we added more we had to skip more leaving
|
|
886
|
+
# more nulls where an item was found, added to the array, but then passed over.
|
|
887
|
+
# other changes above were less effective than simply removing the nulls.
|
|
888
|
+
#
|
|
889
|
+
rs = [_ for _ in rs if _ is not None]
|
|
879
890
|
return rs
|
|
880
891
|
|
|
881
892
|
def get_named_result_for_instance(
|
|
@@ -892,6 +903,10 @@ class ResultsManager: # pylint: disable=C0115
|
|
|
892
903
|
#
|
|
893
904
|
_ = ""
|
|
894
905
|
|
|
906
|
+
print(
|
|
907
|
+
f"resman: get_named_result_for_instance: {name}, {run_dir}, {run}, {instance}"
|
|
908
|
+
)
|
|
909
|
+
|
|
895
910
|
if run_dir.endswith(f"/{instance}") or run_dir.endswith(f"\\{instance}"):
|
|
896
911
|
instance_dir = run_dir
|
|
897
912
|
else:
|
|
@@ -35,14 +35,22 @@ class ConfigEnv:
|
|
|
35
35
|
def var_sub_source(self) -> str:
|
|
36
36
|
if self._var_sub_source is None:
|
|
37
37
|
self._var_sub_source = self.config.get(
|
|
38
|
-
section="config",
|
|
38
|
+
section="config",
|
|
39
|
+
name="var_sub_source",
|
|
40
|
+
default="env",
|
|
41
|
+
string_parse=False,
|
|
39
42
|
)
|
|
40
43
|
return self._var_sub_source
|
|
41
44
|
|
|
42
45
|
@property
|
|
43
46
|
def allow_var_sub(self) -> bool:
|
|
44
47
|
if self._allow is None:
|
|
45
|
-
a = self.config.get(
|
|
48
|
+
a = self.config.get(
|
|
49
|
+
section="config",
|
|
50
|
+
name="allow_var_sub",
|
|
51
|
+
default=False,
|
|
52
|
+
string_parse=False,
|
|
53
|
+
)
|
|
46
54
|
self._allow = a and str(a).strip().lower() in ["true", "yes"]
|
|
47
55
|
return self._allow
|
|
48
56
|
|
|
@@ -62,19 +70,6 @@ class ConfigEnv:
|
|
|
62
70
|
try:
|
|
63
71
|
if not self.nos(self.var_sub_source).exists():
|
|
64
72
|
self.write_env_file({})
|
|
65
|
-
"""
|
|
66
|
-
# cannot use DataFileWriter and DataFileReader because that would create a circular import.
|
|
67
|
-
# with DataFileWriter(path=self.var_sub_source) as file:
|
|
68
|
-
file = ClassLoader.load(
|
|
69
|
-
"from csvpath.util.file_writers import DataFileWriter",
|
|
70
|
-
[],
|
|
71
|
-
{"path": self.var_sub_source},
|
|
72
|
-
)
|
|
73
|
-
file.__enter__()
|
|
74
|
-
json.dump({}, file.sink, indent=4)
|
|
75
|
-
file.__exit__(None, None, None)
|
|
76
|
-
"""
|
|
77
|
-
# with DataFileReader(self.var_sub_source) as file:
|
|
78
73
|
file = ClassLoader.load(
|
|
79
74
|
"from csvpath.util.file_readers import DataFileReader",
|
|
80
75
|
[self.var_sub_source],
|
|
@@ -87,8 +82,6 @@ class ConfigEnv:
|
|
|
87
82
|
return self._env
|
|
88
83
|
|
|
89
84
|
def write_env_file(self, j: dict) -> None:
|
|
90
|
-
# cannot use DataFileWriter and DataFileReader because that would create a circular import.
|
|
91
|
-
# with DataFileWriter(path=self.var_sub_source) as file:
|
|
92
85
|
file = ClassLoader.load(
|
|
93
86
|
"from csvpath.util.file_writers import DataFileWriter",
|
|
94
87
|
[],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "csvpath"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.609"
|
|
4
4
|
description = "CsvPath Framework is a data preboarding automation library for receiving, validating, and tracking CSV, Excel, JSONL and other tabular data files before they can corrupt downstream data consumers."
|
|
5
5
|
authors = ["David Kershaw <info@csvpath.org>"]
|
|
6
6
|
readme = "README.md"
|
|
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
|
|
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
|
{csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.25-py3-none-any.whl
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.27-py3-none-any.whl
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.28-py3-none-any.whl
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.29-py3-none-any.whl
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
|
|
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
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_error_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_file_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_paths_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_result_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_results_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/arrival_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/sftpplus_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/transfer_creator.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
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_result_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_results_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/sqlite_result_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/sqlite_results_listener.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
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_printouts_reader.py
RENAMED
|
File without changes
|
{csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_unmatched_reader.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
|