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 CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  __author__ = """Asterio Gonzalez"""
4
4
  __email__ = "asterio.gonzalez@gmail.com"
5
- __version__ = "0.1.344"
5
+ __version__ = "0.1.345"
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
- stats = [(v, k) for k, v in stats.items()]
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
- if issubclass(klass, (datetime,)):
79
- return key
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.344
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.344
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=mTxSSoUW3Z9AossKi_RP_CZnlfe9VaRuqy8d9ByV6tw,142
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=uinUt8Asq_x7xa6MKWVXNyoWO6gKocjGPppjimaXzEU,2492
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.344.dist-info/AUTHORS.rst,sha256=3ZPoqg8Aav8DSYKd0fwcwn4_5HwSiMLart0E5Un00-U,168
307
- syncmodels-0.1.344.dist-info/LICENSE,sha256=uzMOYtIiUsnsD0xHJR7aJWJ4v_bvan0kTnvufy5eNoA,1075
308
- syncmodels-0.1.344.dist-info/METADATA,sha256=kQhHi-FKgA9wAb00IMrlehiQguZypbwv1drlhJyhIuA,2700
309
- syncmodels-0.1.344.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
310
- syncmodels-0.1.344.dist-info/entry_points.txt,sha256=dMnigjZsHMxTwXiiZyBZdBbMYE0-hY3L5cG15EcDAzw,51
311
- syncmodels-0.1.344.dist-info/top_level.txt,sha256=2DfQ9NuAhKMjY3BvQGVBA7GfqTm7EoHNbaehSUiqiHQ,11
312
- syncmodels-0.1.344.dist-info/RECORD,,
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,,