syncmodels 0.1.344__py2.py3-none-any.whl → 0.1.345__py2.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.
- syncmodels/__init__.py +1 -1
- syncmodels/schema.py +13 -3
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/METADATA +2 -2
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/RECORD +9 -9
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/AUTHORS.rst +0 -0
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/LICENSE +0 -0
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/WHEEL +0 -0
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/entry_points.txt +0 -0
- {syncmodels-0.1.344.dist-info → syncmodels-0.1.345.dist-info}/top_level.txt +0 -0
syncmodels/__init__.py
CHANGED
syncmodels/schema.py
CHANGED
@@ -7,8 +7,13 @@ def most_common(sample):
|
|
7
7
|
for value in sample:
|
8
8
|
stats[value] = stats.get(value, 0) + 1
|
9
9
|
|
10
|
-
|
10
|
+
# types can't compare themselves, so add a trick with str(k)
|
11
|
+
stats = [(v, str(k), k) for k, v in stats.items()]
|
12
|
+
|
11
13
|
stats.sort(reverse=True)
|
14
|
+
|
15
|
+
# remove str(k)
|
16
|
+
stats = [(a, c) for (a, _, c) in stats]
|
12
17
|
return stats
|
13
18
|
|
14
19
|
|
@@ -57,6 +62,8 @@ class iSchema:
|
|
57
62
|
d_fields = {}
|
58
63
|
for row in data:
|
59
64
|
for i, value in enumerate(row):
|
65
|
+
if value is None:
|
66
|
+
continue
|
60
67
|
name = names[i]
|
61
68
|
type_ = value.__class__
|
62
69
|
d_fields.setdefault(name, []).append(type_)
|
@@ -75,8 +82,11 @@ class iSchema:
|
|
75
82
|
# direct search has failed
|
76
83
|
# try to guess the column by value class
|
77
84
|
for key, klass in d_fields.items():
|
78
|
-
|
79
|
-
|
85
|
+
try:
|
86
|
+
if issubclass(klass, (datetime,)):
|
87
|
+
return key
|
88
|
+
except Exception as why:
|
89
|
+
pass
|
80
90
|
|
81
91
|
monotonic_since_key = best()
|
82
92
|
return names, types, d_fields, monotonic_since_key
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: syncmodels
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.345
|
4
4
|
Summary: Synchronizable Models
|
5
5
|
Home-page: https://github.com/asterio.gonzalez/syncmodels
|
6
6
|
Author: Asterio Gonzalez
|
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
18
18
|
Requires-Python: >=3.6
|
19
19
|
License-File: LICENSE
|
20
20
|
License-File: AUTHORS.rst
|
21
|
-
Requires-Dist: agptools>=0.1.
|
21
|
+
Requires-Dist: agptools>=0.1.345
|
22
22
|
Requires-Dist: aiocache
|
23
23
|
Requires-Dist: aiohttp
|
24
24
|
Requires-Dist: Click
|
@@ -1,4 +1,4 @@
|
|
1
|
-
syncmodels/__init__.py,sha256=
|
1
|
+
syncmodels/__init__.py,sha256=97auPMo5GK08H9FvKR4gS9kncSRmilKyekZWQqVvVzU,142
|
2
2
|
syncmodels/context.py,sha256=k1Gs_ip9BfyRFpyRnzqYvRDKo0sYBqJsh6z9sWln9oE,451
|
3
3
|
syncmodels/crawler.py,sha256=lx0IU586JD0qcdozWiv0y7970CkUEg3SzFB6gOYDS6I,94540
|
4
4
|
syncmodels/crud.py,sha256=oZIcwEKR2i-lesEF_059Y4yThohd9m7gs6R6xYgLH-I,15351
|
@@ -10,7 +10,7 @@ syncmodels/parallel.py,sha256=Ll8HmyFF9v9fIofqqSgfhyTlklvb77mTtNdG5Y9lqdQ,7145
|
|
10
10
|
syncmodels/registry.py,sha256=YaQtgbSwa0je1MpCcVHALI3_b85vrddyOlhsnrUcKZs,8224
|
11
11
|
syncmodels/requests.py,sha256=wWoC5hPDm1iBM_zrlyKRauzhXgdKR3pT5RqyC-5UZhQ,538
|
12
12
|
syncmodels/runner.py,sha256=IHDKuQ3yJ1DN9wktMiIrerPepYX61tc3AzbFfuUqEFw,5454
|
13
|
-
syncmodels/schema.py,sha256=
|
13
|
+
syncmodels/schema.py,sha256=n5Kkq5bxwzBkLomVtUzq3cwNpVjV0HNLxj-wavlYIbQ,2789
|
14
14
|
syncmodels/storage.py,sha256=x01TmpETMrHvQvliL3TXfUp18RKr6Huz6DmrRZWD1DU,76418
|
15
15
|
syncmodels/syncmodels.py,sha256=jcUxVbv1hrx5hI81VCO1onIM6WyORTqJVPwIqlPocOc,10596
|
16
16
|
syncmodels/timequeue.py,sha256=YRd3ULRaIhoszaBsYhfr0epMqAbL6-NwVEtScjUYttM,595
|
@@ -303,10 +303,10 @@ syncmodels/session/postgresql.py,sha256=ZMIu1Rv93pKfvFlovFBmWArzlrT2xaQWNYGZT_LW
|
|
303
303
|
syncmodels/session/sql.py,sha256=auZ_3RZTSWViED4UrExYaes42Y2bTZKixEsfOpa_zaU,7036
|
304
304
|
syncmodels/session/sqlite.py,sha256=nCDjopLiBpX1F10qkKoARM7JrVdIpJ1WdGOduFVxaiA,2080
|
305
305
|
syncmodels/source/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
306
|
-
syncmodels-0.1.
|
307
|
-
syncmodels-0.1.
|
308
|
-
syncmodels-0.1.
|
309
|
-
syncmodels-0.1.
|
310
|
-
syncmodels-0.1.
|
311
|
-
syncmodels-0.1.
|
312
|
-
syncmodels-0.1.
|
306
|
+
syncmodels-0.1.345.dist-info/AUTHORS.rst,sha256=3ZPoqg8Aav8DSYKd0fwcwn4_5HwSiMLart0E5Un00-U,168
|
307
|
+
syncmodels-0.1.345.dist-info/LICENSE,sha256=uzMOYtIiUsnsD0xHJR7aJWJ4v_bvan0kTnvufy5eNoA,1075
|
308
|
+
syncmodels-0.1.345.dist-info/METADATA,sha256=1qq6L-7xrXhXrHll1btsJpYQlyYveDgz564yJvivZlY,2700
|
309
|
+
syncmodels-0.1.345.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
|
310
|
+
syncmodels-0.1.345.dist-info/entry_points.txt,sha256=dMnigjZsHMxTwXiiZyBZdBbMYE0-hY3L5cG15EcDAzw,51
|
311
|
+
syncmodels-0.1.345.dist-info/top_level.txt,sha256=2DfQ9NuAhKMjY3BvQGVBA7GfqTm7EoHNbaehSUiqiHQ,11
|
312
|
+
syncmodels-0.1.345.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|