reykit 1.1.1__py3-none-any.whl → 1.1.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
reydb/rparameter.py DELETED
@@ -1,243 +0,0 @@
1
- # !/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @Time : 2022-12-05 14:10:02
6
- @Author : Rey
7
- @Contact : reyxbo@163.com
8
- @Explain : Database parameter methods.
9
- """
10
-
11
-
12
- from typing import overload
13
-
14
- from .rconnection import RDatabase, RDBConnection
15
-
16
-
17
- __all__ = (
18
- 'RDBParameter',
19
- 'RDBPStatus',
20
- 'RDBPVariable'
21
- )
22
-
23
-
24
- class RDBParameter(object):
25
- """
26
- Rey's `database parameters` type.
27
- """
28
-
29
-
30
- def __init__(
31
- self,
32
- rdatabase: RDatabase | RDBConnection,
33
- global_: bool
34
- ) -> None:
35
- """
36
- Build `database parameters` attributes.
37
-
38
- Parameters
39
- ----------
40
- rdatabase : RDatabase or RDBConnection instance.
41
- global_ : Whether base global.
42
- """
43
-
44
- # Set parameter.
45
- self.rdatabase = rdatabase
46
- self.global_ = global_
47
-
48
-
49
- def __getitem__(self, key: str) -> str | None:
50
- """
51
- Get item of parameter dictionary.
52
-
53
- Parameters
54
- ----------
55
- key : Parameter key.
56
-
57
- Returns
58
- -------
59
- Parameter value.
60
- """
61
-
62
- # Get.
63
- value = self.get(key)
64
-
65
- return value
66
-
67
-
68
- def __setitem__(self, key: str, value: str | float) -> None:
69
- """
70
- Set item of parameter dictionary.
71
-
72
- Parameters
73
- ----------
74
- key : Parameter key.
75
- value : Parameter value.
76
- """
77
-
78
- # Set.
79
- params = {key: value}
80
-
81
- # Update.
82
- self.update(params)
83
-
84
-
85
- class RDBPStatus(RDBParameter):
86
- """
87
- Rey's `database parameter status` type.
88
- """
89
-
90
-
91
- @overload
92
- def get(self, key: None = None) -> dict[str, str]: ...
93
-
94
- @overload
95
- def get(self, key: str = None) -> str | None: ...
96
-
97
- def get(self, key: str | None = None) -> dict[str, str] | str | None:
98
- """
99
- Get parameter.
100
-
101
- Parameters
102
- ----------
103
- key : Parameter key.
104
- - `None`: Return dictionary of all parameters.
105
- - `str`: Return value of parameter.
106
-
107
- Returns
108
- -------
109
- Status of database.
110
- """
111
-
112
- # Generate SQL.
113
-
114
- ## Global.
115
- if self.global_:
116
- sql = 'SHOW GLOBAL STATUS'
117
-
118
- ## Not global.
119
- else:
120
- sql = 'SHOW STATUS'
121
-
122
- # Execute SQL.
123
-
124
- ## Dictionary.
125
- if key is None:
126
- status = result.fetch_dict(val_field=1)
127
-
128
- ## Value.
129
- else:
130
- sql += ' LIKE :key'
131
- result = self.rdatabase(sql, key=key)
132
- row = result.first()
133
- if row is None:
134
- status = None
135
- else:
136
- status = row['Value']
137
-
138
- return status
139
-
140
-
141
- def update(self, params: dict[str, str | float]) -> None:
142
- """
143
- Update parameter.
144
-
145
- Parameters
146
- ----------
147
- params : Update parameter key value pairs.
148
- """
149
-
150
- # Throw exception.
151
- raise AssertionError('database status not update')
152
-
153
-
154
- class RDBPVariable(RDBParameter):
155
- """
156
- Rey's `database parameter variable` type.
157
- """
158
-
159
-
160
- @overload
161
- def get(self, key: None = None) -> dict[str, str]: ...
162
-
163
- @overload
164
- def get(self, key: str = None) -> str | None: ...
165
-
166
- def get(self, key: str | None = None) -> dict[str, str] | str | None:
167
- """
168
- Get parameter.
169
-
170
- Parameters
171
- ----------
172
- key : Parameter key.
173
- - `None`: Return dictionary of all parameters.
174
- - `str`: Return value of parameter.
175
-
176
- Returns
177
- -------
178
- Variables of database.
179
- """
180
-
181
- # Generate SQL.
182
-
183
- ## Global.
184
- if self.global_:
185
- sql = 'SHOW GLOBAL VARIABLES'
186
-
187
- ## Not global.
188
- else:
189
- sql = 'SHOW VARIABLES'
190
-
191
- # Execute SQL.
192
-
193
- ## Dictionary.
194
- if key is None:
195
- variables = result.fetch_dict(val_field=1)
196
-
197
- ## Value.
198
- else:
199
- sql += ' LIKE :key'
200
- result = self.rdatabase(sql, key=key)
201
- row = result.first()
202
- if row is None:
203
- variables = None
204
- else:
205
- variables = row['Value']
206
-
207
- return variables
208
-
209
-
210
-
211
- def update(self, params: dict[str, str | float]) -> None:
212
- """
213
- Update parameter.
214
-
215
- Parameters
216
- ----------
217
- params : Update parameter key value pairs.
218
- """
219
-
220
- # Generate SQL.
221
- sql_set_list = [
222
- '%s = %s' % (
223
- key,
224
- (
225
- value
226
- if value.__class__ in (int, float)
227
- else "'%s'" % value
228
- )
229
- )
230
- for key, value in params.items()
231
- ]
232
- sql_set = ',\n '.join(sql_set_list)
233
-
234
- # Global.
235
- if self.global_:
236
- sql = f'SET GLOBAL {sql_set}'
237
-
238
- ## Not global.
239
- else:
240
- sql = f'SET {sql_set}'
241
-
242
- # Execute SQL.
243
- self.rdatabase(sql)
@@ -1,29 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: reykit
3
- Version: 1.1.1
4
- Summary: Rey's kit method set.
5
- Home-page: https://github.com/reyxbo/reykit/
6
- Author: Rey
7
- Author-email: reyxbo@163.com
8
- Requires-Dist: aiohttp
9
- Requires-Dist: apscheduler
10
- Requires-Dist: captcha
11
- Requires-Dist: concurrent-log-handler
12
- Requires-Dist: filetype
13
- Requires-Dist: pandas
14
- Requires-Dist: pyzbar
15
- Requires-Dist: pdfplumber
16
- Requires-Dist: psutil
17
- Requires-Dist: pymem
18
- Requires-Dist: python-docx
19
- Requires-Dist: qrcode
20
- Requires-Dist: requests
21
- Requires-Dist: tqdm
22
- Requires-Dist: urwid
23
- Requires-Dist: varname
24
- Requires-Dist: Pillow
25
- Dynamic: author
26
- Dynamic: author-email
27
- Dynamic: home-page
28
- Dynamic: requires-dist
29
- Dynamic: summary
@@ -1 +0,0 @@
1
- reykit