rda-python-dsquasar 3.0.18__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.18/src/rda_python_dsquasar.egg-info → rda_python_dsquasar-3.0.19}/PKG-INFO +1 -1
  2. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/pyproject.toml +1 -1
  3. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/dsquasar.py +15 -12
  4. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19/src/rda_python_dsquasar.egg-info}/PKG-INFO +1 -1
  5. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/LICENSE +0 -0
  6. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/MANIFEST.in +0 -0
  7. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/README.md +0 -0
  8. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/setup.cfg +0 -0
  9. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/__init__.py +0 -0
  10. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/ds_quasar.py +0 -0
  11. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/dsquasar.usg +0 -0
  12. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/dstacc.py +0 -0
  13. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/taccrec.py +0 -0
  14. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar/tacctar.py +0 -0
  15. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/SOURCES.txt +0 -0
  16. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/dependency_links.txt +0 -0
  17. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/entry_points.txt +0 -0
  18. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/requires.txt +0 -0
  19. {rda_python_dsquasar-3.0.18 → rda_python_dsquasar-3.0.19}/src/rda_python_dsquasar.egg-info/top_level.txt +0 -0
  20. {rda_python_dsquasar-3.0.18 → 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.18
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.18"
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
@@ -2172,46 +2173,48 @@ class DsQuasar(PgCMD, PgSplit):
2172
2173
  self.set_dsquasar_progress(cnt, size)
2173
2174
  cnt = size = 0
2174
2175
  if cnt: self.set_dsquasar_progress(cnt, size)
2175
- dscnt = len(qinfo['dsids'])
2176
2176
  ssize = self.format_float_value(qinfo['size'])
2177
2177
  bmsg = self.BACKMSG[backflag]
2178
- dmsg = qinfo['dsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2178
+ dmsg = self.dataset_message(qinfo['dsids'])
2179
2179
  msg = "{} ({}) {} files for {} GDEX files of {}".format(bcnt, ssize, bmsg, qinfo['fcnt'], dmsg)
2180
2180
  self.pglog(self.INDENT + msg, self.LOGACT)
2181
2181
  indent = self.INDENT + self.INDENT
2182
2182
  if qinfo['ncnt'] > 0:
2183
- dscnt = len(qinfo['ndsids'])
2184
- dmsg = qinfo['ndsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2183
+ dmsg = self.dataset_message(qinfo['ndsids'])
2185
2184
  msg = "{} {} files Missing Note fields of {}".format(bcnt, bmsg, dmsg)
2186
2185
  self.pglog(indent + msg, self.LOGACT)
2187
2186
  msg = "{} GDEX files Changed after {}".format(pcnt, bmsg)
2188
2187
  self.pglog(indent + msg, self.LOGACT)
2189
2188
  if pcnt == 0: return
2190
2189
  if qinfo['ccnt'] > 0:
2191
- dscnt = len(qinfo['cdsids'])
2192
- dmsg = qinfo['cdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2190
+ dmsg = self.dataset_message(qinfo['cdsids'])
2193
2191
  ssize = self.format_float_value(qinfo['csize'])
2194
2192
  msg = "{} ({}) GDEX file sizes Changed for {}".format(qinfo['ccnt'], ssize, dmsg)
2195
2193
  self.pglog(indent + msg, self.LOGACT)
2196
2194
  if qinfo['ucnt'] > 0:
2197
- dscnt = len(qinfo['udsids'])
2198
- dmsg = qinfo['udsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2195
+ dmsg = self.dataset_message(qinfo['udsids'])
2199
2196
  ssize = self.format_float_value(qinfo['usize'])
2200
2197
  msg = "{} ({}) GDEX files Updated & Re-done {} for {}".format(qinfo['ucnt'], ssize, bmsg, dmsg)
2201
2198
  self.pglog(indent + msg, self.LOGACT)
2202
2199
  if qinfo['dcnt'] > 0:
2203
- dscnt = len(qinfo['ddsids'])
2204
- dmsg = qinfo['ddsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2200
+ dmsg = self.dataset_message(qinfo['ddsids'])
2205
2201
  ssize = self.format_float_value(qinfo['dsize'])
2206
2202
  msg = "{} ({}) GDEX files Got Deleted for {}".format(qinfo['dcnt'], ssize, dmsg)
2207
2203
  self.pglog(indent + msg, self.LOGACT)
2208
2204
  if qinfo['mcnt'] > 0:
2209
- dscnt = len(qinfo['mdsids'])
2210
- dmsg = qinfo['mdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2205
+ dmsg = self.dataset_message(qinfo['mdsids'])
2211
2206
  ssize = self.format_float_value(qinfo['msize'])
2212
2207
  msg = "{} ({}) GDEX files Moved for {}".format(qinfo['mcnt'], ssize, dmsg)
2213
2208
  self.pglog(indent + msg, self.LOGACT)
2214
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
+
2215
2218
  # count cache the Web/Saved files in type A bfiles (archived) already
2216
2219
  def count_changed_files(self, bid, binfo, qinfo):
2217
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.18
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