From 716370f3488cba9e827d43a32b37086f46bd68cc Mon Sep 17 00:00:00 2001 From: stephenasuncionDEV Date: Thu, 28 Mar 2024 20:08:40 -0700 Subject: [PATCH 01/10] added headers --- woocommerce/api.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/woocommerce/api.py b/woocommerce/api.py index a97c901..466e8ac 100644 --- a/woocommerce/api.py +++ b/woocommerce/api.py @@ -89,6 +89,9 @@ def __request(self, method, endpoint, data, params=None, **kwargs): data = jsonencode(data, ensure_ascii=False).encode('utf-8') headers["content-type"] = "application/json;charset=utf-8" + if (kwargs.get("headers")): + headers.update(kwargs.get("headers")) + return request( method=method, url=url, @@ -97,13 +100,12 @@ def __request(self, method, endpoint, data, params=None, **kwargs): params=params, data=data, timeout=self.timeout, - headers=headers, - **kwargs + headers=headers ) - def get(self, endpoint, **kwargs): + def get(self, endpoint, data = None, **kwargs): """ Get requests """ - return self.__request("GET", endpoint, None, **kwargs) + return self.__request("GET", endpoint, data, **kwargs) def post(self, endpoint, data, **kwargs): """ POST requests """ From 622a66e89e57255274c90ab6719b4b58c3c16bc9 Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:25:18 -0700 Subject: [PATCH 02/10] force redeploy --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 38d507b..0461985 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ -WooCommerce API - Python Client +Modified WooCommerce API - Python Client =============================== -A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library. +A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library. .. image:: https://github.com/woocommerce/wc-api-python/actions/workflows/ci.yml/badge.svg?branch=trunk :target: https://github.com/woocommerce/wc-api-python/actions/workflows/ci.yml From 8d7ef69f5d7040ff554a8be20fe34d87fc7e3397 Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:28:00 -0700 Subject: [PATCH 03/10] ubuntu version change --- .github/workflows/ci.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82f9239..f0e35cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: jobs: build: name: Build - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: matrix: python-version: [3.6, 3.7, 3.8, 3.9] diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d9562ac..2cb5b71 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,7 +7,7 @@ on: jobs: deploy: name: Deploy - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout code uses: actions/checkout@v2 From 34e204d0751ed32d730ac65b157dff047cae13ea Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:30:39 -0700 Subject: [PATCH 04/10] tes --- requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-test.txt b/requirements-test.txt index 950b2c5..7927697 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,4 +1,4 @@ -r requirements.txt httmock==1.4.0 pytest==6.2.2 -flake8==3.8.4 +flake8==7.0.0 From fb5aa276b09853cd753e2eb658877965f9a56700 Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:31:45 -0700 Subject: [PATCH 05/10] test 2 --- requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-test.txt b/requirements-test.txt index 7927697..dfe6bd5 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,4 +1,4 @@ -r requirements.txt httmock==1.4.0 pytest==6.2.2 -flake8==7.0.0 +flake8==5.0.4 From dc77ff9c67aad2814e41fc92d8b9f9ee4537263c Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:37:26 -0700 Subject: [PATCH 06/10] publish --- .github/workflows/publish.yml | 43 ++++++++++++++++------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2cb5b71..479117d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,28 +1,25 @@ -# This workflow will upload a Python Package using Twine when a release is created -# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries -name: Publish package to PyPI +name: Upload Python Package + on: release: - types: [created] + types: [published] + jobs: deploy: - name: Deploy - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.9' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel twine - - name: Build and publish - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: | - python setup.py sdist bdist_wheel - twine upload dist/* + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build package + run: python -m build + - name: Publish package + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_API_TOKEN }} \ No newline at end of file From 0bee4a44d33ab296ee36ff66e2f03c171600f5c5 Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:43:07 -0700 Subject: [PATCH 07/10] test --- README.rst | 147 ----------------------------------------------------- 1 file changed, 147 deletions(-) diff --git a/README.rst b/README.rst index 0461985..fff1d77 100644 --- a/README.rst +++ b/README.rst @@ -2,150 +2,3 @@ Modified WooCommerce API - Python Client =============================== A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library. - -.. image:: https://github.com/woocommerce/wc-api-python/actions/workflows/ci.yml/badge.svg?branch=trunk - :target: https://github.com/woocommerce/wc-api-python/actions/workflows/ci.yml - -.. image:: https://img.shields.io/pypi/v/woocommerce.svg - :target: https://pypi.python.org/pypi/WooCommerce - - -Installation ------------- - -.. code-block:: bash - - pip install woocommerce - -Getting started ---------------- - -Generate API credentials (Consumer Key & Consumer Secret) following this instructions http://woocommerce.github.io/woocommerce-rest-api-docs/#rest-api-keys. - -Check out the WooCommerce API endpoints and data that can be manipulated in http://woocommerce.github.io/woocommerce-rest-api-docs/. - -Setup ------ - -.. code-block:: python - - from woocommerce import API - - wcapi = API( - url="http://example.com", - consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - version="wc/v3" - ) - -Options -~~~~~~~ - -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| Option | Type | Required | Description | -+=======================+=============+==========+=======================================================================================================+ -| ``url`` | ``string`` | yes | Your Store URL, example: http://woo.dev/ | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``consumer_key`` | ``string`` | yes | Your API consumer key | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``consumer_secret`` | ``string`` | yes | Your API consumer secret | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``version`` | ``string`` | no | API version, default is ``wc/v3`` | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``timeout`` | ``integer`` | no | Connection timeout, default is ``5`` | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``verify_ssl`` | ``bool`` | no | Verify SSL when connect, use this option as ``False`` when need to test with self-signed certificates | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``query_string_auth`` | ``bool`` | no | Force Basic Authentication as query string when ``True`` and using under HTTPS, default is ``False`` | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``user_agent`` | ``string`` | no | Set a custom User-Agent, default is ``WooCommerce-Python-REST-API/3.0.0`` | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``oauth_timestamp`` | ``integer`` | no | Custom timestamp for requests made with oAuth1.0a | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ -| ``wp_api`` | ``bool`` | no | Set to ``False`` in order to use the legacy WooCommerce API (deprecated) | -+-----------------------+-------------+----------+-------------------------------------------------------------------------------------------------------+ - -Methods -------- - -+--------------+----------------+------------------------------------------------------------------+ -| Params | Type | Description | -+==============+================+==================================================================+ -| ``endpoint`` | ``string`` | WooCommerce API endpoint, example: ``customers`` or ``order/12`` | -+--------------+----------------+------------------------------------------------------------------+ -| ``data`` | ``dictionary`` | Data that will be converted to JSON | -+--------------+----------------+------------------------------------------------------------------+ -| ``**kwargs`` | ``dictionary`` | Accepts ``params``, also other Requests arguments | -+--------------+----------------+------------------------------------------------------------------+ - -GET -~~~ - -- ``.get(endpoint, **kwargs)`` - -POST -~~~~ - -- ``.post(endpoint, data, **kwargs)`` - -PUT -~~~ - -- ``.put(endpoint, data), **kwargs`` - -DELETE -~~~~~~ - -- ``.delete(endpoint, **kwargs)`` - -OPTIONS -~~~~~~~ - -- ``.options(endpoint, **kwargs)`` - -Response --------- - -All methods will return `Response `_ object. - -Example of returned data: - -.. code-block:: bash - - >>> r = wcapi.get("products") - >>> r.status_code - 200 - >>> r.headers['content-type'] - 'application/json; charset=UTF-8' - >>> r.encoding - 'UTF-8' - >>> r.text - u'{"products":[{"title":"Flying Ninja","id":70,...' // Json text - >>> r.json() - {u'products': [{u'sold_individually': False,... // Dictionary data - -Request with `params` example ------------------------------ - -.. code-block:: python - - from woocommerce import API - - wcapi = API( - url="http://example.com", - consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - version="wc/v3" - ) - - # Force delete example. - print(wcapi.delete("products/100", params={"force": True}).json()) - - # Query example. - print(wcapi.get("products", params={"per_page": 20}).json()) - - -Changelog ---------- - -See `CHANGELOG.md `_. From 4c1b45fe5ce9b71ad6a5b94442a3ac79de668a33 Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:44:59 -0700 Subject: [PATCH 08/10] test --- README.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.rst b/README.rst index fff1d77..7149d03 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,2 @@ Modified WooCommerce API - Python Client -=============================== - A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library. From 54893d637945ee7d60773203901ae82e44632c0e Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:45:14 -0700 Subject: [PATCH 09/10] test 2 --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 7149d03..1b5d51c 100644 --- a/README.rst +++ b/README.rst @@ -1,2 +1,2 @@ Modified WooCommerce API - Python Client -A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library. +Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library. From fbb285876b5c635f397917972ec5cbafad9f4b12 Mon Sep 17 00:00:00 2001 From: jakubactive Date: Thu, 28 Mar 2024 20:47:58 -0700 Subject: [PATCH 10/10] tes 2 --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 9dae917..e780961 100644 --- a/setup.py +++ b/setup.py @@ -22,13 +22,13 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) setup( - name="WooCommerce", + name="WooCommerceMetorik", version=VERSION, description="A Python wrapper for the WooCommerce REST API", long_description=README, author="Claudio Sanches @ Automattic", author_email="claudio+pypi@automattic.com", - url="https://github.com/woocommerce/wc-api-python", + url="https://github.com/jakubactive/wc-api-python", license="MIT License", packages=[ "woocommerce"