%global _empty_manifest_terminate_build 0
Name: python-drf-compound-fields
Version: 2.0.0
Release: 1
Summary: Django-REST-framework serializer fields for compound types.
License: BSD
URL: https://github.com/estebistec/drf-compound-fields
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/5e/93/9296321434bb74b0c99ecd6c64b1e3171efeb8c19cdb11aa2543cf099195/drf-compound-fields-2.0.0.tar.gz
BuildArch: noarch
%description
`Django-REST-framework `_
`serializer fields `_ for compound types.
Django-REST-framework provides the ability to
`deal with multiple objects `_
using the `many=True` option on serializers. That allows for lists of objects and for fields to be
lists of objects.
This package expands on that and provides fields allowing:
* Lists of simple (non-object) types, described by other serializer fields.
* Fields that allow values to be a list or individual item of some type.
* Dictionaries of simple and object types.
* Partial dictionaries which include keys specified in a list.
A quick example::
from drf_compound_fields.fields import DictField
from drf_compound_fields.fields import ListField
from drf_compound_fields.fields import ListOrItemField
from drf_compound_fields.fields import ListField
from rest_framework import serializers
class EmailContact(serializers.Serializer):
email = serializers.EmailField()
verified = serializers.BooleanField()
class UserProfile(serializers.Serializer):
username = serializers.CharField()
email_contacts = EmailContact(many=True) # List of objects: possible with REST-framework alone
# This is the new stuff:
skills = ListField(serializers.CharField()) # E.g., ["javascript", "python", "ruby"]
name = ListOrItemField(serializers.CharField()) # E.g., "Prince" or ["John", "Smith"]
bookmarks = DictField(serializers.URLField()) # E.g., {"./": "http://slashdot.org"}
measurements = PartialDictField(included_keys=['height', 'weight'], serializers.IntegerField())
%package -n python3-drf-compound-fields
Summary: Django-REST-framework serializer fields for compound types.
Provides: python-drf-compound-fields
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-drf-compound-fields
`Django-REST-framework `_
`serializer fields `_ for compound types.
Django-REST-framework provides the ability to
`deal with multiple objects `_
using the `many=True` option on serializers. That allows for lists of objects and for fields to be
lists of objects.
This package expands on that and provides fields allowing:
* Lists of simple (non-object) types, described by other serializer fields.
* Fields that allow values to be a list or individual item of some type.
* Dictionaries of simple and object types.
* Partial dictionaries which include keys specified in a list.
A quick example::
from drf_compound_fields.fields import DictField
from drf_compound_fields.fields import ListField
from drf_compound_fields.fields import ListOrItemField
from drf_compound_fields.fields import ListField
from rest_framework import serializers
class EmailContact(serializers.Serializer):
email = serializers.EmailField()
verified = serializers.BooleanField()
class UserProfile(serializers.Serializer):
username = serializers.CharField()
email_contacts = EmailContact(many=True) # List of objects: possible with REST-framework alone
# This is the new stuff:
skills = ListField(serializers.CharField()) # E.g., ["javascript", "python", "ruby"]
name = ListOrItemField(serializers.CharField()) # E.g., "Prince" or ["John", "Smith"]
bookmarks = DictField(serializers.URLField()) # E.g., {"./": "http://slashdot.org"}
measurements = PartialDictField(included_keys=['height', 'weight'], serializers.IntegerField())
%package help
Summary: Development documents and examples for drf-compound-fields
Provides: python3-drf-compound-fields-doc
%description help
`Django-REST-framework `_
`serializer fields `_ for compound types.
Django-REST-framework provides the ability to
`deal with multiple objects `_
using the `many=True` option on serializers. That allows for lists of objects and for fields to be
lists of objects.
This package expands on that and provides fields allowing:
* Lists of simple (non-object) types, described by other serializer fields.
* Fields that allow values to be a list or individual item of some type.
* Dictionaries of simple and object types.
* Partial dictionaries which include keys specified in a list.
A quick example::
from drf_compound_fields.fields import DictField
from drf_compound_fields.fields import ListField
from drf_compound_fields.fields import ListOrItemField
from drf_compound_fields.fields import ListField
from rest_framework import serializers
class EmailContact(serializers.Serializer):
email = serializers.EmailField()
verified = serializers.BooleanField()
class UserProfile(serializers.Serializer):
username = serializers.CharField()
email_contacts = EmailContact(many=True) # List of objects: possible with REST-framework alone
# This is the new stuff:
skills = ListField(serializers.CharField()) # E.g., ["javascript", "python", "ruby"]
name = ListOrItemField(serializers.CharField()) # E.g., "Prince" or ["John", "Smith"]
bookmarks = DictField(serializers.URLField()) # E.g., {"./": "http://slashdot.org"}
measurements = PartialDictField(included_keys=['height', 'weight'], serializers.IntegerField())
%prep
%autosetup -n drf-compound-fields-2.0.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-drf-compound-fields -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue Apr 11 2023 Python_Bot - 2.0.0-1
- Package Spec generated