summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-29 09:32:31 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-29 09:32:31 +0000
commit0d012efcba72d4685150710b9a46d74d3da6d3a7 (patch)
tree102873d4edec4ff4d35ee5f6e0cbe49b739740f7
parent8af1c5b93523864e9f7e6ee9b24d04cdc448539c (diff)
automatic import of python-thumbor-dash
-rw-r--r--.gitignore1
-rw-r--r--python-thumbor-dash.spec471
-rw-r--r--sources1
3 files changed, 473 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5118972 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/thumbor_dash-0.0.20.tar.gz
diff --git a/python-thumbor-dash.spec b/python-thumbor-dash.spec
new file mode 100644
index 0000000..023eae5
--- /dev/null
+++ b/python-thumbor-dash.spec
@@ -0,0 +1,471 @@
+%global _empty_manifest_terminate_build 0
+Name: python-thumbor-dash
+Version: 0.0.20
+Release: 1
+Summary: A thumbor server extension for DASH
+License: MIT License
+URL: https://github.com/mayoreee/thumbor_dash
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7a/d3/a3772e063e965dd43e5b5cc5bf4c21368cfdd026b54d2d70ce2ab0676eac/thumbor_dash-0.0.20.tar.gz
+BuildArch: noarch
+
+Requires: python3-thumbor
+Requires: python3-dapiclient
+Requires: python3-grpcio
+
+%description
+# thumbor_dash
+A thumbor server extension for DASH
+
+
+## Setup
+
+#### Requirements
+
+- Python >= 3.9
+- Pip >= 21.1
+- Thumbor == 7.0.0a5
+
+See the requirements for setting up `thumbor` in the [documentation](https://thumbor.readthedocs.io/en/latest/installing.html)
+
+#### 1. Install thumbor_dash
+
+`pip install thumbor_dash`
+
+Note: thumbor_dash, thumbor, and other required dependencies will be installed
+
+#### 2. Create a thumbor configuration file
+
+`thumbor-config > thumbor.conf`
+
+#### 3. Add these lines to `thumbor.conf` file
+
+```python
+# Set allowed dimensions
+MIN_WIDTH = 1
+MIN_HEIGHT = 1
+MAX_WIDTH = 1200
+MAX_HEIGHT = 800
+
+# Use custom Url signing method (sha256)
+URL_SIGNER = 'thumbor_dash.url_signers.base64_hmac_sha256'
+
+# Allow only signed URL
+ALLOW_UNSAFE_URL = False
+
+# Set user moderation rules
+REQUEST_TIME_LIMIT = 1 # time between requests in minutes
+USAGE_VIOLATION_LIMIT = 5 # total number of times a requester can violate the time limit before ban
+BAN_DURATION = 10 # requester ban duration in minutes
+
+# Use custom error handling
+USE_CUSTOM_ERROR_HANDLING = True
+ERROR_HANDLER_MODULE = 'thumbor_dash.error_handlers.sentry'
+
+# User-defined MN and IP list
+SEED_IP = 'seed-1.testnet.networks.dash.org'
+MN_LIST = '34.219.81.129,34.221.42.205,34.208.88.128,54.189.162.193,34.220.124.90,54.201.242.241,54.68.10.46,34.210.81.39,18.237.47.243'
+
+```
+
+## Usage
+
+#### 1. Start thumbor_dash server
+
+ `thumbor_dash --conf=thumbor.conf`
+
+#### 2. Sign image URL
+
+ ```python
+
+ thumbor_dash-url --key="<Requester Identity Key>" --width=<width> --height=<height> --dashauth="requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<avatarUrl>):owner(<ownerId>):updatedAt(<updatedAt>)" --filters="<filters>" <imageURL>
+
+ ```
+
+`output:`
+
+ ```python
+
+ /<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
+
+ ```
+
+#### 3. Thumbor_dash image retrieval URL
+
+ ```python
+ http://<thumbor_dash-server>/<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
+
+ ```
+
+ Note: If running the server locally, `<thumbor_dash-server>` should be `localhost:8888`
+
+
+## Example
+
+ This is a signed `thumbor_dash url`. Simply run `thumbor_dash` and paste this link in your browser.
+
+ ```python
+
+http://localhost:8888/U6lnOyBbSbRmZoxIgj81unAoR-V2GhJj1lAAQ0846Nw=/1200x800/dashauth:requester(856aSH6uEBaHpndZYXDk72NJbZqXokNSPGrs8nKbd7QL):contract(DbBHu3Ct1zD1AYAiw58V7QXT22B3k7qRLDLfaXqiRQp5):document(thumbnailField):field(avatarUrl):owner(856aSH6uEBaHpndZYXDk72NJbZqXokNSPGrs8nKbd7QL):updatedAt(1654864287788)/filters:format(jpeg)/https%3A//github.com/thumbor/thumbor/raw/master/example.jpg
+
+
+
+ ```
+
+# Running thumbor_dash in Docker
+
+This is the fastest way to run `thumbor_dash`
+
+#### 1. Create a `thumbor.env.txt` file containing the environment variables
+
+```python
+
+MIN_WIDTH=1
+MIN_HEIGHT=1
+MAX_WIDTH=1200
+MAX_HEIGHT=800
+REQUEST_TIME_LIMIT=1
+USAGE_VIOLATION_LIMIT=5
+BAN_DURATION=10
+USE_CUSTOM_ERROR_HANDLING=True
+ALLOW_UNSAFE_URL=False
+URL_SIGNER=thumbor_dash.url_signers.base64_hmac_sha256
+ERROR_HANDLER_MODULE=thumbor_dash.error_handlers.sentry
+SEED_IP=seed-1.testnet.networks.dash.org
+MN_LIST=34.219.81.129,34.221.42.205,34.208.88.128,54.189.162.193,34.220.124.90,54.201.242.241,54.68.10.46,34.210.81.39,18.237.47.243
+
+```
+
+#### 2. Start thumbor_dash server in Docker
+
+ `docker run -p 80:80 --env-file thumbor.env.txt mayoreee/thumbor_dash`
+When your environment is not ARM-based, add the option `--platform linux/arm64/v8`
+
+Note: If running in Docker, `<thumbor_dash-server>` in the image request URL should be set to `localhost:80` instead of `localhost:8888`.
+
+
+
+
+
+
+%package -n python3-thumbor-dash
+Summary: A thumbor server extension for DASH
+Provides: python-thumbor-dash
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-thumbor-dash
+# thumbor_dash
+A thumbor server extension for DASH
+
+
+## Setup
+
+#### Requirements
+
+- Python >= 3.9
+- Pip >= 21.1
+- Thumbor == 7.0.0a5
+
+See the requirements for setting up `thumbor` in the [documentation](https://thumbor.readthedocs.io/en/latest/installing.html)
+
+#### 1. Install thumbor_dash
+
+`pip install thumbor_dash`
+
+Note: thumbor_dash, thumbor, and other required dependencies will be installed
+
+#### 2. Create a thumbor configuration file
+
+`thumbor-config > thumbor.conf`
+
+#### 3. Add these lines to `thumbor.conf` file
+
+```python
+# Set allowed dimensions
+MIN_WIDTH = 1
+MIN_HEIGHT = 1
+MAX_WIDTH = 1200
+MAX_HEIGHT = 800
+
+# Use custom Url signing method (sha256)
+URL_SIGNER = 'thumbor_dash.url_signers.base64_hmac_sha256'
+
+# Allow only signed URL
+ALLOW_UNSAFE_URL = False
+
+# Set user moderation rules
+REQUEST_TIME_LIMIT = 1 # time between requests in minutes
+USAGE_VIOLATION_LIMIT = 5 # total number of times a requester can violate the time limit before ban
+BAN_DURATION = 10 # requester ban duration in minutes
+
+# Use custom error handling
+USE_CUSTOM_ERROR_HANDLING = True
+ERROR_HANDLER_MODULE = 'thumbor_dash.error_handlers.sentry'
+
+# User-defined MN and IP list
+SEED_IP = 'seed-1.testnet.networks.dash.org'
+MN_LIST = '34.219.81.129,34.221.42.205,34.208.88.128,54.189.162.193,34.220.124.90,54.201.242.241,54.68.10.46,34.210.81.39,18.237.47.243'
+
+```
+
+## Usage
+
+#### 1. Start thumbor_dash server
+
+ `thumbor_dash --conf=thumbor.conf`
+
+#### 2. Sign image URL
+
+ ```python
+
+ thumbor_dash-url --key="<Requester Identity Key>" --width=<width> --height=<height> --dashauth="requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<avatarUrl>):owner(<ownerId>):updatedAt(<updatedAt>)" --filters="<filters>" <imageURL>
+
+ ```
+
+`output:`
+
+ ```python
+
+ /<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
+
+ ```
+
+#### 3. Thumbor_dash image retrieval URL
+
+ ```python
+ http://<thumbor_dash-server>/<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
+
+ ```
+
+ Note: If running the server locally, `<thumbor_dash-server>` should be `localhost:8888`
+
+
+## Example
+
+ This is a signed `thumbor_dash url`. Simply run `thumbor_dash` and paste this link in your browser.
+
+ ```python
+
+http://localhost:8888/U6lnOyBbSbRmZoxIgj81unAoR-V2GhJj1lAAQ0846Nw=/1200x800/dashauth:requester(856aSH6uEBaHpndZYXDk72NJbZqXokNSPGrs8nKbd7QL):contract(DbBHu3Ct1zD1AYAiw58V7QXT22B3k7qRLDLfaXqiRQp5):document(thumbnailField):field(avatarUrl):owner(856aSH6uEBaHpndZYXDk72NJbZqXokNSPGrs8nKbd7QL):updatedAt(1654864287788)/filters:format(jpeg)/https%3A//github.com/thumbor/thumbor/raw/master/example.jpg
+
+
+
+ ```
+
+# Running thumbor_dash in Docker
+
+This is the fastest way to run `thumbor_dash`
+
+#### 1. Create a `thumbor.env.txt` file containing the environment variables
+
+```python
+
+MIN_WIDTH=1
+MIN_HEIGHT=1
+MAX_WIDTH=1200
+MAX_HEIGHT=800
+REQUEST_TIME_LIMIT=1
+USAGE_VIOLATION_LIMIT=5
+BAN_DURATION=10
+USE_CUSTOM_ERROR_HANDLING=True
+ALLOW_UNSAFE_URL=False
+URL_SIGNER=thumbor_dash.url_signers.base64_hmac_sha256
+ERROR_HANDLER_MODULE=thumbor_dash.error_handlers.sentry
+SEED_IP=seed-1.testnet.networks.dash.org
+MN_LIST=34.219.81.129,34.221.42.205,34.208.88.128,54.189.162.193,34.220.124.90,54.201.242.241,54.68.10.46,34.210.81.39,18.237.47.243
+
+```
+
+#### 2. Start thumbor_dash server in Docker
+
+ `docker run -p 80:80 --env-file thumbor.env.txt mayoreee/thumbor_dash`
+When your environment is not ARM-based, add the option `--platform linux/arm64/v8`
+
+Note: If running in Docker, `<thumbor_dash-server>` in the image request URL should be set to `localhost:80` instead of `localhost:8888`.
+
+
+
+
+
+
+%package help
+Summary: Development documents and examples for thumbor-dash
+Provides: python3-thumbor-dash-doc
+%description help
+# thumbor_dash
+A thumbor server extension for DASH
+
+
+## Setup
+
+#### Requirements
+
+- Python >= 3.9
+- Pip >= 21.1
+- Thumbor == 7.0.0a5
+
+See the requirements for setting up `thumbor` in the [documentation](https://thumbor.readthedocs.io/en/latest/installing.html)
+
+#### 1. Install thumbor_dash
+
+`pip install thumbor_dash`
+
+Note: thumbor_dash, thumbor, and other required dependencies will be installed
+
+#### 2. Create a thumbor configuration file
+
+`thumbor-config > thumbor.conf`
+
+#### 3. Add these lines to `thumbor.conf` file
+
+```python
+# Set allowed dimensions
+MIN_WIDTH = 1
+MIN_HEIGHT = 1
+MAX_WIDTH = 1200
+MAX_HEIGHT = 800
+
+# Use custom Url signing method (sha256)
+URL_SIGNER = 'thumbor_dash.url_signers.base64_hmac_sha256'
+
+# Allow only signed URL
+ALLOW_UNSAFE_URL = False
+
+# Set user moderation rules
+REQUEST_TIME_LIMIT = 1 # time between requests in minutes
+USAGE_VIOLATION_LIMIT = 5 # total number of times a requester can violate the time limit before ban
+BAN_DURATION = 10 # requester ban duration in minutes
+
+# Use custom error handling
+USE_CUSTOM_ERROR_HANDLING = True
+ERROR_HANDLER_MODULE = 'thumbor_dash.error_handlers.sentry'
+
+# User-defined MN and IP list
+SEED_IP = 'seed-1.testnet.networks.dash.org'
+MN_LIST = '34.219.81.129,34.221.42.205,34.208.88.128,54.189.162.193,34.220.124.90,54.201.242.241,54.68.10.46,34.210.81.39,18.237.47.243'
+
+```
+
+## Usage
+
+#### 1. Start thumbor_dash server
+
+ `thumbor_dash --conf=thumbor.conf`
+
+#### 2. Sign image URL
+
+ ```python
+
+ thumbor_dash-url --key="<Requester Identity Key>" --width=<width> --height=<height> --dashauth="requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<avatarUrl>):owner(<ownerId>):updatedAt(<updatedAt>)" --filters="<filters>" <imageURL>
+
+ ```
+
+`output:`
+
+ ```python
+
+ /<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
+
+ ```
+
+#### 3. Thumbor_dash image retrieval URL
+
+ ```python
+ http://<thumbor_dash-server>/<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
+
+ ```
+
+ Note: If running the server locally, `<thumbor_dash-server>` should be `localhost:8888`
+
+
+## Example
+
+ This is a signed `thumbor_dash url`. Simply run `thumbor_dash` and paste this link in your browser.
+
+ ```python
+
+http://localhost:8888/U6lnOyBbSbRmZoxIgj81unAoR-V2GhJj1lAAQ0846Nw=/1200x800/dashauth:requester(856aSH6uEBaHpndZYXDk72NJbZqXokNSPGrs8nKbd7QL):contract(DbBHu3Ct1zD1AYAiw58V7QXT22B3k7qRLDLfaXqiRQp5):document(thumbnailField):field(avatarUrl):owner(856aSH6uEBaHpndZYXDk72NJbZqXokNSPGrs8nKbd7QL):updatedAt(1654864287788)/filters:format(jpeg)/https%3A//github.com/thumbor/thumbor/raw/master/example.jpg
+
+
+
+ ```
+
+# Running thumbor_dash in Docker
+
+This is the fastest way to run `thumbor_dash`
+
+#### 1. Create a `thumbor.env.txt` file containing the environment variables
+
+```python
+
+MIN_WIDTH=1
+MIN_HEIGHT=1
+MAX_WIDTH=1200
+MAX_HEIGHT=800
+REQUEST_TIME_LIMIT=1
+USAGE_VIOLATION_LIMIT=5
+BAN_DURATION=10
+USE_CUSTOM_ERROR_HANDLING=True
+ALLOW_UNSAFE_URL=False
+URL_SIGNER=thumbor_dash.url_signers.base64_hmac_sha256
+ERROR_HANDLER_MODULE=thumbor_dash.error_handlers.sentry
+SEED_IP=seed-1.testnet.networks.dash.org
+MN_LIST=34.219.81.129,34.221.42.205,34.208.88.128,54.189.162.193,34.220.124.90,54.201.242.241,54.68.10.46,34.210.81.39,18.237.47.243
+
+```
+
+#### 2. Start thumbor_dash server in Docker
+
+ `docker run -p 80:80 --env-file thumbor.env.txt mayoreee/thumbor_dash`
+When your environment is not ARM-based, add the option `--platform linux/arm64/v8`
+
+Note: If running in Docker, `<thumbor_dash-server>` in the image request URL should be set to `localhost:80` instead of `localhost:8888`.
+
+
+
+
+
+
+%prep
+%autosetup -n thumbor-dash-0.0.20
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-thumbor-dash -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.20-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3befb95
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e5ba6fdf99c4457f911ab2ea7cb38c76 thumbor_dash-0.0.20.tar.gz