summaryrefslogtreecommitdiff
path: root/python-drf-compound-fields.spec
blob: b325b77a8e7f941647dc5d031ba331678937a104 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
%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 <http://www.django-rest-framework.org/>`_
`serializer fields <http://www.django-rest-framework.org/api-guide/fields>`_ for compound types.
Django-REST-framework provides the ability to
`deal with multiple objects <http://www.django-rest-framework.org/api-guide/serializers#dealing-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 <http://www.django-rest-framework.org/>`_
`serializer fields <http://www.django-rest-framework.org/api-guide/fields>`_ for compound types.
Django-REST-framework provides the ability to
`deal with multiple objects <http://www.django-rest-framework.org/api-guide/serializers#dealing-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 <http://www.django-rest-framework.org/>`_
`serializer fields <http://www.django-rest-framework.org/api-guide/fields>`_ for compound types.
Django-REST-framework provides the ability to
`deal with multiple objects <http://www.django-rest-framework.org/api-guide/serializers#dealing-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 <Python_Bot@openeuler.org> - 2.0.0-1
- Package Spec generated