Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "rda_python_dsquasar"
version = "3.0.18"
version = "3.0.19"
authors = [
{ name="Zaihua Ji", email="zji@ucar.edu" },
]
Expand Down
27 changes: 15 additions & 12 deletions src/rda_python_dsquasar/dsquasar.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class DsQuasar(PgCMD, PgSplit):
MCSACT = 128 # hidden action to add MD5 checksum string to note fields of bfile records
DSCNT = 65
DSTEP = 1000
DSLIST = 40 # name the datasets in a report line while the list is still readable

def __init__(self):
super().__init__() # initialize parent class
Expand Down Expand Up @@ -2172,46 +2173,48 @@ def dump_dataset_bckfiles(self, dsfiles, backflag):
self.set_dsquasar_progress(cnt, size)
cnt = size = 0
if cnt: self.set_dsquasar_progress(cnt, size)
dscnt = len(qinfo['dsids'])
ssize = self.format_float_value(qinfo['size'])
bmsg = self.BACKMSG[backflag]
dmsg = qinfo['dsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
dmsg = self.dataset_message(qinfo['dsids'])
msg = "{} ({}) {} files for {} GDEX files of {}".format(bcnt, ssize, bmsg, qinfo['fcnt'], dmsg)
self.pglog(self.INDENT + msg, self.LOGACT)
indent = self.INDENT + self.INDENT
if qinfo['ncnt'] > 0:
dscnt = len(qinfo['ndsids'])
dmsg = qinfo['ndsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
dmsg = self.dataset_message(qinfo['ndsids'])
msg = "{} {} files Missing Note fields of {}".format(bcnt, bmsg, dmsg)
self.pglog(indent + msg, self.LOGACT)
msg = "{} GDEX files Changed after {}".format(pcnt, bmsg)
self.pglog(indent + msg, self.LOGACT)
if pcnt == 0: return
if qinfo['ccnt'] > 0:
dscnt = len(qinfo['cdsids'])
dmsg = qinfo['cdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
dmsg = self.dataset_message(qinfo['cdsids'])
ssize = self.format_float_value(qinfo['csize'])
msg = "{} ({}) GDEX file sizes Changed for {}".format(qinfo['ccnt'], ssize, dmsg)
self.pglog(indent + msg, self.LOGACT)
if qinfo['ucnt'] > 0:
dscnt = len(qinfo['udsids'])
dmsg = qinfo['udsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
dmsg = self.dataset_message(qinfo['udsids'])
ssize = self.format_float_value(qinfo['usize'])
msg = "{} ({}) GDEX files Updated & Re-done {} for {}".format(qinfo['ucnt'], ssize, bmsg, dmsg)
self.pglog(indent + msg, self.LOGACT)
if qinfo['dcnt'] > 0:
dscnt = len(qinfo['ddsids'])
dmsg = qinfo['ddsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
dmsg = self.dataset_message(qinfo['ddsids'])
ssize = self.format_float_value(qinfo['dsize'])
msg = "{} ({}) GDEX files Got Deleted for {}".format(qinfo['dcnt'], ssize, dmsg)
self.pglog(indent + msg, self.LOGACT)
if qinfo['mcnt'] > 0:
dscnt = len(qinfo['mdsids'])
dmsg = qinfo['mdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
dmsg = self.dataset_message(qinfo['mdsids'])
ssize = self.format_float_value(qinfo['msize'])
msg = "{} ({}) GDEX files Moved for {}".format(qinfo['mcnt'], ssize, dmsg)
self.pglog(indent + msg, self.LOGACT)

# name the datasets a report line refers to, so that a short list can be acted on
# instead of only counted; fall back to the count alone once the list gets long
def dataset_message(self, dsids):
dscnt = len(dsids)
if dscnt == 1: return dsids[0]
if dscnt > self.DSLIST: return "{} datasets".format(dscnt)
return "{} datasets ({})".format(dscnt, ', '.join(sorted(dsids)))

# count cache the Web/Saved files in type A bfiles (archived) already
def count_changed_files(self, bid, binfo, qinfo):
qinfo['fcnt'] += binfo['fcnt']
Expand Down
Loading