summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 10:13:37 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 10:13:37 +0000
commita5cd189c375ce703cd1960d7491dd4b9251e8f2d (patch)
treee5a64100b585824ddeda89d063ea71d96d67afe7
parent748266216ef58cf1488d7418a5752328aef2f104 (diff)
automatic import of python-django-s3-file-fieldopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-django-s3-file-field.spec529
-rw-r--r--sources1
3 files changed, 531 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..0f03837 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/django-s3-file-field-0.3.2.tar.gz
diff --git a/python-django-s3-file-field.spec b/python-django-s3-file-field.spec
new file mode 100644
index 0000000..0dd3a47
--- /dev/null
+++ b/python-django-s3-file-field.spec
@@ -0,0 +1,529 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-s3-file-field
+Version: 0.3.2
+Release: 1
+Summary: A django widget library for securely uploading files directly to S3 (or MinIO).
+License: Apache 2.0
+URL: https://github.com/girder/django-s3-file-field
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/99/0d/d93079697b0b8df5132c70f0c015688730d68830706d107f7c627f7e187e/django-s3-file-field-0.3.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-django
+Requires: python3-djangorestframework
+Requires: python3-django-storages[boto3]
+Requires: python3-boto3
+Requires: python3-django-minio-storage
+Requires: python3-minio
+Requires: python3-pytest
+
+%description
+# django-s3-file-field
+[![PyPI](https://img.shields.io/pypi/v/django-s3-file-field)](https://pypi.org/project/django-s3-file-field/)
+
+django-s3-file-field is a Django library for uploading files directly to
+[AWS S3](https://aws.amazon.com/s3/) or [MinIO](https://min.io/) Storage from HTTP clients
+(browsers, CLIs, etc.).
+
+### Benefits
+django-s3-file-field makes long-running file transfers (with large files or slow connections)
+more efficient, as the file content is no longer proxied through the Django server. This also frees
+Django from needing to maintain active HTTP requests during file upload, decreasing server load and
+facilitating deployment to environments like
+[Heroku, which have short, strict request timeouts](https://devcenter.heroku.com/articles/request-timeout).
+
+### Scope
+The principal API of django-s3-file-field is the `S3FileField`, which is a subclass of
+[Django's `FileField`](https://docs.djangoproject.com/en/4.1/ref/models/fields/#filefield).
+django-s3-file-field does not affect any operations other than uploading from external HTTP
+clients; for all other file operations (downloading, uploading from the Python API, etc.), refer to
+[Django's file management documentation](https://docs.djangoproject.com/en/4.1/topics/files/).
+
+django-s3-file-field supports both the creation and modification (by overwrite) of
+`S3FileField`-containing `Model` instances.
+It supports server-rendered views, via the Forms API, with Form `Field` and `Widget` subclasses
+which will automatically be used for `ModelForm` instances.
+It also supports RESTful APIs, via Django Rest Framework's Serializer API, with a
+Serializer `Field` subclass which will automatically be used for `ModelSerializer` instances.
+
+## Installation
+django-s3-file-field must be used with a compatible Django Storage, which are:
+* `S3Boto3Storage` in [django-storages](https://django-storages.readthedocs.io/),
+ for [AWS S3](https://aws.amazon.com/s3/)
+* `MinioStorage` or `MinioMediaStorage` in [django-minio-storage](https://django-minio-storage.readthedocs.io/),
+ for [MinIO](https://min.io/)
+
+After the appropriate Storage is installed and configured, install django-s3-file-field, using the
+corresponding extra:
+```bash
+pip install django-s3-file-field[boto3]
+```
+or
+```bash
+pip install django-s3-file-field[minio]
+```
+
+Enable django-s3-file-field as an installed Django app:
+```python
+# settings.py
+INSTALLED_APPS = [
+ ...,
+ 's3_file_field',
+]
+```
+
+Add django-s3-file-field's URLconf to the root URLconf; the path prefix (`'api/s3-upload/'`)
+can be changed arbitrarily as desired:
+```python
+# urls.py
+from django.urls import include, path
+
+urlpatterns = [
+ ...,
+ path('api/s3-upload/', include('s3_file_field.urls')),
+]
+```
+
+## Usage
+For all usage, define an `S3FileField` on a Django `Model`, instead of a `FileField`:
+```python
+from django.db import models
+from s3_file_field import S3FileField
+
+class Resource(models.Model):
+ blob = S3FileField()
+```
+
+### Django Forms
+When defining a
+[Django `ModelForm`](https://docs.djangoproject.com/en/4.1/topics/forms/modelforms/),
+the appropriate Form `Field` will be automatically used:
+```python
+from django.forms import ModelForm
+from .models import Resource
+
+class ResourceForm(ModelForm):
+ class Meta:
+ model = Resource
+ fields = ['blob']
+```
+
+Forms using django-s3-file-field include additional
+[assets](https://docs.djangoproject.com/en/4.1/topics/forms/media/), which it's essential to render
+along with the Form. Typically, this can be done in any Form-containing Template as:
+```
+<head>
+ {# Assuming the Form is availible in context as "form" #}
+ {{ form.media }}
+</head>
+```
+
+### Django Rest Framework
+When defining a
+[Django Rest Frameowrk `ModelSerializer`](https://www.django-rest-framework.org/api-guide/serializers/#modelserializer),
+the appropriate Serializer `Field` will be automatically used:
+```python
+from rest_framework import serializers
+from .models import Resource
+
+class ResourceSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Resource
+ fields = ['blob']
+```
+
+Clients interacting with these RESTful APIs will need to use a corresponding django-s3-file-field
+client library. Client libraries (and associated documentation) are available for:
+* [Python](python-client/README.md)
+* [Javascript / TypeScript](javascript-client/README.md)
+
+### Pytest
+When installed, django-s3-file-field makes several
+[Pytest fixtures](https://docs.pytest.org/en/latest/explanation/fixtures.html) automatically
+available for use.
+
+The `s3ff_field_value` fixture will return a valid input value for Django `ModelForm` or
+Django Rest Framework `ModelSerializer` subclasses:
+```python
+from .forms import ResourceForm
+
+def test_resource_form(s3ff_field_value):
+ form = ResourceForm(data={'blob': s3ff_field_value})
+ assert form.is_valid()
+```
+
+Alternatively, the `s3ff_field_value_factory` fixture transforms a `File` object into a valid input
+value (for Django `ModelForm` or Django Rest Framework `ModelSerializer` subclasses), providing
+more control over the uploaded file:
+```python
+from django.core.files.storage import default_storage
+from rest_framework.test import APIClient
+
+def test_resource_create(s3ff_field_value_factory):
+ client = APIClient()
+ stored_file = default_storage.open('some_existing_file.txt')
+ s3ff_field_value = s3ff_field_value_factory(stored_file)
+ resp = client.post('/resource', data={'blob': s3ff_field_value})
+ assert resp.status_code == 201
+```
+
+
+
+
+%package -n python3-django-s3-file-field
+Summary: A django widget library for securely uploading files directly to S3 (or MinIO).
+Provides: python-django-s3-file-field
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-s3-file-field
+# django-s3-file-field
+[![PyPI](https://img.shields.io/pypi/v/django-s3-file-field)](https://pypi.org/project/django-s3-file-field/)
+
+django-s3-file-field is a Django library for uploading files directly to
+[AWS S3](https://aws.amazon.com/s3/) or [MinIO](https://min.io/) Storage from HTTP clients
+(browsers, CLIs, etc.).
+
+### Benefits
+django-s3-file-field makes long-running file transfers (with large files or slow connections)
+more efficient, as the file content is no longer proxied through the Django server. This also frees
+Django from needing to maintain active HTTP requests during file upload, decreasing server load and
+facilitating deployment to environments like
+[Heroku, which have short, strict request timeouts](https://devcenter.heroku.com/articles/request-timeout).
+
+### Scope
+The principal API of django-s3-file-field is the `S3FileField`, which is a subclass of
+[Django's `FileField`](https://docs.djangoproject.com/en/4.1/ref/models/fields/#filefield).
+django-s3-file-field does not affect any operations other than uploading from external HTTP
+clients; for all other file operations (downloading, uploading from the Python API, etc.), refer to
+[Django's file management documentation](https://docs.djangoproject.com/en/4.1/topics/files/).
+
+django-s3-file-field supports both the creation and modification (by overwrite) of
+`S3FileField`-containing `Model` instances.
+It supports server-rendered views, via the Forms API, with Form `Field` and `Widget` subclasses
+which will automatically be used for `ModelForm` instances.
+It also supports RESTful APIs, via Django Rest Framework's Serializer API, with a
+Serializer `Field` subclass which will automatically be used for `ModelSerializer` instances.
+
+## Installation
+django-s3-file-field must be used with a compatible Django Storage, which are:
+* `S3Boto3Storage` in [django-storages](https://django-storages.readthedocs.io/),
+ for [AWS S3](https://aws.amazon.com/s3/)
+* `MinioStorage` or `MinioMediaStorage` in [django-minio-storage](https://django-minio-storage.readthedocs.io/),
+ for [MinIO](https://min.io/)
+
+After the appropriate Storage is installed and configured, install django-s3-file-field, using the
+corresponding extra:
+```bash
+pip install django-s3-file-field[boto3]
+```
+or
+```bash
+pip install django-s3-file-field[minio]
+```
+
+Enable django-s3-file-field as an installed Django app:
+```python
+# settings.py
+INSTALLED_APPS = [
+ ...,
+ 's3_file_field',
+]
+```
+
+Add django-s3-file-field's URLconf to the root URLconf; the path prefix (`'api/s3-upload/'`)
+can be changed arbitrarily as desired:
+```python
+# urls.py
+from django.urls import include, path
+
+urlpatterns = [
+ ...,
+ path('api/s3-upload/', include('s3_file_field.urls')),
+]
+```
+
+## Usage
+For all usage, define an `S3FileField` on a Django `Model`, instead of a `FileField`:
+```python
+from django.db import models
+from s3_file_field import S3FileField
+
+class Resource(models.Model):
+ blob = S3FileField()
+```
+
+### Django Forms
+When defining a
+[Django `ModelForm`](https://docs.djangoproject.com/en/4.1/topics/forms/modelforms/),
+the appropriate Form `Field` will be automatically used:
+```python
+from django.forms import ModelForm
+from .models import Resource
+
+class ResourceForm(ModelForm):
+ class Meta:
+ model = Resource
+ fields = ['blob']
+```
+
+Forms using django-s3-file-field include additional
+[assets](https://docs.djangoproject.com/en/4.1/topics/forms/media/), which it's essential to render
+along with the Form. Typically, this can be done in any Form-containing Template as:
+```
+<head>
+ {# Assuming the Form is availible in context as "form" #}
+ {{ form.media }}
+</head>
+```
+
+### Django Rest Framework
+When defining a
+[Django Rest Frameowrk `ModelSerializer`](https://www.django-rest-framework.org/api-guide/serializers/#modelserializer),
+the appropriate Serializer `Field` will be automatically used:
+```python
+from rest_framework import serializers
+from .models import Resource
+
+class ResourceSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Resource
+ fields = ['blob']
+```
+
+Clients interacting with these RESTful APIs will need to use a corresponding django-s3-file-field
+client library. Client libraries (and associated documentation) are available for:
+* [Python](python-client/README.md)
+* [Javascript / TypeScript](javascript-client/README.md)
+
+### Pytest
+When installed, django-s3-file-field makes several
+[Pytest fixtures](https://docs.pytest.org/en/latest/explanation/fixtures.html) automatically
+available for use.
+
+The `s3ff_field_value` fixture will return a valid input value for Django `ModelForm` or
+Django Rest Framework `ModelSerializer` subclasses:
+```python
+from .forms import ResourceForm
+
+def test_resource_form(s3ff_field_value):
+ form = ResourceForm(data={'blob': s3ff_field_value})
+ assert form.is_valid()
+```
+
+Alternatively, the `s3ff_field_value_factory` fixture transforms a `File` object into a valid input
+value (for Django `ModelForm` or Django Rest Framework `ModelSerializer` subclasses), providing
+more control over the uploaded file:
+```python
+from django.core.files.storage import default_storage
+from rest_framework.test import APIClient
+
+def test_resource_create(s3ff_field_value_factory):
+ client = APIClient()
+ stored_file = default_storage.open('some_existing_file.txt')
+ s3ff_field_value = s3ff_field_value_factory(stored_file)
+ resp = client.post('/resource', data={'blob': s3ff_field_value})
+ assert resp.status_code == 201
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for django-s3-file-field
+Provides: python3-django-s3-file-field-doc
+%description help
+# django-s3-file-field
+[![PyPI](https://img.shields.io/pypi/v/django-s3-file-field)](https://pypi.org/project/django-s3-file-field/)
+
+django-s3-file-field is a Django library for uploading files directly to
+[AWS S3](https://aws.amazon.com/s3/) or [MinIO](https://min.io/) Storage from HTTP clients
+(browsers, CLIs, etc.).
+
+### Benefits
+django-s3-file-field makes long-running file transfers (with large files or slow connections)
+more efficient, as the file content is no longer proxied through the Django server. This also frees
+Django from needing to maintain active HTTP requests during file upload, decreasing server load and
+facilitating deployment to environments like
+[Heroku, which have short, strict request timeouts](https://devcenter.heroku.com/articles/request-timeout).
+
+### Scope
+The principal API of django-s3-file-field is the `S3FileField`, which is a subclass of
+[Django's `FileField`](https://docs.djangoproject.com/en/4.1/ref/models/fields/#filefield).
+django-s3-file-field does not affect any operations other than uploading from external HTTP
+clients; for all other file operations (downloading, uploading from the Python API, etc.), refer to
+[Django's file management documentation](https://docs.djangoproject.com/en/4.1/topics/files/).
+
+django-s3-file-field supports both the creation and modification (by overwrite) of
+`S3FileField`-containing `Model` instances.
+It supports server-rendered views, via the Forms API, with Form `Field` and `Widget` subclasses
+which will automatically be used for `ModelForm` instances.
+It also supports RESTful APIs, via Django Rest Framework's Serializer API, with a
+Serializer `Field` subclass which will automatically be used for `ModelSerializer` instances.
+
+## Installation
+django-s3-file-field must be used with a compatible Django Storage, which are:
+* `S3Boto3Storage` in [django-storages](https://django-storages.readthedocs.io/),
+ for [AWS S3](https://aws.amazon.com/s3/)
+* `MinioStorage` or `MinioMediaStorage` in [django-minio-storage](https://django-minio-storage.readthedocs.io/),
+ for [MinIO](https://min.io/)
+
+After the appropriate Storage is installed and configured, install django-s3-file-field, using the
+corresponding extra:
+```bash
+pip install django-s3-file-field[boto3]
+```
+or
+```bash
+pip install django-s3-file-field[minio]
+```
+
+Enable django-s3-file-field as an installed Django app:
+```python
+# settings.py
+INSTALLED_APPS = [
+ ...,
+ 's3_file_field',
+]
+```
+
+Add django-s3-file-field's URLconf to the root URLconf; the path prefix (`'api/s3-upload/'`)
+can be changed arbitrarily as desired:
+```python
+# urls.py
+from django.urls import include, path
+
+urlpatterns = [
+ ...,
+ path('api/s3-upload/', include('s3_file_field.urls')),
+]
+```
+
+## Usage
+For all usage, define an `S3FileField` on a Django `Model`, instead of a `FileField`:
+```python
+from django.db import models
+from s3_file_field import S3FileField
+
+class Resource(models.Model):
+ blob = S3FileField()
+```
+
+### Django Forms
+When defining a
+[Django `ModelForm`](https://docs.djangoproject.com/en/4.1/topics/forms/modelforms/),
+the appropriate Form `Field` will be automatically used:
+```python
+from django.forms import ModelForm
+from .models import Resource
+
+class ResourceForm(ModelForm):
+ class Meta:
+ model = Resource
+ fields = ['blob']
+```
+
+Forms using django-s3-file-field include additional
+[assets](https://docs.djangoproject.com/en/4.1/topics/forms/media/), which it's essential to render
+along with the Form. Typically, this can be done in any Form-containing Template as:
+```
+<head>
+ {# Assuming the Form is availible in context as "form" #}
+ {{ form.media }}
+</head>
+```
+
+### Django Rest Framework
+When defining a
+[Django Rest Frameowrk `ModelSerializer`](https://www.django-rest-framework.org/api-guide/serializers/#modelserializer),
+the appropriate Serializer `Field` will be automatically used:
+```python
+from rest_framework import serializers
+from .models import Resource
+
+class ResourceSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Resource
+ fields = ['blob']
+```
+
+Clients interacting with these RESTful APIs will need to use a corresponding django-s3-file-field
+client library. Client libraries (and associated documentation) are available for:
+* [Python](python-client/README.md)
+* [Javascript / TypeScript](javascript-client/README.md)
+
+### Pytest
+When installed, django-s3-file-field makes several
+[Pytest fixtures](https://docs.pytest.org/en/latest/explanation/fixtures.html) automatically
+available for use.
+
+The `s3ff_field_value` fixture will return a valid input value for Django `ModelForm` or
+Django Rest Framework `ModelSerializer` subclasses:
+```python
+from .forms import ResourceForm
+
+def test_resource_form(s3ff_field_value):
+ form = ResourceForm(data={'blob': s3ff_field_value})
+ assert form.is_valid()
+```
+
+Alternatively, the `s3ff_field_value_factory` fixture transforms a `File` object into a valid input
+value (for Django `ModelForm` or Django Rest Framework `ModelSerializer` subclasses), providing
+more control over the uploaded file:
+```python
+from django.core.files.storage import default_storage
+from rest_framework.test import APIClient
+
+def test_resource_create(s3ff_field_value_factory):
+ client = APIClient()
+ stored_file = default_storage.open('some_existing_file.txt')
+ s3ff_field_value = s3ff_field_value_factory(stored_file)
+ resp = client.post('/resource', data={'blob': s3ff_field_value})
+ assert resp.status_code == 201
+```
+
+
+
+
+%prep
+%autosetup -n django-s3-file-field-0.3.2
+
+%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-django-s3-file-field -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..5ad9752
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+9f00da607d39284ff3ca0e66cd06a61e django-s3-file-field-0.3.2.tar.gz