nxswriter 3.17.2__py3-none-any.whl → 3.19.0__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.
nxswriter/ClientSource.py CHANGED
@@ -25,6 +25,18 @@ from lxml.etree import XMLParser
25
25
  from .DataSources import DataSource
26
26
  from .Errors import DataSourceSetupError
27
27
 
28
+ try:
29
+ try:
30
+ import tango
31
+ except Exception:
32
+ import PyTango as tango
33
+ #: (:obj:`str`) global variable if tango module installed
34
+ PYTANGO_AVAILABLE = True
35
+ except ImportError as e:
36
+ PYTANGO_AVAILABLE = False
37
+ sys.stdout.write("PYTANGO not available: %s" % e)
38
+ sys.stdout.flush()
39
+
28
40
 
29
41
  class ClientSource(DataSource):
30
42
 
@@ -106,4 +118,13 @@ class ClientSource(DataSource):
106
118
  names = [self.name]
107
119
  if self.name:
108
120
  names.append(self.name.lower())
121
+ if PYTANGO_AVAILABLE and "/" in self.name and \
122
+ not self.name.startswith("tango://"):
123
+ if ":" in self.name:
124
+ names.append("tango://%s" % (self.name.lower()))
125
+ else:
126
+ db = tango.Database()
127
+ names.append("tango://%s:%s/%s" %
128
+ (db.get_db_host().split(".")[0],
129
+ db.get_db_port(), self.name.lower()))
109
130
  return self._getJSONData(names, self.__globalJSON, self.__localJSON)
nxswriter/Release.py CHANGED
@@ -21,4 +21,4 @@
21
21
 
22
22
 
23
23
  #: package version
24
- __version__ = "3.17.2"
24
+ __version__ = "3.19.0"
@@ -65,7 +65,15 @@ try:
65
65
  WRITERS["h5redis"] = H5RedisWriter
66
66
  except Exception:
67
67
  pass
68
- DEFAULTWRITERS = ["h5cpp", "h5py", "h5redis"]
68
+
69
+ try:
70
+ from nxstools import rediswriter as RedisWriter
71
+ WRITERS["redis"] = RedisWriter
72
+ except Exception:
73
+ pass
74
+
75
+
76
+ DEFAULTWRITERS = ["h5cpp", "h5py", "h5redis", "redis"]
69
77
 
70
78
 
71
79
  #: (:obj:`bool`) tango bug #213 flag related to EncodedAttributes in python3
@@ -491,12 +499,17 @@ class TangoDataWriter(object):
491
499
  :brief: It parse the XML settings, creates thread pools
492
500
  and runs the INIT pool.
