From e1a7ccefd86b7532fc89142bffc59d49473545f6 Mon Sep 17 00:00:00 2001 From: Ian <47256454+IanRFerguson@users.noreply.github.com> Date: Fri, 1 Dec 2023 13:44:06 -0500 Subject: [PATCH] GoogleCloudStorage - Add GCS Destination Path Param (#936) * Update release (#894) * Zoom Polls (#886) * Merge main into major-release (#814) * Use black formatting in addition to flake8 (#796) * Run black formatter on entire repository * Update requirements.txt and CONTRIBUTING.md to reflect black format * Use black linting in circleci test job * Use longer variable name to resolve flake8 E741 * Move noqa comments back to proper lines after black reformat * Standardize S3 Prefix Conventions (#803) This PR catches exception errors when a user does not exhaustive access to keys in an S3 bucket * Add Default Parameter Flexibility (#807) Skips over new `/` logic checks if prefix is `None` (which is true by default) * MoveOn Shopify / AK changes (#801) * Add access_token authentication option for Shopify * Remove unnecessary check The access token will either be None or explicitly set; don't worry about an empty string. * Add get_orders function and test * Add get_transactions function and test * Add function and test to get order * style fixes * style fixes --------- Co-authored-by: sjwmoveon Co-authored-by: Alex French Co-authored-by: Kathy Nguyen * Catch File Extensions in S3 Prefix (#809) * add exception handling * Shortened logs for flake8 * add logic for default case * added file logic + note to user * restructured prefix logic This change moves the prefix -> prefix/ logic into a try/except block ... this will be more robust to most use cases, while adding flexibility that we desire for split-permission buckets * drop nested try/catch + add verbose error log * Add error message verbosity Co-authored-by: willyraedy --------- Co-authored-by: willyraedy --------- Co-authored-by: Austin Weisgrau <62900254+austinweisgrau@users.noreply.github.com> Co-authored-by: Ian <47256454+IanRFerguson@users.noreply.github.com> Co-authored-by: Cody Gordon <13374656+codygordon@users.noreply.github.com> Co-authored-by: sjwmoveon Co-authored-by: Alex French Co-authored-by: Kathy Nguyen Co-authored-by: willyraedy * black format * black format * jwt -> s2s oauth * scaffold new functions * add docs * return * DatabaseConnector Interface to Major Release (#815) * Create the DatabaseConnector * Implement DatabaseConnector for the DB connectors * Add DatabaseConnector to std imports * Flake8 fix * Remove reference to padding in copy() * Add database_discover and fix inheritance * Remove strict_length from copy() * Put strict_length back in original order * Remove strict_length stub from BQ * Fix discover_database export statement * Add return annotation to mysql table_exists * Black formatter pass * Add more documentation on when you should use * Add developer notes. * Fix code block documentation * Enhance discover database * Add unit tests for discover database * Fix unit tests * Add two more tests * Reverse Postgres string_length change --------- Co-authored-by: Jason Walker * add type handling * pass in updated params * move access token function * ok let's rock!! * make changes * pass access token key only * use temporary client to gen token * mock request in constructor * drop unused imports * add changes * scaffolding tests * Add multiple python versions to CI tests (#858) * Add multiple python versions to CI tests * Remove duplicate key * Combine CI jobs * Update ubuntu image and actually install Python versions * Replace pyenv with apt-get to install python versions * Remove sudo * Remove get from 'apt-get' * Update apt before attempting to install * Add ppa/deadsnakes repository * Add prereq * Fix typo * Add -y to install command * Move -y to correct spot * Add more -ys * Add some echoes to debug * Switch back to pyenv approach * Remove tests from circleci config and move to new github actions config Note: no caching yet, this is more of a proof of concept * Split out Mac tests into seaparate file * Set testing environmental variable separately * First attempt to add depdendency cache * Remove windows tests for now * Fix circleci config * Fix circleci for real this time * Add tests on merging of PRs and update readme to show we do not support for Python 3.7 * Enable passing `identifiers` to ActionNetwork `upsert_person()` (#861) * Enable passing `identifiers` to ActionNetwork upsert_person * Remove unused arguments from method self.get_page method doesn't exist and that method call doesn't return anything. The return statement works fine as-is to return all tags and handles pagination on its own. * Include deprecated per_page argument for backwards compatibility Emit a deprecation warning if this argument is used * Include examples in docstring for `identifiers` argument * Expand documentation on ActionNetwork identifiers * Add pre-commit hook config to run flake8 and black on commit (#864) Notes added to README on how to install and set up * black format * black format * jwt -> s2s oauth * scaffold new functions * add docs * return * add type handling * pass in updated params * move access token function * ok let's rock!! * make changes * pass access token key only * use temporary client to gen token * mock request in constructor * drop unused imports * add changes * scaffolding tests * write unit tests * added testing * drop typing (for now) * update docstring typing * add tests * write functions * update typing * add poll results * update table output * fix tests * uhhh run it back * add scope requirements * add to docs We can add more here if folks see fit * one for the money two for the show --------- Co-authored-by: Jason Co-authored-by: Austin Weisgrau <62900254+austinweisgrau@users.noreply.github.com> Co-authored-by: Cody Gordon <13374656+codygordon@users.noreply.github.com> Co-authored-by: sjwmoveon Co-authored-by: Alex French Co-authored-by: Kathy Nguyen Co-authored-by: willyraedy Co-authored-by: Jason Walker Co-authored-by: Shauna * Check for empty tables in zoom poll results (#897) Co-authored-by: Jason Walker * Bump urllib3 from 1.26.5 to 1.26.17 (#901) Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.5 to 1.26.17. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/1.26.5...1.26.17) --- updated-dependencies: - dependency-name: urllib3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add MobileCommons Connector (#896) * mobilecommons class * Update __init__.py * get broadcasts * fix get broadcast request * Add mc_get_request method * Add annotation * Incorporate Daniel's suggestions and finish up get_broadcasts * A few more methods Need to figure out page_count issue * small fix * Remove page_count, use page record num instead * Add in page_count again Not all get responses include num param, but do include page_count. wft * Fix logging numbers * Add create_profile * Fix error message for post request * Start tests * Add some tests * Continue testing * Update test_mobilecommons.py * functionalize status_code check * break out parse_get_request function * fix test data * fix documentation typo * Add several tests * Update mobilecommons.py * Fix limit and pagination logic * debug unit testing * better commenting and logic * Documentation * Add MC to init file * Revert "Merge branch 'main' into cormac-mobilecommons-connector" This reverts commit cad250f44d94084e2c1a65b0662117c507b7e7cd, reversing changes made to 493e117fb4921994d4efc534e0a5c195c6170a60. * Revert "Add MC to init file" This reverts commit 493e117fb4921994d4efc534e0a5c195c6170a60. * Revert "Revert "Add MC to init file"" This reverts commit 8f87ec20115cc0ba6eff77fcf7d89fcbe6696504. * Revert "Revert "Merge branch 'main' into cormac-mobilecommons-connector"" This reverts commit 819005272152a6bebe0529fe0606f01102ee482c. * Fix init destruction * fix init yet again * Update testing docs with underscores * Lint * Lint tests * break up long responses * Fix more linting issues * Hopefully last linting issue * DGJKSNCHIVBN * Documentation fixes * Remove note to self * date format * remove random notes * Update test_mobilecommons.py --------- Co-authored-by: sharinetmc <128429303+sharinetmc@users.noreply.github.com> * #741 : Deprecate Slack chat.postMessage `as_user` argument and allow for new authorship arguments (#891) * remove the argument and add a warning that the usage is deprecated * remove usage of as_user from sample code * add in the user customization arguments in lieu of the deprecated as_user argument * add comment regarding the permissions required to use these arguments * use kwargs * surface the whole response * allow usage of the deprecated argument but surface the failed response better * add to retry * delete test file * fix linting * formatting to fix tests * fix if style * add warning for using thread_ts * move the documentation to the optional arguments * #816 Airtable.get_records() fields argument can be either str or list (#892) * all fields to be a str object * remove newline * Nir's actionnetwork changes (#900) * working on adding a functio to an and took care of a lint issues * init * working on all get functions * actionnetwork functions batch 1 is ready * linting and black formatted compliance * removed unwanted/unsused lines * merged updated main * did some linting * added some more get functions to support all ActionNetwork objects (Advocacy Campaigns, Attendances, Campaigns, Custom Fields, Donations, Embeds, Event Campaigns, Events, Forms, Fundraising Pages, Items, Lists, Messages, Metadata, Outreaches, People, Petitions, Queries, Signatures, Submissions, Tags, Taggings, Wrappers) * worked on linting again * fix airtable.insert_records table arg (#907) * Add canales s3 functions (#885) * add raw s3 functions to parsons * add selected functions to s3.py * delte redundant functions and move drop_and_save function to redshift.py * create test file * add s3 unit tests * add rs.drop_and_unload unit test * add printing for debugging * remove testing file * unsaved changes * remove unused packages * remove unneeded module * Bump urllib3 from 1.26.17 to 1.26.18 (#904) Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.17 to 1.26.18. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/1.26.17...1.26.18) --- updated-dependencies: - dependency-name: urllib3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: sharinetmc <128429303+sharinetmc@users.noreply.github.com> * New connector for working with the Catalist Match API (#912) * Enable api_connector to return error message in `text` attribute Some API error responses contain the error message in the `text` attribute, so this update makes it possible to fetch that message if it exists. * New connector to work with the Catalist Match API * Add pytest-mock to requirements to support mocking in pytests * Tests on the catalist match connector * More open ended pytest-mock version for compatibility * Expand docstring documetation based on feedback in PR * More verbose error on match failure * Parameterize template_id variable * Expand docstrings on initial setup * Include Catalist documentation rst file * Enhancement: Action Network Connector: Added unpack_statistics param in get_messages method (#917) * Adds parameter to get_messages This adds the ability to unpack the statistics which are returned as a nested dictionary in the response. * added unpack_statistics to an.get_messages() * added parameters to get_messages and built tests * changes unpack_statistics to False by default. * added tbl variable * formatted with black * fixed docs --------- Co-authored-by: mattkrausse <106627640+mattkrausse@users.noreply.github.com> * Adding rename_columns method to Parsons Table (#923) * added rename_columns for multiple cols * linted * added clarification to docs about dict structure * updated docs --------- Co-authored-by: mattkrausse <106627640+mattkrausse@users.noreply.github.com> * Add http response to update_mailer (#924) Without returning the response, or at least the status code, it's impossible to check for errors. * Enable passing arbitrary additional fields to NGPVAN person match API (#916) * match gcs api to s3 * Revert "Merge branch 'main' into ianferguson/gcs-pathing" This reverts commit 5b1ef6e9fc2eaacd43c15998a81c0e4584401c59, reversing changes made to f0eb3d6d58c31d5138cdce257fcde7c9172b447a. --------- Signed-off-by: dependabot[bot] Co-authored-by: Kasia Hinkson <52927664+KasiaHinkson@users.noreply.github.com> Co-authored-by: Jason Co-authored-by: Austin Weisgrau <62900254+austinweisgrau@users.noreply.github.com> Co-authored-by: Cody Gordon <13374656+codygordon@users.noreply.github.com> Co-authored-by: sjwmoveon Co-authored-by: Alex French Co-authored-by: Kathy Nguyen Co-authored-by: willyraedy Co-authored-by: Jason Walker Co-authored-by: Shauna Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cormac Martinez del Rio <66973815+cmdelrio@users.noreply.github.com> Co-authored-by: sharinetmc <128429303+sharinetmc@users.noreply.github.com> Co-authored-by: Angela Gloyna Co-authored-by: NirTatcher <75395024+NirTatcher@users.noreply.github.com> Co-authored-by: justicehaze <69082853+justicehaze@users.noreply.github.com> Co-authored-by: mattkrausse <106627640+mattkrausse@users.noreply.github.com> Co-authored-by: mkrausse-ggtx <131683556+mkrausse-ggtx@users.noreply.github.com> Co-authored-by: Sophie Waldman <62553142+sjwmoveon@users.noreply.github.com>