rda-python-dsquasar 3.0.17__tar.gz → 3.0.19__tar.gz

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.
Files changed (20) hide show
  1. {rda_python_dsquasar-3.0.17/src/rda_python_dsquasar.egg-info → rda_python_dsquasar-3.0.19}/PKG-INFO +1 -1
  2. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/pyproject.toml +1 -1
  3. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/dsquasar.py +18 -14
  4. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19/src/rda_python_dsquasar.egg-info}/PKG-INFO +1 -1
  5. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/LICENSE +0 -0
  6. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/MANIFEST.in +0 -0
  7. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/README.md +0 -0
  8. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/setup.cfg +0 -0
  9. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/__init__.py +0 -0
  10. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/ds_quasar.py +0 -0
  11. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/dsquasar.usg +0 -0
  12. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/dstacc.py +0 -0
  13. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/taccrec.py +0 -0
  14. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/tacctar.py +0 -0
  15. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/SOURCES.txt +0 -0
  16. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/dependency_links.txt +0 -0
  17. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/entry_points.txt +0 -0
  18. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/requires.txt +0 -0
  19. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/top_level.txt +0 -0
  20. {rda_python_dsquasar-3.0.17 → rda_python_dsquasar-3.0.19}/test/test_dsquasar.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsquasar
3
- Version: 3.0.17
3
+ Version: 3.0.19
4
4
  Summary: RDA Python package to backup and recover RDA data archives to and from GLOBUS Quasar backup server
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dsquasar
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rda_python_dsquasar"
7
- version = "3.0.17"
7
+ version = "3.0.19"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -44,6 +44,7 @@ class DsQuasar(PgCMD, PgSplit):
44
44
  MCSACT = 128 # hidden action to add MD5 checksum string to note fields of bfile records
45
45
  DSCNT = 65
46
46
  DSTEP = 1000
47
+ DSLIST = 40 # name the datasets in a report line while the list is still readable
47
48
 
48
49
  def __init__(self):
49
50
  super().__init__() # initialize parent class
@@ -1071,8 +1072,9 @@ class DsQuasar(PgCMD, PgSplit):
1071
1072
  if not dstat: self.pglog("Error Quaser Drdata for " + fmsg, self.ERRACT|self.LOGERR)
1072
1073
  bstat = self.quasar_multiple_transfer(tofiles, fromfiles, 'gdex-quasar', 'gdex-glade', self.ERRACT)
1073
1074
  if not bstat: self.pglog("Error Quaser Backup for " + fmsg, self.ERRACT|self.LOGERR)
1074
- if dstat == self.FINISH: dstat = self.check_globus_finished(tofiles[0], 'gdex-quasar-drdata', self.ERRACT|self.NOWAIT)
1075
- if bstat == self.FINISH: bstat = self.check_globus_finished(tofiles[0], 'gdex-quasar', self.ERRACT|self.NOWAIT)
1075
+ tcnt = len(tofiles)
1076
+ if dstat == self.FINISH: dstat = self.check_globus_finished(tofiles[0], 'gdex-quasar-drdata', self.ERRACT|self.NOWAIT, tcnt)
1077
+ if bstat == self.FINISH: bstat = self.check_globus_finished(tofiles[0], 'gdex-quasar', self.ERRACT|self.NOWAIT, tcnt)
1076
1078
  if dstat and bstat:
1077
1079
  for fromfile in fromfiles:
1078
1080
  tarfile = self.PGLOG['DSSDATA'] + fromfile
@@ -2171,46 +2173,48 @@ class DsQuasar(PgCMD, PgSplit):
2171
2173
  self.set_dsquasar_progress(cnt, size)
2172
2174
  cnt = size = 0
2173
2175
  if cnt: self.set_dsquasar_progress(cnt, size)
2174
- dscnt = len(qinfo['dsids'])
2175
2176
  ssize = self.format_float_value(qinfo['size'])
2176
2177
  bmsg = self.BACKMSG[backflag]
