rda-python-dsarch 3.0.6__tar.gz → 3.0.8__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 (21) hide show
  1. {rda_python_dsarch-3.0.6/src/rda_python_dsarch.egg-info → rda_python_dsarch-3.0.8}/PKG-INFO +1 -1
  2. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/pyproject.toml +1 -1
  3. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/ds_arch.py +1 -1
  4. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/dsarch.py +17 -5
  5. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8/src/rda_python_dsarch.egg-info}/PKG-INFO +1 -1
  6. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/LICENSE +0 -0
  7. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/MANIFEST.in +0 -0
  8. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/README.md +0 -0
  9. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/setup.cfg +0 -0
  10. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/PgArch.py +0 -0
  11. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/PgMeta.py +0 -0
  12. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/__init__.py +0 -0
  13. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/dsarch.usg +0 -0
  14. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/pg_arch.py +0 -0
  15. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch/pg_meta.py +0 -0
  16. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch.egg-info/SOURCES.txt +0 -0
  17. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch.egg-info/dependency_links.txt +0 -0
  18. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch.egg-info/entry_points.txt +0 -0
  19. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch.egg-info/requires.txt +0 -0
  20. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/src/rda_python_dsarch.egg-info/top_level.txt +0 -0
  21. {rda_python_dsarch-3.0.6 → rda_python_dsarch-3.0.8}/tests/test_dsarch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsarch
3
- Version: 3.0.6
3
+ Version: 3.0.8
4
4
  Summary: RDA Python package for utility program dsarch archive RDA data
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dsarch
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rda_python_dsarch"
7
- version = "3.0.6"
7
+ version = "3.0.8"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -1826,7 +1826,7 @@ def retrieve_backup_files():
1826
1826
  if not pgrec:
1827
1827
  PgLOG.pglog("Backup-{}: is not in RDADB".format(bfile, PgLOG.PGLOG['MISSFILE']), PgLOG.LOGWRN)
1828
1828
  continue
1829
- ms = re.match(r'^<(ds\d+\.\d+)_(\w)_\d+.txt>', pgrec['note'])
1829
+ ms = re.match(r'^<([a-z]\d{6}|ds\d+\.\d+)_(\w)_\d+\.txt>', pgrec['note'])
1830
1830
  if not ms:
1831
1831
  PgLOG.pglog("Backup-{}: Note field not formatted properly\n{}".format(bfile, pgrec['note']), PgLOG.LGEREX)
1832
1832
  fdsid = ms.group(1)
@@ -1616,16 +1616,20 @@ class DsArch(PgArch, PgMeta):
1616
1616
  (bfile, qfile) = self.get_backup_filenames(self.params['QF'][i], dsid)
1617
1617
  pgrec = self.pgget(tname, "*", "bfile = '{}'".format(bfile), self.LGEREX)
1618
1618
  if not pgrec:
1619
- self.pglog("Backup-{}: is not in RDADB".format(bfile, self.PGLOG['MISSFILE']), self.LOGWRN)
1619
+ self.pglog("Backup-{}: is not in RDADB".format(bfile), self.LOGWRN)
1620
1620
  continue
1621
- ms = re.match(r'^<(ds\d+\.\d+)_(\w)_\d+.txt>', pgrec['note'])
1621
+ ms = re.match(r'^<([a-z]\d{6}|ds\d+\.\d+)_(\w)_\d+\.txt>', pgrec['note'])
1622
1622
  if not ms:
1623
1623
  self.pglog("Backup-{}: Note field not formatted properly\n{}".format(bfile, pgrec['note']), self.LGEREX)
1624
1624
  fdsid = ms.group(1)
1625
1625
  ftype = ms.group(2)
1626
1626
  if fdsid != dsid: qfile = "/{}/{}".format(fdsid, bfile)
1627
1627
  info = self.check_backup_file(qfile)
1628
- if not info:
1628
+ if info == self.FAILURE: # error checking the endpoint, not a missing file
1629
+ errmsg = "Backup-{}: Error checking file on Quasar Endpoint {}".format(qfile, endpoint)
1630
+ if self.PGLOG['SYSERR']: errmsg += "\n" + self.PGLOG['SYSERR']
1631
+ self.pglog(errmsg, self.PGOPT['extlog'])
1632
+ elif not info:
1629
1633
  self.pglog("Backup-{}: {}".format(qfile, self.PGLOG['MISSFILE']), self.LOGWRN)
1630
1634
  continue
1631
1635
  endpath = 'decsdata' if ftype == 'S' else 'data'
