summaryrefslogtreecommitdiff
path: root/python-sqla-yaml-fixtures.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-sqla-yaml-fixtures.spec')
-rw-r--r--python-sqla-yaml-fixtures.spec173
1 files changed, 173 insertions, 0 deletions
diff --git a/python-sqla-yaml-fixtures.spec b/python-sqla-yaml-fixtures.spec
new file mode 100644
index 0000000..6f83dc8
--- /dev/null
+++ b/python-sqla-yaml-fixtures.spec
@@ -0,0 +1,173 @@
+%global _empty_manifest_terminate_build 0
+Name: python-sqla-yaml-fixtures
+Version: 1.1.0
+Release: 1
+Summary: Load YAML data fixtures for SQLAlchemy
+License: MIT
+URL: https://github.com/schettino72/sqla_yaml_fixtures
+Source0: https://mirrors.aliyun.com/pypi/web/packages/3a/2f/bc2a7ecef447cffecb34b4122cdb63f218406da514a2b5de12271d033070/sqla_yaml_fixtures-1.1.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-PyYAML
+Requires: python3-SQLAlchemy
+
+%description
+Load YAML data fixtures for SQLAlchemy
+This package allows you to define some data in YAML and load them into a
+DB. The yaml data should correspond to SQLAlchemy declarative mappers.
+Example:
+ - User:
+ - __key__: joey
+ username: joey
+ email: joey@example.com
+ profile:
+ name: Jeffrey
+ - __key__: dee
+ username: deedee
+ email: deedee@example.com
+ - Profile:
+ - user: dee
+ name: Douglas
+ - Group:
+ - name: Ramones
+ members: [joey.profile, dee.profile]
+- The root of YAML contains a *sequence* of ``mapper names`` e.g. ``- User``, ``- Profile`` etc
+- The order of these names should follow relationship dependencies
+- Every name should contain a *sequence* of instances
+- Each instance is a *mapping* of *attribute* -> *value*
+- the attributes are taken from the mapper ``__init__()`` (usually an
+ attributes maps to a column)
+- The special field ``__key__`` can be used to identify this instnace
+ in a relationship reference e.g. The ``Profile.user``
+- Note that any ``__key__`` MUST be globally **unique**
+- In a *to-one* relationship the data can be directly nested in the
+ parent data definition
+- References can access attributes using a *dot* notation, e.g.
+ ``joey.profile``
+- *to-many* relationships can be added as a list of references
+The mapper definition for this example is in the `test file`_.
+
+%package -n python3-sqla-yaml-fixtures
+Summary: Load YAML data fixtures for SQLAlchemy
+Provides: python-sqla-yaml-fixtures
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-sqla-yaml-fixtures
+Load YAML data fixtures for SQLAlchemy
+This package allows you to define some data in YAML and load them into a
+DB. The yaml data should correspond to SQLAlchemy declarative mappers.
+Example:
+ - User:
+ - __key__: joey
+ username: joey
+ email: joey@example.com
+ profile:
+ name: Jeffrey
+ - __key__: dee
+ username: deedee
+ email: deedee@example.com
+ - Profile:
+ - user: dee
+ name: Douglas
+ - Group:
+ - name: Ramones
+ members: [joey.profile, dee.profile]
+- The root of YAML contains a *sequence* of ``mapper names`` e.g. ``- User``, ``- Profile`` etc
+- The order of these names should follow relationship dependencies
+- Every name should contain a *sequence* of instances
+- Each instance is a *mapping* of *attribute* -> *value*
+- the attributes are taken from the mapper ``__init__()`` (usually an
+ attributes maps to a column)
+- The special field ``__key__`` can be used to identify this instnace
+ in a relationship reference e.g. The ``Profile.user``
+- Note that any ``__key__`` MUST be globally **unique**
+- In a *to-one* relationship the data can be directly nested in the
+ parent data definition
+- References can access attributes using a *dot* notation, e.g.
+ ``joey.profile``
+- *to-many* relationships can be added as a list of references
+The mapper definition for this example is in the `test file`_.
+
+%package help
+Summary: Development documents and examples for sqla-yaml-fixtures
+Provides: python3-sqla-yaml-fixtures-doc
+%description help
+Load YAML data fixtures for SQLAlchemy
+This package allows you to define some data in YAML and load them into a
+DB. The yaml data should correspond to SQLAlchemy declarative mappers.
+Example:
+ - User:
+ - __key__: joey
+ username: joey
+ email: joey@example.com
+ profile:
+ name: Jeffrey
+ - __key__: dee
+ username: deedee
+ email: deedee@example.com
+ - Profile:
+ - user: dee
+ name: Douglas
+ - Group:
+ - name: Ramones
+ members: [joey.profile, dee.profile]
+- The root of YAML contains a *sequence* of ``mapper names`` e.g. ``- User``, ``- Profile`` etc
+- The order of these names should follow relationship dependencies
+- Every name should contain a *sequence* of instances
+- Each instance is a *mapping* of *attribute* -> *value*
+- the attributes are taken from the mapper ``__init__()`` (usually an
+ attributes maps to a column)
+- The special field ``__key__`` can be used to identify this instnace
+ in a relationship reference e.g. The ``Profile.user``
+- Note that any ``__key__`` MUST be globally **unique**
+- In a *to-one* relationship the data can be directly nested in the
+ parent data definition
+- References can access attributes using a *dot* notation, e.g.
+ ``joey.profile``
+- *to-many* relationships can be added as a list of references
+The mapper definition for this example is in the `test file`_.
+
+%prep
+%autosetup -n sqla_yaml_fixtures-1.1.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-sqla-yaml-fixtures -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1
+- Package Spec generated