2177
- dmsg = qinfo['dsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2178
+ dmsg = self.dataset_message(qinfo['dsids'])
2178
2179
  msg = "{} ({}) {} files for {} GDEX files of {}".format(bcnt, ssize, bmsg, qinfo['fcnt'], dmsg)
2179
2180
  self.pglog(self.INDENT + msg, self.LOGACT)
2180
2181
  indent = self.INDENT + self.INDENT
2181
2182
  if qinfo['ncnt'] > 0:
2182
- dscnt = len(qinfo['ndsids'])
2183
- dmsg = qinfo['ndsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2183
+ dmsg = self.dataset_message(qinfo['ndsids'])
2184
2184
  msg = "{} {} files Missing Note fields of {}".format(bcnt, bmsg, dmsg)
2185
2185
  self.pglog(indent + msg, self.LOGACT)
2186
2186
  msg = "{} GDEX files Changed after {}".format(pcnt, bmsg)
2187
2187
  self.pglog(indent + msg, self.LOGACT)
2188
2188
  if pcnt == 0: return
2189
2189
  if qinfo['ccnt'] > 0:
2190
- dscnt = len(qinfo['cdsids'])
2191
- dmsg = qinfo['cdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2190
+ dmsg = self.dataset_message(qinfo['cdsids'])
2192
2191
  ssize = self.format_float_value(qinfo['csize'])
2193
2192
  msg = "{} ({}) GDEX file sizes Changed for {}".format(qinfo['ccnt'], ssize, dmsg)
2194
2193
  self.pglog(indent + msg, self.LOGACT)
2195
2194
  if qinfo['ucnt'] > 0:
2196
- dscnt = len(qinfo['udsids'])
2197
- dmsg = qinfo['udsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2195
+ dmsg = self.dataset_message(qinfo['udsids'])
2198
2196
  ssize = self.format_float_value(qinfo['usize'])
2199
2197
  msg = "{} ({}) GDEX files Updated & Re-done {} for {}".format(qinfo['ucnt'], ssize, bmsg, dmsg)
2200
2198
  self.pglog(indent + msg, self.LOGACT)
2201
2199
  if qinfo['dcnt'] > 0:
2202
- dscnt = len(qinfo['ddsids'])
2203
- dmsg = qinfo['ddsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2200
+ dmsg = self.dataset_message(qinfo['ddsids'])
2204
2201
  ssize = self.format_float_value(qinfo['dsize'])
2205
2202
  msg = "{} ({}) GDEX files Got Deleted for {}".format(qinfo['dcnt'], ssize, dmsg)
2206
2203
  self.pglog(indent + msg, self.LOGACT)
2207
2204
  if qinfo['mcnt'] > 0:
2208
- dscnt = len(qinfo['mdsids'])
2209
- dmsg = qinfo['mdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2205
+ dmsg = self.dataset_message(qinfo['mdsids'])
2210
2206
  ssize = self.format_float_value(qinfo['msize'])
2211
2207
  msg = "{} ({}) GDEX files Moved for {}".format(qinfo['mcnt'], ssize, dmsg)
2212
2208
  self.pglog(indent + msg, self.LOGACT)
2213
2209
 
2210
+ # name the datasets a report line refers to, so that a short list can be acted on
2211
+ # instead of only counted; fall back to the count alone once the list gets long
2212
+ def dataset_message(self, dsids):
2213
+ dscnt = len(dsids)
2214
+ if dscnt == 1: return dsids[0]
2215
+ if dscnt > self.DSLIST: return "{} datasets".format(dscnt)
2216
+ return "{} datasets ({})".format(dscnt, ', '.join(sorted(dsids)))
2217
+
2214
2218
  # count cache the Web/Saved files in type A bfiles (archived) already
2215
2219
  def count_changed_files(self, bid, binfo, qinfo):
2216
2220
  qinfo['fcnt'] += binfo['fcnt']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsquasar
3
- Version: 3.0.17
3
+ Version: 3.0.19
4
4
  Summary: RDA Python package to backup and recover RDA data archives to and from GLOBUS Quasar backup server
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dsquasar