syncmodels 0.1.317__py2.py3-none-any.whl → 0.1.318__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.317"
5
+ __version__ = "0.1.318"
@@ -751,7 +751,7 @@ class OrionInjector:
751
751
  # swarm_wave: 1726715149029566739
752
752
  # -19 nanosecods !
753
753
  # maybe due an aritmetic precission with Orion
754
- orion_wave, swarm_wave = DATE(orion_wave), DATE(swarm_wave)
754
+ # orion_wave, swarm_wave = DATE(orion_wave), DATE(swarm_wave)
755
755
  # (orion_wave // 1000) == (swarm_wave // 1000)
756
756
 
757
757
  if orion_wave >= swarm_wave:
@@ -39,7 +39,7 @@ class XPathAnalyzer:
39
39
 
40
40
  REGEXP_PRICES = {
41
41
  "euro": [
42
- r"(?P<price>\d+([\.\,]\d+)?)\s*(?P<currency>€|\$)?",
42
+ r"(?P<price>\d+([\.\,\s]\d+)?)\s*(?P<currency>€|\$)?",
43
43
  {
44
44
  "price": FLOAT,
45
45
  },
@@ -295,11 +295,11 @@ class XPathAnalyzer:
295
295
  def _analyze_brand(self, line, ctx) -> bool:
296
296
  return self._analyze_text(line, ctx)
297
297
 
298
- def _analyze_ldjson(self, line, ctx) -> bool:
298
+ def _analyze_ldjson_hide(self, line, ctx) -> bool:
299
299
  # TODO: this funcion has been temporary disabled
300
300
  return False
301
301
 
302
- def _analyze_ldjson_old(self, line, ctx) -> bool:
302
+ def _analyze_ldjson(self, line, ctx) -> bool:
303
303
  # TODO: helper for loading json
304
304
  line = line.strip()
305
305
  line = html2text(line)
@@ -745,18 +745,25 @@ class BrowserLogicBot(SwarmBot):
745
745
  return await super()._get_session(url, **context)
746
746
 
747
747
  async def _swarm_get_tasks(self):
748
+ """
749
+ universe
750
+ {'www.notino.es': [{'bot': '0',
751
+ 'datetime': '2025-07-12 10:22:37.128127+00:00',
752
+ 'fquid': 'pricemon://crawler/queue:ff97c78fc536e13407b60fab27054f2a',
753
+ 'id': 'queue:ff97c78fc536e13407b60fab27054f2a',
754
+ 'kind__': 'prices',
755
+ 'last': '2025-07-12 10:07:37.128127',
756
+ 'payload': None,
757
+ 'url': 'https://www.notino.es/ardell/remover-producto-para-quitar-las-pestanas-postizas/p-16258869/'}]}
758
+ """
748
759
  universe = {}
749
760
  if False:
750
761
  _task = {
751
762
  "bot": "wip",
752
- "created": "2025-01-13 06:10:48.341231",
753
763
  "datetime": "2025-01-18 11:46:18.241069+00:00",
754
- "description": None,
755
- "ecommerce": "www.atida.com",
756
764
  "id": "queue:00a401e322d3a3b43e8687cf5d4c10bd",
757
- "name": "Sendo champú soothing 250ml - lenitivo",
758
- "restart": None,
759
- "url": "https://www.arenal.com/ardell-pestanas-postizas-seamless-extensions-naked/p/000000000000120871",
765
+ "kind__": "prices",
766
+ "url": "https://wells.pt/total-plex-bond-reconstruction-shampoo-7932859.html",
760
767
  # "url": "https://www.maquillalia.com/ardell-kit-de-pestanas-postizas-seamless-naked-p-84985.html",
761
768
  # "url": "https://www.douglas.es/es/p/5010993205",
762
769
  # "url": "https://www.amazon.es/gp/offer-listing/B00LM8CW6Y",
@@ -766,7 +773,7 @@ class BrowserLogicBot(SwarmBot):
766
773
  # "url": "https://www.caretobeauty.com/es/kativa-coconut-conditioner-355ml",
767
774
  # "url": "https://www.holaprincesa.es/products/mascarilla-con-manteca-de-karite-aceite-de-coco-y-marula-300-ml-kativa",
768
775
  }
769
- _task.setdefault("type", "ldjson")
776
+ # _task.setdefault("type", "ldjson")
770
777
  host = parse_uri(_task.get("url")).get("host")
771
778
  universe.setdefault(host, []).append(_task)
772
779
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: syncmodels
3
- Version: 0.1.317
3
+ Version: 0.1.318
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.317
21
+ Requires-Dist: agptools>=0.1.318
22
22
  Requires-Dist: aiocache
23
23
  Requires-Dist: aiohttp
24
24
  Requires-Dist: Click
@@ -1,4 +1,4 @@
1
- syncmodels/__init__.py,sha256=Z7wOaIpC5ZfxOzCzYQg9-0sPjUEYzhd6DPDh_s7sHd0,142
1
+ syncmodels/__init__.py,sha256=0anfAVFyQW4Gx6WgjDk8382ZWXqz-RlMimhoRaGEu8I,142
2
2
  syncmodels/context.py,sha256=k1Gs_ip9BfyRFpyRnzqYvRDKo0sYBqJsh6z9sWln9oE,451
3
3
  syncmodels/crawler.py,sha256=FthNzipF8cafNvogFC7AFn_N4qxOHkJTeo3Lbcw0P_g,94746
4
4
  syncmodels/crud.py,sha256=ozumS7XgmXSFcFN2SZBH0jB0j_1vK2xE-FeFcTG7ikw,15327
@@ -32,13 +32,13 @@ syncmodels/helpers/geojson.py,sha256=9VZjdEw19fLS_Q9topapUOPGxRg2D4GOqm2tlx11W7M
32
32
  syncmodels/helpers/importers.py,sha256=KImR9pQu4ir6EI6Ipta0q3RWloFT_VTJi67kM0lZsKQ,3919
33
33
  syncmodels/helpers/loaders.py,sha256=aus0aRcbU1vVa_zWo42aX6uV3B0fQ0aQpkTWlR9xGLA,4325
34
34
  syncmodels/helpers/models.py,sha256=c_ATzmiw5mVY1IGnwmyhjIuu5d2idHU-XeRigZSMkOQ,719
35
- syncmodels/helpers/orion.py,sha256=Lblk4OGRNidYl1-2lZKUPXyvuR1hXip7FHloXLtU-XA,30717
35
+ syncmodels/helpers/orion.py,sha256=6lRp1w3yaq_rxOI7nJIjuHdsgBjQu92y0bW0IX_gq44,30719
36
36
  syncmodels/helpers/surreal.py,sha256=zoWtGm5oAxwvgJNq_NTpKOHN3h9FNObhFDLuiBOl1YY,10050
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
- syncmodels/logic/analyzer.py,sha256=OiRZBJoqjc_qb3w1jBjGftWgd20Cig0s7_GLTCbp3fw,12539
41
- syncmodels/logic/browser.py,sha256=vMxGaYIR1ov0tOMbWNpd4MMFQBunRuvxE8F-Gfo9cTo,84795
40
+ syncmodels/logic/analyzer.py,sha256=AJncaSGlgKKG2X-Y9-6_phBZkIz4CGWYLI2JSKqLhhI,12542
41
+ syncmodels/logic/browser.py,sha256=e0LdpHMmBaJ7cMdCFdIBLEfpewvO_mc5wqiCyNYPNoc,85197
42
42
  syncmodels/logic/swarm.py,sha256=eRBVlNAOzzWKFGCb7LGLx2aj7yQlTY1OwLoeSEllvXY,17207
43
43
  syncmodels/mapper/__init__.py,sha256=jS82LFr9zzyqXBz82tSw04vDowhTpKxhg_W2XvhUlt0,129
44
44
  syncmodels/mapper/fiware.py,sha256=auszPmhCS46z_68MXjksrQAFUfctjbVrVdBvOpOkMj8,523
@@ -302,10 +302,10 @@ syncmodels/session/postgresql.py,sha256=ZMIu1Rv93pKfvFlovFBmWArzlrT2xaQWNYGZT_LW
302
302
  syncmodels/session/sql.py,sha256=bD7zXRrEKKJmqY2UoibWENuWb5zHrrU72F3_dYbS6LY,6569
303
303
  syncmodels/session/sqlite.py,sha256=nCDjopLiBpX1F10qkKoARM7JrVdIpJ1WdGOduFVxaiA,2080
304
304
  syncmodels/source/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
- syncmodels-0.1.317.dist-info/AUTHORS.rst,sha256=3ZPoqg8Aav8DSYKd0fwcwn4_5HwSiMLart0E5Un00-U,168
306
- syncmodels-0.1.317.dist-info/LICENSE,sha256=uzMOYtIiUsnsD0xHJR7aJWJ4v_bvan0kTnvufy5eNoA,1075
307
- syncmodels-0.1.317.dist-info/METADATA,sha256=ysR8CVg8FxFsfK0SohKSX68OCKdwnD1by-vAw9D3tiw,2700
308
- syncmodels-0.1.317.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
309
- syncmodels-0.1.317.dist-info/entry_points.txt,sha256=dMnigjZsHMxTwXiiZyBZdBbMYE0-hY3L5cG15EcDAzw,51
310
- syncmodels-0.1.317.dist-info/top_level.txt,sha256=2DfQ9NuAhKMjY3BvQGVBA7GfqTm7EoHNbaehSUiqiHQ,11
311
- syncmodels-0.1.317.dist-info/RECORD,,
305
+ syncmodels-0.1.318.dist-info/AUTHORS.rst,sha256=3ZPoqg8Aav8DSYKd0fwcwn4_5HwSiMLart0E5Un00-U,168
306
+ syncmodels-0.1.318.dist-info/LICENSE,sha256=uzMOYtIiUsnsD0xHJR7aJWJ4v_bvan0kTnvufy5eNoA,1075
307
+ syncmodels-0.1.318.dist-info/METADATA,sha256=WwetSpUpgA_cInAZs04KrHG6cUEo-D-fu-YHTV0Llx0,2700
308
+ syncmodels-0.1.318.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
309
+ syncmodels-0.1.318.dist-info/entry_points.txt,sha256=dMnigjZsHMxTwXiiZyBZdBbMYE0-hY3L5cG15EcDAzw,51
310
+ syncmodels-0.1.318.dist-info/top_level.txt,sha256=2DfQ9NuAhKMjY3BvQGVBA7GfqTm7EoHNbaehSUiqiHQ,11
311
+ syncmodels-0.1.318.dist-info/RECORD,,