syncmodels 0.1.340__py2.py3-none-any.whl → 0.1.342__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.340"
5
+ __version__ = "0.1.342"
syncmodels/crawler.py CHANGED
@@ -1947,7 +1947,7 @@ class MetaExtractPlugin(iPlugin):
1947
1947
  # MAP = self.bot.parent.MAPPERS
1948
1948
  geojson = data.get(GEOJSON_KEY) # TODO: fix, coords are tuples!
1949
1949
  if geojson is None:
1950
- log.warning("no geojson info: [%s]", data)
1950
+ log.debug("no geojson info: [%s]", data)
1951
1951
  continue
1952
1952
  kind = geojson["type"]
1953
1953
  # TODO: use (slower) more general jinja render?
@@ -235,7 +235,8 @@ class SurrealServer:
235
235
  except Exception as why:
236
236
  pass
237
237
  finally:
238
- os.unlink(self.SURREAL_PID)
238
+ if os.path.exists(self.SURREAL_PID):
239
+ os.unlink(self.SURREAL_PID)
239
240
 
240
241
  # find process that match the launching arguments
241
242
  cmd = "\0".join(self.cmd())
@@ -354,7 +354,7 @@ def save_json_xz(url, html_content):
354
354
 
355
355
  # choose a path to save the raw content
356
356
  _url = parse_uri(url)
357
- uid = generate_blueprint(_url)
357
+ uid = generate_blueprint(_url, "uri,url")
358
358
  _url["path"] = uid # = hashlib.md5(url.encode("utf-8")).hexdigest()
359
359
  today = datetime.now().strftime("%Y-%m-%d")
360
360
  path = "{host}/{path}".format_map(_url)
@@ -757,7 +757,7 @@ class BrowserLogicBot(SwarmBot):
757
757
  'url': 'https://www.notino.es/ardell/remover-producto-para-quitar-las-pestanas-postizas/p-16258869/'}]}
