rda-python-dsquasar 1.0.8__tar.gz → 1.0.10__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsquasar
3
- Version: 1.0.8
3
+ Version: 1.0.10
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 = "1.0.8"
7
+ version = "1.0.10"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -10,7 +10,7 @@
10
10
  # Purpose : check Backup flags set in dataset.backflag and/or dsgroup.backflag of RDADB
11
11
  # to gather Web and Saved bfiles, tar them into larger (> 2GB) bfiles, and
12
12
  # back them up onto Quasar Backup Servers, at the Globus end points of
13
- # NCAR RDA Quasar and/or NCAR RDA Quasar Drdata, for Backup and/or
13
+ # NCAR GDEX Quasar and/or NCAR GDEX Quasar Drdata, for Backup and/or
14
14
  # desaster recovery copies, respectively. The file tarring and backing up
15
15
  # processes are completed in utility program dsarch.
16
16
  #
@@ -91,7 +91,7 @@ TFCOUNT = 100 # if file count is greater, use MINSIZE for tar file
91
91
  SUBLMTS = 2000 # file count limit for a sub-group
92
92
 
93
93
  PGBACK = {
94
- 'workdir' : "{}/{}/quasar_backup".format(PgLOG.PGLOG['UPDTWKP'], PgLOG.PGLOG['RDAUSER']),
94
+ 'workdir' : "{}/{}/quasar_backup".format(PgLOG.PGLOG['UPDTWKP'], PgLOG.PGLOG['GDEXUSER']),
95
95
  'mproc' : 1,
96
96
  'action' : CTACTS,
97
97
  'chgdays' : 0,
@@ -266,7 +266,7 @@ def dump_statistics_action(bopts, dsids):
266
266
  dump_dataset_files(dsfiles, 'D')
267
267
  if PGBACK['chgdays']: return # no further checking
268
268
 
269
- # changed RDA files ready to be backed up
269
+ # changed GDEX files ready to be backed up
270
270
  PGBACK['chgdays'] = 1
271
271
  dsfiles = {'B' : {}, 'D' : {}}
272
272
  gather_dataset_files(dsfiles, dsids, False)
@@ -341,7 +341,7 @@ def add_checksum_action(bopts, dsids, dstart):
341
341
  process_dataset_mcsfiles(dsfiles, 'D')
342
342
 
343
343
  #
344
- # check available RDA files to create input files
344
+ # check available GDEX files to create input files
345
345
  #
346
346
  def create_infile_action(bopts, dsids, dstart):
347
347
 
@@ -515,7 +515,7 @@ def backup_dataset_files(dsfiles, backflag):
515
515
  dcnt = len(qinfo['qdsids'])
516
516
  ssize = PgUtil.format_float_value(qinfo['qsize'])
517
517
  dmsg = qinfo['qdsids'][0] if dcnt == 1 else "{} datasets".format(dcnt)
518
- fmsg = "file{} for {}({}) RDA {}files of {}".format(s, fcnt, ssize, cmsg, dmsg)
518
+ fmsg = "file{} for {}({}) GDEX {}files of {}".format(s, fcnt, ssize, cmsg, dmsg)
519
519
  msg = "{}: {} {} {}".format(amsg, qcnt, bmsg, fmsg)
520
520
  PgLOG.pglog(INDENT + msg, LOGACT)
521
521
 
@@ -527,7 +527,7 @@ def backup_dataset_files(dsfiles, backflag):
527
527
  dsids = qinfo['dsids']
528
528
  dcnt = len(dsids)
529
529
  dmsg = dsids[0] if dcnt == 1 else "{} datasets".format(dcnt)
530
- msg = "{}: {}({}) RDA {}file{} of {} for next {}".format(amsg, fcnt, ssize, cmsg, s, dmsg, bmsg)
530
+ msg = "{}: {}({}) GDEX {}file{} of {} for next {}".format(amsg, fcnt, ssize, cmsg, s, dmsg, bmsg)
531
531
  PgLOG.pglog(INDENT + msg, LOGACT)
532
532
 
533
533
  #
@@ -584,7 +584,7 @@ def backup_dataset_infiles(dsfiles, backflag):
584
584
  dcnt = len(qinfo['qdsids'])
585
585
  ssize = PgUtil.format_float_value(qinfo['qsize'])
586
586
  dmsg = qinfo['qdsids'][0] if dcnt == 1 else "{} datasets".format(dcnt)
587
- fmsg = "file{} for {}({}) RDA files of {}".format(s, fcnt, ssize, dmsg)
587
+ fmsg = "file{} for {}({}) GDEX files of {}".format(s, fcnt, ssize, dmsg)
588
588
  msg = "{}: {} {} {}".format(amsg, qcnt, bmsg, fmsg)
589
589
  PgLOG.pglog(INDENT + msg, LOGACT)
590
590
 
@@ -629,7 +629,7 @@ def backup_dataset_tarfiles(dsfiles, backflag):
629
629
  dcnt = len(qinfo['qdsids'])
630
630
  ssize = PgUtil.format_float_value(qinfo['qsize'])
631
631
  dmsg = qinfo['qdsids'][0] if dcnt == 1 else "{} datasets".format(dcnt)
632
- fmsg = "file{} for {}({}) RDA files of {}".format(s, fcnt, ssize, dmsg)
632
+ fmsg = "file{} for {}({}) GDEX files of {}".format(s, fcnt, ssize, dmsg)
633
633
  msg = "{}: {} {} {}".format(amsg, qcnt, bmsg, fmsg)
634
634
  PgLOG.pglog(INDENT + msg, LOGACT)
635
635
 
@@ -708,7 +708,12 @@ def process_one_backup_file(qinfo, addback, keepid = False):
708
708
  if PgSIG.PGSIG['QUIT']: quit_dsquasar(qinfo)
709
709
  sys.exit(1) # something wrong
710
710
  elif PgSIG.PGSIG['PPID'] > 1:
711
- if PgLOG.pgsystem(cmd, ERRACT):
711
+ stat = PgLOG.pgsystem(cmd, ERRACT, 325) # 256 + 64 + 4 + 1
712
+ if stat:
713
+ for infile in qinfo['infiles']: PgFile.delete_local_file(infile)
714
+ elif re.search(r'file backed up to', PgLOG['SYSERR']):
715
+ if PgDBI.pgdel('bfile', f"bid = {bid}"):
716
+ PgLOG.pglog(f"{dsid}-{qfile}: backup tarfile deleted for duplicattion", DTLACT)
712
717
  for infile in qinfo['infiles']: PgFile.delete_local_file(infile)
713
718
  sys.exit(0) # stop child process
714
719
  else:
@@ -716,9 +721,13 @@ def process_one_backup_file(qinfo, addback, keepid = False):
716
721
  PgLOG.pglog("Started a process for " + qmsg, PgLOG.LOGWRN)
717
722
  else:
718
723
  PgLOG.pglog(qmsg, PgLOG.LOGWRN)
719
- stat = PgLOG.pgsystem(cmd, ERRACT, 69)
724
+ stat = PgLOG.pgsystem(cmd, ERRACT, 325) # 256 + 64 + 4 + 1
720
725
  if stat:
721
726
  for infile in qinfo['infiles']: PgFile.delete_local_file(infile)
727
+ elif re.search(r'file backed up to', PgLOG['SYSERR']):
728
+ if PgDBI.pgdel('bfile', f"bid = {bid}"):
729
+ PgLOG.pglog(f"{dsid}-{qfile}: backup tarfile deleted for duplicattion", DTLACT)
730
+ for infile in qinfo['infiles']: PgFile.delete_local_file(infile)
722
731
  else:
723
732
  PGBACK['errcnt'] += 1
724
733
  if PGBACK['errcnt'] > PGBACK['maxcnt']: quit_dsquasar(qinfo)
@@ -1180,7 +1189,7 @@ def gather_dataset_files(dsfiles, dsids, unlock = True):
1180
1189
  s = 's' if fcnt > 1 else ''
1181
1190
  bmsg = BACKMSG[PGBACK['backflag']] if PGBACK['backflag'] else 'backup'
1182
1191
  cmsg = 'Changed ' if PGBACK['chgdays'] else ''
1183
- PgLOG.pglog("{} RDA {}file{} found ready to {}".format(fcnt, cmsg, s, bmsg), LOGACT)
1192
+ PgLOG.pglog("{} GDEX {}file{} found ready to {}".format(fcnt, cmsg, s, bmsg), LOGACT)
1184
1193
 
1185
1194
  return fcnt
1186
1195
 
@@ -2019,7 +2028,7 @@ def get_backup_mcsfile(dsfiles, pgrec):
2019
2028
 
2020
2029
 
2021
2030
  #
2022
- # dump statistics for RDA files available to create input files
2031
+ # dump statistics for GDEX files available to create input files
2023
2032
  #
2024
2033
  def dump_dataset_files(dsfiles, backflag):
2025
2034
 
@@ -2063,7 +2072,7 @@ def dump_dataset_files(dsfiles, backflag):
2063
2072
  PgLOG.pglog(INDENT + msg, LOGACT)
2064
2073
 
2065
2074
  #
2066
- # RDA files included in input files
2075
+ # GDEX files included in input files
2067
2076
  #
2068
2077
  def dump_dataset_infiles(dsfiles, backflag):
2069
2078
 
@@ -2086,11 +2095,11 @@ def dump_dataset_infiles(dsfiles, backflag):
2086
2095
  dcnt = len(dsids)
2087
2096
  ssize = PgUtil.format_float_value(size)
2088
2097
  dmsg = dsids[0] if dcnt == 1 else "{} datasets".format(dcnt)
2089
- msg = "{}({}) Input files for {} RDA files of {} to be tarred for {}".format(bcnt, ssize, fcnt, dmsg, bmsg)
2098
+ msg = "{}({}) Input files for {} GDEX files of {} to be tarred for {}".format(bcnt, ssize, fcnt, dmsg, bmsg)
2090
2099
  PgLOG.pglog(INDENT + msg, LOGACT)
2091
2100
 
2092
2101
  #
2093
- # tarred RDA files to backup
2102
+ # tarred GDEX files to backup
2094
2103
  #
2095
2104
  def dump_dataset_tarfiles(dsfiles, backflag):
2096
2105
 
@@ -2111,7 +2120,7 @@ def dump_dataset_tarfiles(dsfiles, backflag):
2111
2120
  ssize = PgUtil.format_float_value(size)
2112
2121
  bmsg = BACKMSG[backflag]
2113
2122
  dmsg = dsids[0] if dcnt == 1 else "{} datasets".format(dcnt)
2114
- msg = "{} ({}) Tarred files for {} RDA files of {} for {}".format(bcnt, ssize, fcnt, dmsg, bmsg)
2123
+ msg = "{} ({}) Tarred files for {} GDEX files of {} for {}".format(bcnt, ssize, fcnt, dmsg, bmsg)
2115
2124
  PgLOG.pglog(INDENT + msg, LOGACT)
2116
2125
 
2117
2126
  #
@@ -2144,7 +2153,7 @@ def dump_dataset_bckfiles(dsfiles, backflag):
2144
2153
  ssize = PgUtil.format_float_value(qinfo['size'])
2145
2154
  bmsg = BACKMSG[backflag]
2146
2155
  dmsg = qinfo['dsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2147
- msg = "{} ({}) {} files for {} RDA files of {}".format(bcnt, ssize, bmsg, qinfo['fcnt'], dmsg)
2156
+ msg = "{} ({}) {} files for {} GDEX files of {}".format(bcnt, ssize, bmsg, qinfo['fcnt'], dmsg)
2148
2157
  PgLOG.pglog(INDENT + msg, LOGACT)
2149
2158
 
2150
2159
  indent = INDENT + INDENT
@@ -2154,7 +2163,7 @@ def dump_dataset_bckfiles(dsfiles, backflag):
2154
2163
  msg = "{} {} files Missing Note fields of {}".format(bcnt, bmsg, dmsg)
2155
2164
  PgLOG.pglog(indent + msg, LOGACT)
2156
2165
 
2157
- msg = "{} RDA files Changed after {}".format(pcnt, bmsg)
2166
+ msg = "{} GDEX files Changed after {}".format(pcnt, bmsg)
2158
2167
  PgLOG.pglog(indent + msg, LOGACT)
2159
2168
  if pcnt == 0: return
2160
2169
 
@@ -2162,28 +2171,28 @@ def dump_dataset_bckfiles(dsfiles, backflag):
2162
2171
  dscnt = len(qinfo['cdsids'])
2163
2172
  dmsg = qinfo['cdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2164
2173
  ssize = PgUtil.format_float_value(qinfo['csize'])
2165
- msg = "{} ({}) RDA file sizes Changed for {}".format(qinfo['ccnt'], ssize, dmsg)
2174
+ msg = "{} ({}) GDEX file sizes Changed for {}".format(qinfo['ccnt'], ssize, dmsg)
2166
2175
  PgLOG.pglog(indent + msg, LOGACT)
2167
2176
 
2168
2177
  if qinfo['ucnt'] > 0:
2169
2178
  dscnt = len(qinfo['udsids'])
2170
2179
  dmsg = qinfo['udsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2171
2180
  ssize = PgUtil.format_float_value(qinfo['usize'])
2172
- msg = "{} ({}) RDA files Updated & Re-done {} for {}".format(qinfo['ucnt'], ssize, bmsg, dmsg)
2181
+ msg = "{} ({}) GDEX files Updated & Re-done {} for {}".format(qinfo['ucnt'], ssize, bmsg, dmsg)
2173
2182
  PgLOG.pglog(indent + msg, LOGACT)
2174
2183
 
2175
2184
  if qinfo['dcnt'] > 0:
2176
2185
  dscnt = len(qinfo['ddsids'])
2177
2186
  dmsg = qinfo['ddsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2178
2187
  ssize = PgUtil.format_float_value(qinfo['dsize'])
2179
- msg = "{} ({}) RDA files Got Deleted for {}".format(qinfo['dcnt'], ssize, dmsg)
2188
+ msg = "{} ({}) GDEX files Got Deleted for {}".format(qinfo['dcnt'], ssize, dmsg)
2180
2189
  PgLOG.pglog(indent + msg, LOGACT)
2181
2190
 
2182
2191
  if qinfo['mcnt'] > 0:
2183
2192
  dscnt = len(qinfo['mdsids'])
2184
2193
  dmsg = qinfo['mdsids'][0] if dscnt == 1 else "{} datasets".format(dscnt)
2185
2194
  ssize = PgUtil.format_float_value(qinfo['msize'])
2186
- msg = "{} ({}) RDA files Moved for {}".format(qinfo['mcnt'], ssize, dmsg)
2195
+ msg = "{} ({}) GDEX files Moved for {}".format(qinfo['mcnt'], ssize, dmsg)
2187
2196
  PgLOG.pglog(indent + msg, LOGACT)
2188
2197
 
2189
2198
  #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsquasar
3
- Version: 1.0.8
3
+ Version: 1.0.10
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