summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 08:12:51 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 08:12:51 +0000
commitd18c4e3dc551fe66be7c4815e01e6028412be998 (patch)
tree24211da486dfa9c67d0f9e1006208620d9458135
parent888b654a8dd9c48960dd60d9f40500c562d3b576 (diff)
automatic import of python-django-automations
-rw-r--r--.gitignore1
-rw-r--r--python-django-automations.spec391
-rw-r--r--sources1
3 files changed, 393 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..179a5e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/django-automations-0.9.4.1.tar.gz
diff --git a/python-django-automations.spec b/python-django-automations.spec
new file mode 100644
index 0000000..5af499b
--- /dev/null
+++ b/python-django-automations.spec
@@ -0,0 +1,391 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-automations
+Version: 0.9.4.1
+Release: 1
+Summary: Processes and automations for your Django project
+License: MIT License
+URL: https://github.com/fsbraun/django-automations
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/0b/ed/97cb4974ce37eda4a8c1818a286e3366a529d9228bca74555113536049e7/django-automations-0.9.4.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-Django
+
+%description
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-automations)
+![PyPI - Django Version](https://img.shields.io/pypi/djversions/django-automations)
+![GitHub](https://img.shields.io/github/license/fsbraun/django-automations)
+
+[![PyPI](https://img.shields.io/pypi/v/django-automations)](https://pypi.org/project/django-automations/)
+[![Read the Docs](https://img.shields.io/readthedocs/django-automations)](https://django-automations.readthedocs.io/en/latest/)
+[![codecov](https://codecov.io/gh/fsbraun/django-automations/branch/master/graph/badge.svg?token=DSA28NEFL9)](https://codecov.io/gh/fsbraun/django-automations)
+
+# Django-automations
+
+A lightweight framework to collect all processes of your django app in one place.
+
+Use cases:
+
+* Marketing automations, customer journeys
+* Simple business processes which require user interactions
+* Running regular tasks
+
+Django-automations works with plain Django but also integrates with Django-CMS.
+
+## Key features
+
+* Describe automations as python classes
+
+* Bind automations to models from other Django apps
+
+* Use Django forms for user interaction
+
+* Create transparency through extendable dashboard
+
+* Declare automations as unique or unique for a certain data set
+
+* Start automations on signals or when, e.g., user visits a page
+
+* Send messages between automations
+
+## Requirements
+
+* **Python**: 3.7, 3.8, 3.9, 3.10
+* **Django**: 3.0, 3.1, 3.2
+
+## Feedback
+
+This project is in a early stage. All feedback is welcome! Please mail me at fsbraun(at)gmx.de
+
+# Installation
+
+This project will be available on pypi after the first release. In the meantime, please install the master branch from
+git using
+
+ pip install https://github.com/fsbraun/django-automations/archive/master.zip
+
+After installation add the `automations` to your installed apps in `settings.py`:
+
+ INSTALLED_APPS = (
+ ...,
+ 'automations',
+ 'automations.cms_automations', # ONLY IF YOU USE DJANGO-CMS!
+ )
+
+Only include the "sub app" `automations.cms_automations` if you are using Django CMS.
+
+The last step is to run the necessary migrations using the `manage.py` command:
+
+ python manage.py migrate automations
+
+
+# Usage
+
+The basic idea is to add an automation layer to Django's model, view, template structure. The automation layer collects
+in one place all business processes which in a Django app often are distributed across models, views and any glue code.
+
+**Automations** consist of **tasks** which are carried out one after another. **Modifiers** affect, e.g. when a task is
+carried out.
+
+ from automations import flow
+ from automations.flow import this
+ # "this" can be used in a class definition as a replacement for "self"
+
+ from . import forms
+
+ class ProcessInput(Automation):
+ """The process steps are defined by sequentially adding the corresponding nodes"""
+ start = flow.Execute(this.get_user_input) # Collect input a user has supplied
+ check = flow.If(
+ this.does_not_need_approval # Need approval?
+ ).Then(this.process) # No? Continue later
+ approval = flow.Form(forms.ApprovalForm).Group(name="admins") # Let admins approve
+ process = flow.Execute(this.process_input) # Generate output
+ end = flow.End()
+
+ critical = 10_000
+
+ def get_user_input(task_instance):
+ ...
+
+ def does_not_need_approval(task_instance):
+ return not (task_instance.data['amount'] > self.critical)
+
+ def process_input(task_instance):
+ ...
+
+# Documentation
+
+See the [documentation on readthedocs.io](https://django-automations.readthedocs.io/).
+
+
+
+%package -n python3-django-automations
+Summary: Processes and automations for your Django project
+Provides: python-django-automations
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-automations
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-automations)
+![PyPI - Django Version](https://img.shields.io/pypi/djversions/django-automations)
+![GitHub](https://img.shields.io/github/license/fsbraun/django-automations)
+
+[![PyPI](https://img.shields.io/pypi/v/django-automations)](https://pypi.org/project/django-automations/)
+[![Read the Docs](https://img.shields.io/readthedocs/django-automations)](https://django-automations.readthedocs.io/en/latest/)
+[![codecov](https://codecov.io/gh/fsbraun/django-automations/branch/master/graph/badge.svg?token=DSA28NEFL9)](https://codecov.io/gh/fsbraun/django-automations)
+
+# Django-automations
+
+A lightweight framework to collect all processes of your django app in one place.
+
+Use cases:
+
+* Marketing automations, customer journeys
+* Simple business processes which require user interactions
+* Running regular tasks
+
+Django-automations works with plain Django but also integrates with Django-CMS.
+
+## Key features
+
+* Describe automations as python classes
+
+* Bind automations to models from other Django apps
+
+* Use Django forms for user interaction
+
+* Create transparency through extendable dashboard
+
+* Declare automations as unique or unique for a certain data set
+
+* Start automations on signals or when, e.g., user visits a page
+
+* Send messages between automations
+
+## Requirements
+
+* **Python**: 3.7, 3.8, 3.9, 3.10
+* **Django**: 3.0, 3.1, 3.2
+
+## Feedback
+
+This project is in a early stage. All feedback is welcome! Please mail me at fsbraun(at)gmx.de
+
+# Installation
+
+This project will be available on pypi after the first release. In the meantime, please install the master branch from
+git using
+
+ pip install https://github.com/fsbraun/django-automations/archive/master.zip
+
+After installation add the `automations` to your installed apps in `settings.py`:
+
+ INSTALLED_APPS = (
+ ...,
+ 'automations',
+ 'automations.cms_automations', # ONLY IF YOU USE DJANGO-CMS!
+ )
+
+Only include the "sub app" `automations.cms_automations` if you are using Django CMS.
+
+The last step is to run the necessary migrations using the `manage.py` command:
+
+ python manage.py migrate automations
+
+
+# Usage
+
+The basic idea is to add an automation layer to Django's model, view, template structure. The automation layer collects
+in one place all business processes which in a Django app often are distributed across models, views and any glue code.
+
+**Automations** consist of **tasks** which are carried out one after another. **Modifiers** affect, e.g. when a task is
+carried out.
+
+ from automations import flow
+ from automations.flow import this
+ # "this" can be used in a class definition as a replacement for "self"
+
+ from . import forms
+
+ class ProcessInput(Automation):
+ """The process steps are defined by sequentially adding the corresponding nodes"""
+ start = flow.Execute(this.get_user_input) # Collect input a user has supplied
+ check = flow.If(
+ this.does_not_need_approval # Need approval?
+ ).Then(this.process) # No? Continue later
+ approval = flow.Form(forms.ApprovalForm).Group(name="admins") # Let admins approve
+ process = flow.Execute(this.process_input) # Generate output
+ end = flow.End()
+
+ critical = 10_000
+
+ def get_user_input(task_instance):
+ ...
+
+ def does_not_need_approval(task_instance):
+ return not (task_instance.data['amount'] > self.critical)
+
+ def process_input(task_instance):
+ ...
+
+# Documentation
+
+See the [documentation on readthedocs.io](https://django-automations.readthedocs.io/).
+
+
+
+%package help
+Summary: Development documents and examples for django-automations
+Provides: python3-django-automations-doc
+%description help
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-automations)
+![PyPI - Django Version](https://img.shields.io/pypi/djversions/django-automations)
+![GitHub](https://img.shields.io/github/license/fsbraun/django-automations)
+
+[![PyPI](https://img.shields.io/pypi/v/django-automations)](https://pypi.org/project/django-automations/)
+[![Read the Docs](https://img.shields.io/readthedocs/django-automations)](https://django-automations.readthedocs.io/en/latest/)
+[![codecov](https://codecov.io/gh/fsbraun/django-automations/branch/master/graph/badge.svg?token=DSA28NEFL9)](https://codecov.io/gh/fsbraun/django-automations)
+
+# Django-automations
+
+A lightweight framework to collect all processes of your django app in one place.
+
+Use cases:
+
+* Marketing automations, customer journeys
+* Simple business processes which require user interactions
+* Running regular tasks
+
+Django-automations works with plain Django but also integrates with Django-CMS.
+
+## Key features
+
+* Describe automations as python classes
+
+* Bind automations to models from other Django apps
+
+* Use Django forms for user interaction
+
+* Create transparency through extendable dashboard
+
+* Declare automations as unique or unique for a certain data set
+
+* Start automations on signals or when, e.g., user visits a page
+
+* Send messages between automations
+
+## Requirements
+
+* **Python**: 3.7, 3.8, 3.9, 3.10
+* **Django**: 3.0, 3.1, 3.2
+
+## Feedback
+
+This project is in a early stage. All feedback is welcome! Please mail me at fsbraun(at)gmx.de
+
+# Installation
+
+This project will be available on pypi after the first release. In the meantime, please install the master branch from
+git using
+
+ pip install https://github.com/fsbraun/django-automations/archive/master.zip
+
+After installation add the `automations` to your installed apps in `settings.py`:
+
+ INSTALLED_APPS = (
+ ...,
+ 'automations',
+ 'automations.cms_automations', # ONLY IF YOU USE DJANGO-CMS!
+ )
+
+Only include the "sub app" `automations.cms_automations` if you are using Django CMS.
+
+The last step is to run the necessary migrations using the `manage.py` command:
+
+ python manage.py migrate automations
+
+
+# Usage
+
+The basic idea is to add an automation layer to Django's model, view, template structure. The automation layer collects
+in one place all business processes which in a Django app often are distributed across models, views and any glue code.
+
+**Automations** consist of **tasks** which are carried out one after another. **Modifiers** affect, e.g. when a task is
+carried out.
+
+ from automations import flow
+ from automations.flow import this
+ # "this" can be used in a class definition as a replacement for "self"
+
+ from . import forms
+
+ class ProcessInput(Automation):
+ """The process steps are defined by sequentially adding the corresponding nodes"""
+ start = flow.Execute(this.get_user_input) # Collect input a user has supplied
+ check = flow.If(
+ this.does_not_need_approval # Need approval?
+ ).Then(this.process) # No? Continue later
+ approval = flow.Form(forms.ApprovalForm).Group(name="admins") # Let admins approve
+ process = flow.Execute(this.process_input) # Generate output
+ end = flow.End()
+
+ critical = 10_000
+
+ def get_user_input(task_instance):
+ ...
+
+ def does_not_need_approval(task_instance):
+ return not (task_instance.data['amount'] > self.critical)
+
+ def process_input(task_instance):
+ ...
+
+# Documentation
+
+See the [documentation on readthedocs.io](https://django-automations.readthedocs.io/).
+
+
+
+%prep
+%autosetup -n django-automations-0.9.4.1
+
+%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-automations -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.4.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..c7821af
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+19bf625052f08a54fc3fc3eccc9f93f4 django-automations-0.9.4.1.tar.gz