summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 23:26:32 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 23:26:32 +0000
commit33989f5261c5af3b4d4ef583f0683b08139d77ea (patch)
tree97c1b5bcc1742225f06c21ce988dc0d00423084d
parent8a2c01a6cc093fdaf0927305b3268dd25b37dd65 (diff)
automatic import of python-django-rest-passwordreset
-rw-r--r--.gitignore1
-rw-r--r--python-django-rest-passwordreset.spec360
-rw-r--r--sources1
3 files changed, 362 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..9f0abbc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/django-rest-passwordreset-1.3.0.tar.gz
diff --git a/python-django-rest-passwordreset.spec b/python-django-rest-passwordreset.spec
new file mode 100644
index 0000000..68e835a
--- /dev/null
+++ b/python-django-rest-passwordreset.spec
@@ -0,0 +1,360 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-rest-passwordreset
+Version: 1.3.0
+Release: 1
+Summary: An extension of django rest framework, providing a configurable password reset strategy
+License: BSD License
+URL: https://github.com/anexia-it/django-rest-passwordreset
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b8/94/e97aebeed7b4e5bc11793b83db95c5b8de9e963579912898fe41b7d59d5b/django-rest-passwordreset-1.3.0.tar.gz
+BuildArch: noarch
+
+
+%description
+0.9.7 | 1.8, 1.11, 2.0, 2.1 | 3.6 - 3.9 | 2.7
+1.0 | 1.11, 2.0, 2.2 | 3.6 - 3.9 | 2.7
+1.1 | 1.11, 2.2 | 3.6 - 3.9 | 2.7
+1.2 | 2.2, 3.0, 3.1 | 3.10, 3.11 | 3.5 - 3.8
+1.3 | 3.2, 4.0, 4.1 | 3.12, 3.13 | 3.7 - 3.10
+## Documentation / Browsable API
+This package supports the [DRF auto-generated documentation](https://www.django-rest-framework.org/topics/documenting-your-api/) (via `coreapi`) as well as the [DRF browsable API](https://www.django-rest-framework.org/topics/browsable-api/).
+To add the endpoints to the browsable API, you can use a helper function in your `urls.py` file:
+```python
+from rest_framework.routers import DefaultRouter
+from django_rest_passwordreset.urls import add_reset_password_urls_to_router
+router = DefaultRouter()
+add_reset_password_urls_to_router(router, base_path='api/auth/passwordreset')
+```
+Alternatively you can import the ViewSets manually and customize the routes for your setup:
+```python
+from rest_framework.routers import DefaultRouter
+from django_rest_passwordreset.views import ResetPasswordValidateTokenViewSet, ResetPasswordConfirmViewSet, \
+ ResetPasswordRequestTokenViewSet
+router = DefaultRouter()
+router.register(
+ r'api/auth/passwordreset/validate_token',
+ ResetPasswordValidateTokenViewSet,
+ basename='reset-password-validate'
+)
+router.register(
+ r'api/auth/passwordreset/confirm',
+ ResetPasswordConfirmViewSet,
+ basename='reset-password-confirm'
+)
+router.register(
+ r'api/auth/passwordreset/',
+ ResetPasswordRequestTokenViewSet,
+ basename='reset-password-request'
+)
+```
+![drf_browsable_email_validation](docs/browsable_api_email_validation.png "Browsable API E-Mail Validation")
+![drf_browsable_password_validation](docs/browsable_api_password_validation.png "Browsable API E-Mail Validation")
+![coreapi_docs](docs/coreapi_docs.png "Core API Docs")
+## Known Issues / FAQ
+### Django 2.1 Migrations - Multiple Primary keys for table ...
+Django 2.1 introduced a breaking change for migrations (see [Django Issue #29790](https://code.djangoproject.com/ticket/29790)). We therefore had to rewrite the migration [0002_pk_migration.py](django_rest_passwordreset/migrations/0002_pk_migration.py) such that it covers Django versions before (`<`) 2.1 and later (`>=`) 2.1.
+Some information is written down in Issue #8.
+### The `reset_password_token_created` signal is not fired
+You need to make sure that the code with `@receiver(reset_password_token_created)` is executed by the python interpreter. To ensure this, you have two options:
+1. Put the code at a place that is automatically loaded by Django (e.g., models.py, views.py), or
+2. Import the file that contains the signal within your app.py `ready` function:
+ *some_app/signals.py*
+ ```python
+ from django.core.mail import EmailMultiAlternatives
+ from django.dispatch import receiver
+ from django.template.loader import render_to_string
+ from django.urls import reverse
+ from django_rest_passwordreset.signals import reset_password_token_created
+ @receiver(reset_password_token_created)
+ def password_reset_token_created(sender, instance, reset_password_token, *args, **kwargs):
+ # ...
+ ```
+ *some_app/app.py*
+ ```python
+ from django.apps import AppConfig
+ class SomeAppConfig(AppConfig):
+ name = 'your_django_project.some_app'
+ verbose_name = 'Some App'
+ def ready(self):
+ import your_django_project.some_app.signals # noqa
+ ```
+ *some_app/__init__.py*
+ ```python
+ default_app_config = 'your_django_project.some_app.SomeAppConfig'
+ ```
+### MongoDB not working
+Apparently, the following piece of code in the Django Model prevents MongodB from working:
+```python
+ id = models.AutoField(
+ primary_key=True
+ )
+```
+See issue #49 for details.
+## Contributions
+This library tries to follow the unix philosophy of "do one thing and do it well" (which is providing a basic password reset endpoint for Django Rest Framework). Contributions are welcome in the form of pull requests and issues! If you create a pull request, please make sure that you are not introducing breaking changes.
+## Tests
+See folder [tests/](tests/). Basically, all endpoints are covered with multiple
+unit tests.
+Use this code snippet to run tests:
+```bash
+python setup.py install
+cd tests
+python manage.py test
+```
+## Release on PyPi
+To release this package on pypi, the following steps are used:
+```bash
+rm -rf dist/ build/
+python setup.py sdist
+twine upload dist/*
+```
+
+%package -n python3-django-rest-passwordreset
+Summary: An extension of django rest framework, providing a configurable password reset strategy
+Provides: python-django-rest-passwordreset
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-rest-passwordreset
+0.9.7 | 1.8, 1.11, 2.0, 2.1 | 3.6 - 3.9 | 2.7
+1.0 | 1.11, 2.0, 2.2 | 3.6 - 3.9 | 2.7
+1.1 | 1.11, 2.2 | 3.6 - 3.9 | 2.7
+1.2 | 2.2, 3.0, 3.1 | 3.10, 3.11 | 3.5 - 3.8
+1.3 | 3.2, 4.0, 4.1 | 3.12, 3.13 | 3.7 - 3.10
+## Documentation / Browsable API
+This package supports the [DRF auto-generated documentation](https://www.django-rest-framework.org/topics/documenting-your-api/) (via `coreapi`) as well as the [DRF browsable API](https://www.django-rest-framework.org/topics/browsable-api/).
+To add the endpoints to the browsable API, you can use a helper function in your `urls.py` file:
+```python
+from rest_framework.routers import DefaultRouter
+from django_rest_passwordreset.urls import add_reset_password_urls_to_router
+router = DefaultRouter()
+add_reset_password_urls_to_router(router, base_path='api/auth/passwordreset')
+```
+Alternatively you can import the ViewSets manually and customize the routes for your setup:
+```python
+from rest_framework.routers import DefaultRouter
+from django_rest_passwordreset.views import ResetPasswordValidateTokenViewSet, ResetPasswordConfirmViewSet, \
+ ResetPasswordRequestTokenViewSet
+router = DefaultRouter()
+router.register(
+ r'api/auth/passwordreset/validate_token',
+ ResetPasswordValidateTokenViewSet,
+ basename='reset-password-validate'
+)
+router.register(
+ r'api/auth/passwordreset/confirm',
+ ResetPasswordConfirmViewSet,
+ basename='reset-password-confirm'
+)
+router.register(
+ r'api/auth/passwordreset/',
+ ResetPasswordRequestTokenViewSet,
+ basename='reset-password-request'
+)
+```
+![drf_browsable_email_validation](docs/browsable_api_email_validation.png "Browsable API E-Mail Validation")
+![drf_browsable_password_validation](docs/browsable_api_password_validation.png "Browsable API E-Mail Validation")
+![coreapi_docs](docs/coreapi_docs.png "Core API Docs")
+## Known Issues / FAQ
+### Django 2.1 Migrations - Multiple Primary keys for table ...
+Django 2.1 introduced a breaking change for migrations (see [Django Issue #29790](https://code.djangoproject.com/ticket/29790)). We therefore had to rewrite the migration [0002_pk_migration.py](django_rest_passwordreset/migrations/0002_pk_migration.py) such that it covers Django versions before (`<`) 2.1 and later (`>=`) 2.1.
+Some information is written down in Issue #8.
+### The `reset_password_token_created` signal is not fired
+You need to make sure that the code with `@receiver(reset_password_token_created)` is executed by the python interpreter. To ensure this, you have two options:
+1. Put the code at a place that is automatically loaded by Django (e.g., models.py, views.py), or
+2. Import the file that contains the signal within your app.py `ready` function:
+ *some_app/signals.py*
+ ```python
+ from django.core.mail import EmailMultiAlternatives
+ from django.dispatch import receiver
+ from django.template.loader import render_to_string
+ from django.urls import reverse
+ from django_rest_passwordreset.signals import reset_password_token_created
+ @receiver(reset_password_token_created)
+ def password_reset_token_created(sender, instance, reset_password_token, *args, **kwargs):
+ # ...
+ ```
+ *some_app/app.py*
+ ```python
+ from django.apps import AppConfig
+ class SomeAppConfig(AppConfig):
+ name = 'your_django_project.some_app'
+ verbose_name = 'Some App'
+ def ready(self):
+ import your_django_project.some_app.signals # noqa
+ ```
+ *some_app/__init__.py*
+ ```python
+ default_app_config = 'your_django_project.some_app.SomeAppConfig'
+ ```
+### MongoDB not working
+Apparently, the following piece of code in the Django Model prevents MongodB from working:
+```python
+ id = models.AutoField(
+ primary_key=True
+ )
+```
+See issue #49 for details.
+## Contributions
+This library tries to follow the unix philosophy of "do one thing and do it well" (which is providing a basic password reset endpoint for Django Rest Framework). Contributions are welcome in the form of pull requests and issues! If you create a pull request, please make sure that you are not introducing breaking changes.
+## Tests
+See folder [tests/](tests/). Basically, all endpoints are covered with multiple
+unit tests.
+Use this code snippet to run tests:
+```bash
+python setup.py install
+cd tests
+python manage.py test
+```
+## Release on PyPi
+To release this package on pypi, the following steps are used:
+```bash
+rm -rf dist/ build/
+python setup.py sdist
+twine upload dist/*
+```
+
+%package help
+Summary: Development documents and examples for django-rest-passwordreset
+Provides: python3-django-rest-passwordreset-doc
+%description help
+0.9.7 | 1.8, 1.11, 2.0, 2.1 | 3.6 - 3.9 | 2.7
+1.0 | 1.11, 2.0, 2.2 | 3.6 - 3.9 | 2.7
+1.1 | 1.11, 2.2 | 3.6 - 3.9 | 2.7
+1.2 | 2.2, 3.0, 3.1 | 3.10, 3.11 | 3.5 - 3.8
+1.3 | 3.2, 4.0, 4.1 | 3.12, 3.13 | 3.7 - 3.10
+## Documentation / Browsable API
+This package supports the [DRF auto-generated documentation](https://www.django-rest-framework.org/topics/documenting-your-api/) (via `coreapi`) as well as the [DRF browsable API](https://www.django-rest-framework.org/topics/browsable-api/).
+To add the endpoints to the browsable API, you can use a helper function in your `urls.py` file:
+```python
+from rest_framework.routers import DefaultRouter
+from django_rest_passwordreset.urls import add_reset_password_urls_to_router
+router = DefaultRouter()
+add_reset_password_urls_to_router(router, base_path='api/auth/passwordreset')
+```
+Alternatively you can import the ViewSets manually and customize the routes for your setup:
+```python
+from rest_framework.routers import DefaultRouter
+from django_rest_passwordreset.views import ResetPasswordValidateTokenViewSet, ResetPasswordConfirmViewSet, \
+ ResetPasswordRequestTokenViewSet
+router = DefaultRouter()
+router.register(
+ r'api/auth/passwordreset/validate_token',
+ ResetPasswordValidateTokenViewSet,
+ basename='reset-password-validate'
+)
+router.register(
+ r'api/auth/passwordreset/confirm',
+ ResetPasswordConfirmViewSet,
+ basename='reset-password-confirm'
+)
+router.register(
+ r'api/auth/passwordreset/',
+ ResetPasswordRequestTokenViewSet,
+ basename='reset-password-request'
+)
+```
+![drf_browsable_email_validation](docs/browsable_api_email_validation.png "Browsable API E-Mail Validation")
+![drf_browsable_password_validation](docs/browsable_api_password_validation.png "Browsable API E-Mail Validation")
+![coreapi_docs](docs/coreapi_docs.png "Core API Docs")
+## Known Issues / FAQ
+### Django 2.1 Migrations - Multiple Primary keys for table ...
+Django 2.1 introduced a breaking change for migrations (see [Django Issue #29790](https://code.djangoproject.com/ticket/29790)). We therefore had to rewrite the migration [0002_pk_migration.py](django_rest_passwordreset/migrations/0002_pk_migration.py) such that it covers Django versions before (`<`) 2.1 and later (`>=`) 2.1.
+Some information is written down in Issue #8.
+### The `reset_password_token_created` signal is not fired
+You need to make sure that the code with `@receiver(reset_password_token_created)` is executed by the python interpreter. To ensure this, you have two options:
+1. Put the code at a place that is automatically loaded by Django (e.g., models.py, views.py), or
+2. Import the file that contains the signal within your app.py `ready` function:
+ *some_app/signals.py*
+ ```python
+ from django.core.mail import EmailMultiAlternatives
+ from django.dispatch import receiver
+ from django.template.loader import render_to_string
+ from django.urls import reverse
+ from django_rest_passwordreset.signals import reset_password_token_created
+ @receiver(reset_password_token_created)
+ def password_reset_token_created(sender, instance, reset_password_token, *args, **kwargs):
+ # ...
+ ```
+ *some_app/app.py*
+ ```python
+ from django.apps import AppConfig
+ class SomeAppConfig(AppConfig):
+ name = 'your_django_project.some_app'
+ verbose_name = 'Some App'
+ def ready(self):
+ import your_django_project.some_app.signals # noqa
+ ```
+ *some_app/__init__.py*
+ ```python
+ default_app_config = 'your_django_project.some_app.SomeAppConfig'
+ ```
+### MongoDB not working
+Apparently, the following piece of code in the Django Model prevents MongodB from working:
+```python
+ id = models.AutoField(
+ primary_key=True
+ )
+```
+See issue #49 for details.
+## Contributions
+This library tries to follow the unix philosophy of "do one thing and do it well" (which is providing a basic password reset endpoint for Django Rest Framework). Contributions are welcome in the form of pull requests and issues! If you create a pull request, please make sure that you are not introducing breaking changes.
+## Tests
+See folder [tests/](tests/). Basically, all endpoints are covered with multiple
+unit tests.
+Use this code snippet to run tests:
+```bash
+python setup.py install
+cd tests
+python manage.py test
+```
+## Release on PyPi
+To release this package on pypi, the following steps are used:
+```bash
+rm -rf dist/ build/
+python setup.py sdist
+twine upload dist/*
+```
+
+%prep
+%autosetup -n django-rest-passwordreset-1.3.0
+
+%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-rest-passwordreset -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..a6b2ec0
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+5c4486be366972dabbf683e9a34f7e1e django-rest-passwordreset-1.3.0.tar.gz