493
501
  """
502
+ tt0 = time.time()
503
+ if self._streams:
504
+ self._streams.debug("openEntry: INIT")
494
505
  if self.xmlsettings:
495
506
  # flag for INIT mode
496
507
  self.__datasources.counter = -1
497
508
  self.__datasources.nxroot = self.__nxRoot
498
509
  errorHandler = sax.ErrorHandler()
499
510
  parser = sax.make_parser()
511
+ if self._streams:
512
+ self._streams.debug("openEntry: Create NexusXMLHnadler")
500
513
  handler = NexusXMLHandler(
501
514
  self.__nxPath[-1] if self.__nxPath else self.__eFile,
502
515
  self.__datasources,
@@ -517,6 +530,8 @@ class TangoDataWriter(object):
517
530
  else:
518
531
  inpsrc.setByteStream(StringIO(self.xmlsettings))
519
532
 
533
+ if self._streams:
534
+ self._streams.debug("openEntry: Parse NexusXMLHnadler")
520
535
  parser.parse(inpsrc)
521
536
 
522
537
  self.__initPool = handler.initPool
@@ -540,10 +555,18 @@ class TangoDataWriter(object):
540
555
  self.__triggerPools[pool].maxRuntime = \
541
556
  self.maxElementRuntime
542
557
 
558
+ if self._streams:
559
+ self._streams.debug("openEntry: SET JSON")
543
560
  self.__initPool.setJSON(json.loads(self.jsonrecord))
561
+ if self._streams:
562
+ self._streams.debug("openEntry: RUN INIT")
563
+ tt1 = time.time()
544
564
  if not self.skipacquisition:
545
565
  self.__initPool.runAndWait()
546
566
  self.__initPool.checkErrors()
567
+ tt2 = time.time()
568
+ if self._streams:
569
+ self._streams.debug("openEntry: ADD LOGS")
547
570
  self.skipacquisition = False
548
571
  if self.addingLogs:
549
572
  self.__entryCounter += 1
@@ -554,6 +577,9 @@ class TangoDataWriter(object):
554
577
  "string")
555
578
  lfield.write(self.xmlsettings)
556
579
  lfield.close()
580
+ tt3 = time.time()
581
+ if self._streams:
582
+ self._streams.debug("openEntry: FLUSH")
557
583
  if self.__nxFile and hasattr(self.__nxFile, "flush"):
558
584
  self.__nxFile.flush()
559
585
  if self.stepsperfile > 0:
@@ -562,9 +588,34 @@ class TangoDataWriter(object):
562
588
  self.__nextfile()
563
589
  elif "swmr" in self.__pars.keys() and self.__pars["swmr"]:
564
590
  self.__nxFile.reopen(readonly=False, **self.__pars)
591
+ tt4 = time.time()
592
+ else:
593
+ tt4 = time.time()
594
+ tt1 = tt4
595
+ tt2 = tt4
596
+ tt3 = tt4
597
+ if self._streams:
598
+ self._streams.debug("openEntry: PREPARE")
565
599
  if self.__nxFile and hasattr(self.__nxFile, "prepare"):
566
600
  # print("START")
567
601
  self.__nxFile.prepare()
602
+ tt5 = time.time()
603
+ if self._streams:
604
+ dt = tt5 - tt0
605
+ dt1 = tt1 - tt0
606
+ dt2 = tt2 - tt1
607
+ dt3 = tt3 - tt2
608
+ dt4 = tt4 - tt3
609
+ dt5 = tt5 - tt4
610
+ message = "openEntry: END TotalTime = %ss, " \
611
+ "ParseXMLTime=%ss, INITRunTime=%ss, " \
612
+ "AddLogsTime=%ss, FlushTime=%ss, " \
613
+ "PrepateTime=%ss" % (dt, dt1, dt2, dt3, dt4, dt5)
614
+ if dt and self.maxRecordRuntime and \
615
+ dt > self.maxRecordRuntime:
616
+ self._streams.warn(message)
617
+ else:
618
+ self._streams.debug(message)
568
619
 
569
620
  def __nextfile(self):
570
621
  self.__nxFile.close()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nxswriter
3
- Version: 3.17.2
3
+ Version: 3.19.0
4
4
  Summary: Nexus Data writer implemented as a Tango Server
5
5
  Home-page: https://github.com/nexdatas/nxsdatawriter
6
6
  Author: Jan Kotanski, Eugen Wintersberger , Halil Pasic
@@ -95,7 +95,7 @@ Extract sources and run
95
95
  Debian packages
96
96
  """""""""""""""
97
97
 
98
- Debian `trixie`, `bookworm`, `bullseye` or Ubuntu `plucky`, `noble`, `jammy` packages can be found in the HDRI repository.
98
+ Debian `trixie`, `bookworm`, `bullseye` or Ubuntu `questing`, `noble`, `jammy` packages can be found in the HDRI repository.
99
99
 
100
100
  To install the debian packages, add the PGP repository key
101
101
 
@@ -110,7 +110,7 @@ and then download the corresponding source list
110
110
  .. code-block:: console
111
111
 
112
112
  $ cd /etc/apt/sources.list.d
113
- $ wget http://repos.pni-hdri.de/trixie-pni-hdri.list
113
+ $ wget http://repos.pni-hdri.de/trixie-pni-hdri.sources
114
114
 
115
115
  To install tango server
116
116
 
@@ -1,4 +1,4 @@
1
- nxswriter/ClientSource.py,sha256=t231lmoc1t3k15ej2KssSfuIdq83X_gYFSFWiMuB1r0,3893
1
+ nxswriter/ClientSource.py,sha256=QLrnnOOmBm9V0M4rgwAneNmKtqifrLn6GNJLRNI6Kzg,4681
2
2
  nxswriter/DBaseSource.py,sha256=_w1PCBcoIFoSCOLz9vxRastPPqTGJOla2ObLxNrcrx4,9072