@@ -1644,7 +1648,7 @@ class DsArch(PgArch, PgMeta):
1644
1648
  self.set_local_mode(tarfile, 1, 0o664)
1645
1649
  if self.PGLOG['DSCHECK']:
1646
1650
  self.set_dscheck_dcount(self.ALLCNT, chksize, self.PGOPT['extlog'])
1647
- self.pglog("{} of Quasar Backup file{} downloaded for {}".format(dcnt, self.ALLCNT, s, dsid), self.LOGWRN)
1651
+ self.pglog("{} of {} Quasar Backup file{} downloaded for {}".format(dcnt, self.ALLCNT, s, dsid), self.LOGWRN)
1648
1652
  if 'EM' in self.params: self.PGLOG['PRGMSG'] = ""
1649
1653
 
1650
1654
  def restore_backup_webfiles(self):
@@ -1699,6 +1703,9 @@ class DsArch(PgArch, PgMeta):
1699
1703
  if ainfo:
1700
1704
  self.pglog(afile + ": File exists already", self.PGOPT['wrnlog'])
1701
1705
  else:
1706
+ if pgrec['bid'] not in self.TARFILES:
1707
+ self.pglog("{}: Backup tar file of Backup Id {} is not downloaded".format(wfile, pgrec['bid']), self.PGOPT['wrnlog'])
1708
+ continue
1702
1709
  tarfile = self.TARFILES[pgrec['bid']]
1703
1710
  ainfo = self.get_backup_member_file(pgrec, tarfile, tardir)
1704
1711
  tarcmd = "tar -xvf {} -C {} {}".format(tarfile, tardir, wfile)
@@ -1706,6 +1713,7 @@ class DsArch(PgArch, PgMeta):
1706
1713
  ainfo = self.check_local_file(afile, 0, self.PGOPT['extlog'])
1707
1714
  if not ainfo:
1708
1715
  self.pglog("{}: Error untar File {}".format(tarfile, afile), self.PGOPT['wrnlog'])
1716
+ continue
1709
1717
  if warch: wcnt += 1
1710
1718
  if ainfo['data_size'] != pgrec['data_size']:
1711
1719
  self.pglog("{}: Different Restored/RDADB file sizes {}/{}".format(afile, ainfo['data_size'], pgrec['data_size']), self.PGOPT['wrnlog'])
@@ -1735,7 +1743,7 @@ class DsArch(PgArch, PgMeta):
1735
1743
  Returns:
1736
1744
  Path to the extracted file, or None on failure.
1737
1745
  """
1738
- mfile = wfile = pgrec['wfile']
1746
+ mfile = wfile = pgrec['wfile'] if 'wfile' in pgrec else pgrec['sfile']
1739
1747
  note = pgrec['note']
1740
1748
  while not re.search(r'{}<:>'.format(mfile), note):
1741
1749
  ms = re.search(r'>MV .* File (\S+) To .*{}'.format(mfile), note)
@@ -1801,6 +1809,9 @@ class DsArch(PgArch, PgMeta):
1801
1809
  if ainfo:
1802
1810
  self.pglog(afile + ": File exists already", self.PGOPT['wrnlog'])
1803
1811
  else:
1812
+ if pgrec['bid'] not in self.TARFILES:
1813
+ self.pglog("{}: Backup tar file of Backup Id {} is not downloaded".format(sfile, pgrec['bid']), self.PGOPT['wrnlog'])
1814
+ continue
1804
1815
  tarfile = self.TARFILES[pgrec['bid']]
1805
1816
  ainfo = self.get_backup_member_file(pgrec, tarfile, tardir)
1806
1817
  tarcmd = "tar -xvf {} -C {} {}".format(tarfile, tardir, sfile)
@@ -1808,6 +1819,7 @@ class DsArch(PgArch, PgMeta):
1808
1819
  ainfo = self.check_local_file(afile, 0, self.PGOPT['extlog'])
1809
1820
  if not ainfo:
1810
1821
  self.pglog("{}: Error untar File {}".format(tarfile, afile), self.PGOPT['wrnlog'])
1822
+ continue
1811
1823
  if sarch: scnt += 1
1812
1824
  if ainfo['data_size'] != pgrec['data_size']:
1813
1825
  self.pglog("{}: Different Restored/RDADB file sizes {}/{}".format(afile, ainfo['data_size'], pgrec['data_size']), self.PGOPT['wrnlog'])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsarch
3
- Version: 3.0.6
3
+ Version: 3.0.8
4
4
  Summary: RDA Python package for utility program dsarch archive RDA data
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dsarch