summaryrefslogtreecommitdiff
path: root/python-json-dict.spec
blob: bf98ff49f7e089f3bba60e93bbf2752b30206ab3 (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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
%global _empty_manifest_terminate_build 0
Name:		python-Json-Dict
Version:	0.3.1615812759
Release:	1
Summary:	Store data in JSON format
License:	MIT License
URL:		https://github.com/JulianKimmig/json_dict
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/69/f0/f64d14322ebddf72bb3f6ed1531f9cc183c5cfa699d2bced113c6814593f/Json_Dict-0.3.1615812759.tar.gz
BuildArch:	noarch


%description
A self saving json based config file.
Storable data are all classical JSON datatypes including lists/arrays and dictionaries, which will be stored as JSON Objects.

The Json_Dict object can be initialized via `jd = JsonDict()`

The Object can be initialized with a file (as path) , which will be
created if not existend (turn off by passing `createfile=False` as parameter).
You can also pass initial data to the instance via the `data`. The data can be in the form of another JsonDict, an JSON string or an JSON serializable dictionary.
If a file is specified the JsonDict will first try to read the file and if this does not work fall back to the initial provided data.

If a file is provided the JsonDict will be saved to the file on value addition/change. This can be turned of generally 
by providing the initial argument `autosave=False` or setting the `autosave` attribute to False any time.
For not saving at a specific request you can also pass the `autosave=False` parameter to a get or put request.

path_to_file content: {"a":1,"b":{"c":"foo","d":100},"d":["bar",0.1]}  
`jd = JsonDict(file=path_to_file, creatfile=False, autosave=False)`  
will generate a JsonDict initialized with the file content but never overwrites it unless `js.save()` is called. If autosave is not passed during initialization or set to True every change to the JsonDict will be saved directly to the file.

The call `jd = JsonDict(file=path_to_invalif_file,data={'a':1}, creatfile=False, autosave=False)`
will initialize the object with with the data provided by the data parameter since the file is invalid and not created during initialization


The data in the JsonDic object is set via the `jd.put("key","subkey","subsubkey",...,value=value)`.
where all the args are used as keys to the value which is set by the value kwarg.  
In this manner `js.put("b","c",value="foo")` will change a JsonDict with the data`{'a':1}` to `{'a':1,'b':{'c':'foo'}}`  
Keep in mind that every type can be used as a key but it will be transformed to the corresponding string representation!

To get the data from the JsonDict you can use `jd.put("key","subkey","subsubkey",...,default=defaultvalue)` respectively.
The optional default parameter can be used to set the value if the keystructure is not present in the dict otherwise None will be returned.
The requested structure will be saved in the JsonDict whether or not it is already present or not!





%package -n python3-Json-Dict
Summary:	Store data in JSON format
Provides:	python-Json-Dict
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-Json-Dict
A self saving json based config file.
Storable data are all classical JSON datatypes including lists/arrays and dictionaries, which will be stored as JSON Objects.

The Json_Dict object can be initialized via `jd = JsonDict()`

The Object can be initialized with a file (as path) , which will be
created if not existend (turn off by passing `createfile=False` as parameter).
You can also pass initial data to the instance via the `data`. The data can be in the form of another JsonDict, an JSON string or an JSON serializable dictionary.
If a file is specified the JsonDict will first try to read the file and if this does not work fall back to the initial provided data.

If a file is provided the JsonDict will be saved to the file on value addition/change. This can be turned of generally 
by providing the initial argument `autosave=False` or setting the `autosave` attribute to False any time.
For not saving at a specific request you can also pass the `autosave=False` parameter to a get or put request.

path_to_file content: {"a":1,"b":{"c":"foo","d":100},"d":["bar",0.1]}  
`jd = JsonDict(file=path_to_file, creatfile=False, autosave=False)`  
will generate a JsonDict initialized with the file content but never overwrites it unless `js.save()` is called. If autosave is not passed during initialization or set to True every change to the JsonDict will be saved directly to the file.

The call `jd = JsonDict(file=path_to_invalif_file,data={'a':1}, creatfile=False, autosave=False)`
will initialize the object with with the data provided by the data parameter since the file is invalid and not created during initialization


The data in the JsonDic object is set via the `jd.put("key","subkey","subsubkey",...,value=value)`.
where all the args are used as keys to the value which is set by the value kwarg.  
In this manner `js.put("b","c",value="foo")` will change a JsonDict with the data`{'a':1}` to `{'a':1,'b':{'c':'foo'}}`  
Keep in mind that every type can be used as a key but it will be transformed to the corresponding string representation!

To get the data from the JsonDict you can use `jd.put("key","subkey","subsubkey",...,default=defaultvalue)` respectively.
The optional default parameter can be used to set the value if the keystructure is not present in the dict otherwise None will be returned.
The requested structure will be saved in the JsonDict whether or not it is already present or not!





%package help
Summary:	Development documents and examples for Json-Dict
Provides:	python3-Json-Dict-doc
%description help
A self saving json based config file.
Storable data are all classical JSON datatypes including lists/arrays and dictionaries, which will be stored as JSON Objects.

The Json_Dict object can be initialized via `jd = JsonDict()`

The Object can be initialized with a file (as path) , which will be
created if not existend (turn off by passing `createfile=False` as parameter).
You can also pass initial data to the instance via the `data`. The data can be in the form of another JsonDict, an JSON string or an JSON serializable dictionary.
If a file is specified the JsonDict will first try to read the file and if this does not work fall back to the initial provided data.

If a file is provided the JsonDict will be saved to the file on value addition/change. This can be turned of generally 
by providing the initial argument `autosave=False` or setting the `autosave` attribute to False any time.
For not saving at a specific request you can also pass the `autosave=False` parameter to a get or put request.

path_to_file content: {"a":1,"b":{"c":"foo","d":100},"d":["bar",0.1]}  
`jd = JsonDict(file=path_to_file, creatfile=False, autosave=False)`  
will generate a JsonDict initialized with the file content but never overwrites it unless `js.save()` is called. If autosave is not passed during initialization or set to True every change to the JsonDict will be saved directly to the file.

The call `jd = JsonDict(file=path_to_invalif_file,data={'a':1}, creatfile=False, autosave=False)`
will initialize the object with with the data provided by the data parameter since the file is invalid and not created during initialization


The data in the JsonDic object is set via the `jd.put("key","subkey","subsubkey",...,value=value)`.
where all the args are used as keys to the value which is set by the value kwarg.  
In this manner `js.put("b","c",value="foo")` will change a JsonDict with the data`{'a':1}` to `{'a':1,'b':{'c':'foo'}}`  
Keep in mind that every type can be used as a key but it will be transformed to the corresponding string representation!

To get the data from the JsonDict you can use `jd.put("key","subkey","subsubkey",...,default=defaultvalue)` respectively.
The optional default parameter can be used to set the value if the keystructure is not present in the dict otherwise None will be returned.
The requested structure will be saved in the JsonDict whether or not it is already present or not!





%prep
%autosetup -n Json-Dict-0.3.1615812759

%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-Json-Dict -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.1615812759-1
- Package Spec generated