758
758
  """
759
759
  universe = {}
760
- if True:
760
+ if False:
761
761
  _task = {
762
762
  "bot": "wip",
763
763
  "datetime": "2025-01-18 11:46:18.241069+00:00",
@@ -468,12 +468,12 @@ class Mapper:
468
468
  # org["id"] = uid.split(":")[-1]
469
469
  item = klass(**org)
470
470
  except ValidationError as why:
471
- log.error(
471
+ log.debug(
472
472
  "FAILED Pydatic Validation: klass: [%s] : [%s]",
473
473
  klass,
474
474
  org,
475
475
  )
476
- log.error(f"{why}")
476
+ log.debug(f"{why}")
477
477
  item = None
478
478
  return item
479
479
 
@@ -184,12 +184,16 @@ class iSession(iContext, iSchema, iRegistry): # , iAuthenticator):
184
184
  elif content_type in (APPLICATION_OCTET_STREAM, TEXT_CSV):
185
185
  raw = await response.read()
186
186
  try:
187
- df = pd.read_csv(
188
- io.StringIO(raw.decode("ISO-8859-1")),
189
- sep=None,
190
- engine="python",
191
- decimal=",",
192
- )
187
+ raw_decoded = raw.decode("ISO-8859-1")
188
+ if raw_decoded.strip():
189
+ df = pd.read_csv(
190
+ io.StringIO(raw_decoded),
191
+ sep=None,
192
+ engine="python",
193
+ decimal=",",
194
+ )
195
+ else:
196
+ df = pd.DataFrame()
193
197
  stream = self._postprocess_df(df, self.context)
194
198
  except Exception as why:
195
199
  log.error("Error processing CSV [%s]", why)
syncmodels/session/sql.py CHANGED
@@ -3,6 +3,9 @@ import re
3
3
  from itertools import chain
4
4
 
5
5
  from agptools.helpers import parse_uri, build_uri, tf
6
+ from agptools.containers import overlap
7
+ from syncmodels.http import CONTENT_TYPE, APPLICATION_PYTHON
8
+
6
9
  from syncmodels.definitions import (
7
10
  KIND_KEY,
8
11
  TABLE_KEY,
@@ -164,7 +167,7 @@ class iSQLSession(iSession):
164
167
 
165
168
  async def get(self, url, headers=None, params=None, **kw):
166
169
  headers = headers or {}
167
- params = params or {}
170
+ params = params or kw["json"]["params"] # TODO: check with centesimal
168
171
 
169
172
  _uri = parse_uri(url)
170
173
  _uri["query_"].update(params)
@@ -190,6 +193,12 @@ class iSQLSession(iSession):
190
193
  # {schema.names[i]: v for i, v in enumerate(row)} for row in data
191
194
  # ]
192
195
 
196
+ overlap(
197
+ headers,
198
+ {
199
+ CONTENT_TYPE: APPLICATION_PYTHON,
200
+ },
201
+ )
193
202
  response = iResponse(
194
203
  status=200, headers=headers, links=None, real_url=url, body=body
195
204
  )
syncmodels/storage.py CHANGED
@@ -1186,7 +1186,7 @@ class WaveStorage(iWaves, iStorage):
1186
1186
  if must_check:
1187
1187
  t0 = time.time()
1188
1188
  await prevously_inserted()
1189
- if False or random.random() < 0.1:
1189
+ if False or random.random() < 0.05:
1190
1190
  elapsed = time.time() - t0
1191
1191
  log.info("[%s] prevously_inserted took: %s secs", uid, elapsed)
1192
1192
  if elapsed > 1.0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: syncmodels
3
- Version: 0.1.340
3
+ Version: 0.1.342
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.340
21
+ Requires-Dist: agptools>=0.1.342
22
22
  Requires-Dist: aiocache
23
23
  Requires-Dist: aiohttp
24
24
  Requires-Dist: Click
@@ -1,6 +1,6 @@
1
- syncmodels/__init__.py,sha256=A7RulFWn99dFCpIzsMzQR87lLji-g6qBo2408Use83w,142
1
+ syncmodels/__init__.py,sha256=KBpZRQtPAp9QZRGYrhYbVtV2U5L5_46b333KNp6y6PU,142
2
2
  syncmodels/context.py,sha256=k1Gs_ip9BfyRFpyRnzqYvRDKo0sYBqJsh6z9sWln9oE,451
3
- syncmodels/crawler.py,sha256=DAD2tL93iG-LjNQRCg2h_snusjGhQyhdZyMPOCEyvNU,94499
3
+ syncmodels/crawler.py,sha256=ITKxBrcaLrkuQv4w93sMsCRVu7sFKfqrI02TKrAetw4,94497
4
4
  syncmodels/crud.py,sha256=oZIcwEKR2i-lesEF_059Y4yThohd9m7gs6R6xYgLH-I,15351
5
5
  syncmodels/definitions.py,sha256=w-3TrSomp9T8OzLmJhKeZQDzrUIJLKldyh1lzlE7Yj0,5476
6
6
  syncmodels/exceptions.py,sha256=ZLAwu19cs2UN2Sv3jaLnixT_jRI7T42TfyutCkUsuIk,685
@@ -11,7 +11,7 @@ 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
13
  syncmodels/schema.py,sha256=uinUt8Asq_x7xa6MKWVXNyoWO6gKocjGPppjimaXzEU,2492
14
- syncmodels/storage.py,sha256=kMtErJYjn0x3J4Z4L8-ZjNhfC3o6GYafgauZ_UUV6-g,74907
14
+ syncmodels/storage.py,sha256=9Tn9uohZB4ZrjZlwznDSg-e5duAdauJPqv3Iar2jkmw,74908
15
15
  syncmodels/syncmodels.py,sha256=jcUxVbv1hrx5hI81VCO1onIM6WyORTqJVPwIqlPocOc,10596
16
16
  syncmodels/timequeue.py,sha256=YRd3ULRaIhoszaBsYhfr0epMqAbL6-NwVEtScjUYttM,595
17
17
  syncmodels/wave.py,sha256=Gra22BLiA9z2nF-6diXpjAc4GZv9nebmyvHxdAfXec4,7764
@@ -33,17 +33,17 @@ syncmodels/helpers/importers.py,sha256=KImR9pQu4ir6EI6Ipta0q3RWloFT_VTJi67kM0lZs
33
33
  syncmodels/helpers/loaders.py,sha256=aus0aRcbU1vVa_zWo42aX6uV3B0fQ0aQpkTWlR9xGLA,4325
34
34
  syncmodels/helpers/models.py,sha256=c_ATzmiw5mVY1IGnwmyhjIuu5d2idHU-XeRigZSMkOQ,719
35
35
  syncmodels/helpers/orion.py,sha256=6lRp1w3yaq_rxOI7nJIjuHdsgBjQu92y0bW0IX_gq44,30719
36
- syncmodels/helpers/surreal.py,sha256=lHXvm5oNvpDBXFnIksTNV4c3PWp35myw3TiQpP2dqN0,10855
36
+ syncmodels/helpers/surreal.py,sha256=-K7d0JjoSwquSLwIW18Ae4GEL3eI0FTmq2fJKUJd9TA,10912
37
37
  syncmodels/helpers/units.py,sha256=g50m5DQrAyP_qpDRa4LCEA5Rz2UZUmlIixfWG_ddw9I,3571
38
38
  syncmodels/logic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  syncmodels/logic/activity_logger.py,sha256=8wjvgRwaNbibYWGgl-trovSS70yNkoCTlb-AIx3aZEE,14053
40
40
  syncmodels/logic/analyzer.py,sha256=AJncaSGlgKKG2X-Y9-6_phBZkIz4CGWYLI2JSKqLhhI,12542
41
- syncmodels/logic/browser.py,sha256=I7qBVuzlz_CAb8UdZ9vkQC4WHfj33tf6OTFQrt0WyZM,85257
41
+ syncmodels/logic/browser.py,sha256=iyoVjiY4QXJiJnM7sQKkgHdhHywX9oEvdpb3PKnQpVE,85269
42
42
  syncmodels/logic/swarm.py,sha256=eRBVlNAOzzWKFGCb7LGLx2aj7yQlTY1OwLoeSEllvXY,17207
43
43
  syncmodels/logic/tasks.py,sha256=7C6DYqbMOV9NTewg0qQRoCPo-k9424MlGR62ZkyPrCk,21962
44
44
  syncmodels/mapper/__init__.py,sha256=jS82LFr9zzyqXBz82tSw04vDowhTpKxhg_W2XvhUlt0,129
45
45
  syncmodels/mapper/fiware.py,sha256=auszPmhCS46z_68MXjksrQAFUfctjbVrVdBvOpOkMj8,523
46
- syncmodels/mapper/mapper.py,sha256=RtFt3t1GzitY08ur6gs3Nr4l2a6y_xFI-Zn2iBCN0xg,17397
46
+ syncmodels/mapper/mapper.py,sha256=SphMhr59bbTWWxnvitonURk3lSPDerGqUTs5-P-Tjlg,17397
47
47
  syncmodels/model/__init__.py,sha256=mD6fpRvBOl7i98pqqwpB2NKlviyD-G8iRXqufjU-9z8,148
48
48
  syncmodels/model/activity.py,sha256=tKzc9zc_5Sx549yTdaTYkfnLnbEsEmzpu53BHstqvFQ,4592
49
49
  syncmodels/model/geofilters.py,sha256=YxZZPk60MvzrBslOrpJec_Er1aTWGg1wgYrXPovrpP8,9284
@@ -297,16 +297,16 @@ syncmodels/model/schema_org/webpage.py,sha256=-bqKOpEs_2lW7qrey2nHtvOZ9xbmmwcviN
297
297
  syncmodels/model/schema_org/webpageelement.py,sha256=brXfhU3l3FBXpy8qnR1Ve-EckjHW8VGoyR2IsnT7t2Y,1104
298
298
  syncmodels/model/schema_org/website.py,sha256=48Rox27BbFIg1u3wDlOtX-lLCPoFgvvrCw5Hrdf6uRU,912
299
299
  syncmodels/model/schema_org/xpathtype.py,sha256=D8gKiCrGSSuUVYw7BIWmOIUbKATfv2IpbkV1B2TmjC0,484
300
- syncmodels/session/__init__.py,sha256=pjn-IOG3IZmnHZEvkDIAG8YtElHk3aYi13f2uBUZDHs,15581
300
+ syncmodels/session/__init__.py,sha256=uy9nMxUUT6VeExOLLzr5Zebe7LvP67WY34WzOs67WB4,15765
301
301
  syncmodels/session/http.py,sha256=tf7z0ccAEYoCOZT4Ukv3NBXz9hUO3vs2s9bm491pCj8,1480
302
302
  syncmodels/session/postgresql.py,sha256=ZMIu1Rv93pKfvFlovFBmWArzlrT2xaQWNYGZT_LW61k,175
303
- syncmodels/session/sql.py,sha256=17C8EHn_1twHezhMlD5esMvx4m0iIrnD7JK-TuBswgU,6573
303
+ syncmodels/session/sql.py,sha256=BL-vaR__6DdDc_vxfTvnvRD9rXXEALKyc-Xg6j4nUpw,6851
304
304
  syncmodels/session/sqlite.py,sha256=nCDjopLiBpX1F10qkKoARM7JrVdIpJ1WdGOduFVxaiA,2080
305
305
  syncmodels/source/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
306
- syncmodels-0.1.340.dist-info/AUTHORS.rst,sha256=3ZPoqg8Aav8DSYKd0fwcwn4_5HwSiMLart0E5Un00-U,168
307
- syncmodels-0.1.340.dist-info/LICENSE,sha256=uzMOYtIiUsnsD0xHJR7aJWJ4v_bvan0kTnvufy5eNoA,1075
308
- syncmodels-0.1.340.dist-info/METADATA,sha256=mjH_KmKnxPts4mnGz494bKnXbGr2hHAc7aagln5R__g,2700
309
- syncmodels-0.1.340.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
310
- syncmodels-0.1.340.dist-info/entry_points.txt,sha256=dMnigjZsHMxTwXiiZyBZdBbMYE0-hY3L5cG15EcDAzw,51
311
- syncmodels-0.1.340.dist-info/top_level.txt,sha256=2DfQ9NuAhKMjY3BvQGVBA7GfqTm7EoHNbaehSUiqiHQ,11
312
- syncmodels-0.1.340.dist-info/RECORD,,
306
+ syncmodels-0.1.342.dist-info/AUTHORS.rst,sha256=3ZPoqg8Aav8DSYKd0fwcwn4_5HwSiMLart0E5Un00-U,168
307
+ syncmodels-0.1.342.dist-info/LICENSE,sha256=uzMOYtIiUsnsD0xHJR7aJWJ4v_bvan0kTnvufy5eNoA,1075
308
+ syncmodels-0.1.342.dist-info/METADATA,sha256=XZynUjEQ7Ii6K4jQUchBf89Hg3ztVzgxVndZcZgxU3A,2700
309
+ syncmodels-0.1.342.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
310
+ syncmodels-0.1.342.dist-info/entry_points.txt,sha256=dMnigjZsHMxTwXiiZyBZdBbMYE0-hY3L5cG15EcDAzw,51
311
+ syncmodels-0.1.342.dist-info/top_level.txt,sha256=2DfQ9NuAhKMjY3BvQGVBA7GfqTm7EoHNbaehSUiqiHQ,11
312
+ syncmodels-0.1.342.dist-info/RECORD,,