ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
EventIndex
EventGUIDLookup
python
EventGUIDLookupArgClasses.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
"""Custom transform argument classes for EventGUIDLookup."""
3
4
import
os
5
6
from
PyJobTransforms.trfLogger
import
msg
7
import
PyJobTransforms.trfArgClasses
as
trfArgClasses
8
9
10
class
argEventGUIDFile
(trfArgClasses.argFile):
11
"""Plain text output; nentries = number of non-blank lines, per file."""
12
13
def
__init__
(self, *args, **kwargs):
14
super().
__init__
(*args, **kwargs)
15
self._metadataKeys[
'nentries'
] = self.
_countLines
16
self._metadataKeys[
'_exists'
] = self.
_existsQuiet
17
18
def
_existsQuiet
(self, files):
19
present = []
20
for
fname
in
files:
21
if
self.
_urlType
==
'posix'
and
'['
not
in
fname
and
not
os.path.exists(fname):
22
msg.warning(
'Optional output file %s was not produced'
, fname)
23
self._fileMetadata.setdefault(fname, {})[
'_exists'
] =
False
24
else
:
25
present.append(fname)
26
if
present:
27
trfArgClasses.argFile._exists(self, present)
28
29
def
_countLines
(self, files):
30
for
fname
in
files:
31
if
not
os.path.exists(fname):
32
continue
33
with
open(fname)
as
f:
34
n = sum(1
for
line
in
f
if
line.strip())
35
self._fileMetadata.setdefault(fname, {})[
'nentries'
] = n
36
37
def
getnentries
(self, fast=False):
38
total, found = 0,
False
39
for
fname
in
self.
_value
:
40
if
os.path.exists(fname):
41
found =
True
42
with
open(fname)
as
f:
43
total += sum(1
for
line
in
f
if
line.strip())
44
return
total
if
found
else
None
EventGUIDLookupArgClasses.argEventGUIDFile
Definition
EventGUIDLookupArgClasses.py:10
EventGUIDLookupArgClasses.argEventGUIDFile.getnentries
getnentries(self, fast=False)
Definition
EventGUIDLookupArgClasses.py:37
EventGUIDLookupArgClasses.argEventGUIDFile._value
_value
Definition
EventGUIDLookupArgClasses.py:39
EventGUIDLookupArgClasses.argEventGUIDFile._urlType
str _urlType
Definition
EventGUIDLookupArgClasses.py:21
EventGUIDLookupArgClasses.argEventGUIDFile._existsQuiet
_existsQuiet(self, files)
Definition
EventGUIDLookupArgClasses.py:18
EventGUIDLookupArgClasses.argEventGUIDFile.__init__
__init__(self, *args, **kwargs)
Definition
EventGUIDLookupArgClasses.py:13
EventGUIDLookupArgClasses.argEventGUIDFile._countLines
_countLines(self, files)
Definition
EventGUIDLookupArgClasses.py:29
PyJobTransforms.trfArgClasses
Transform argument class definitions.
PyJobTransforms.trfLogger
Logging configuration for ATLAS job transforms.
Generated on
for ATLAS Offline Software by
1.17.0