3
3
  nxswriter/DataHolder.py,sha256=DL08NyY0FG6snsmW0-nQ7JmWJwDc5-Hy2bC4E3Uz1fk,6164
4
4
  nxswriter/DataSourceFactory.py,sha256=W0IirDjsu38KKvBxFbkvv-ghvqil2JJStQ3WMxo8Kh4,4687
@@ -23,16 +23,16 @@ nxswriter/NXSFromXML.py,sha256=932BivWZnf-3tnIkbpSRFwfGV0PTwcT9pYb2FMmVd_4,9077
23
23
  nxswriter/NXSWriter.py,sha256=raHykC9mpUXU8pPtsqePuz3CI-24qYjIUSoyux2zCgo,31345
24
24
  nxswriter/NexusXMLHandler.py,sha256=IrZ2mWLuovdBIHcWTqKmr4HZxpMEWLun8A94O6pavr8,14131
25
25
  nxswriter/PyEvalSource.py,sha256=7-7Gc2_3CGd3XMHD3LBPCBOZx4Q6b1guzt1xgrSLxMs,11234
26
- nxswriter/Release.py,sha256=nOEMiEQb1ll4tiljlZFluwNzXndVKDIni5mEw-dMN3w,900
26
+ nxswriter/Release.py,sha256=-2w_xfW7CytYzQSzvJi1JZkUeLiv9fC94RT2rUp1tFI,900
27
27
  nxswriter/StreamSet.py,sha256=sSvXJxoDufmt9_Xu5rFaQsp_4x9gww_zMv0NTiiyLlg,5799
28
- nxswriter/TangoDataWriter.py,sha256=yP6B3TVUhpHp8OBHKYQRNNtFer9xARoakNXuro4eVv8,28725
28
+ nxswriter/TangoDataWriter.py,sha256=SGU0s5eGwfv5PDScujgSsAljDvtmX8GsBUA4No8PBp0,30485
29
29
  nxswriter/TangoSource.py,sha256=jiFGUsoX2N5-i2gpBqkHi2KjmTBd46TI22Cjkt_2btw,29410
30
30
  nxswriter/ThreadPool.py,sha256=TKvOStVUUyuyHowk0MRaBM4GmRKtl0VPVVPdFHu332M,6039
31
31
  nxswriter/Types.py,sha256=haH578_GqBwWWUhPC6x9KQOubhhEOsxHdI63j0_AkdE,7906
32
32
  nxswriter/__init__.py,sha256=M0w3HGjZgfdqjMdQNaLcq5jazqQeRekx84YSbQCA8-0,1760
33
- nxswriter-3.17.2.data/scripts/NXSDataWriter,sha256=wO3opCCjYttfrY7CITNXHvirXv5W6rIQTY7vX5PmioI,905
34
- nxswriter-3.17.2.data/scripts/nxsfromxml,sha256=qxnJUtV_ueA3lGnne8ltaOF6yF5YtmzeFLIl3NWkAq8,61
35
- nxswriter-3.17.2.dist-info/METADATA,sha256=l9ESAHpGc9QZX2sfVH5Fg-PhEeBz_op9J20l8c8KCBg,9011
36
- nxswriter-3.17.2.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
37
- nxswriter-3.17.2.dist-info/top_level.txt,sha256=29dYcOYN2MVz1NKpwobc4Zl4yjhd4VB62LDSuSy7x0Y,10
38
- nxswriter-3.17.2.dist-info/RECORD,,
33
+ nxswriter-3.19.0.data/scripts/NXSDataWriter,sha256=wO3opCCjYttfrY7CITNXHvirXv5W6rIQTY7vX5PmioI,905
34
+ nxswriter-3.19.0.data/scripts/nxsfromxml,sha256=qxnJUtV_ueA3lGnne8ltaOF6yF5YtmzeFLIl3NWkAq8,61
35
+ nxswriter-3.19.0.dist-info/METADATA,sha256=ThDI8_KMxd9uMRtoFF3Q3wET6QROyLVKK4w7XQmST8I,9016
36
+ nxswriter-3.19.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
37
+ nxswriter-3.19.0.dist-info/top_level.txt,sha256=29dYcOYN2MVz1NKpwobc4Zl4yjhd4VB62LDSuSy7x0Y,10
38
+ nxswriter-3.19.0.dist-info/RECORD,,