rda-python-dsarch 3.0.5__tar.gz → 3.0.7__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.5/src/rda_python_dsarch.egg-info → rda_python_dsarch-3.0.7}/PKG-INFO +1 -1
  2. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/pyproject.toml +1 -1
  3. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/PgArch.py +4 -14
  4. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/ds_arch.py +11 -22
  5. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/dsarch.py +15 -25
  6. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/dsarch.usg +11 -39
  7. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/pg_arch.py +5 -14
  8. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7/src/rda_python_dsarch.egg-info}/PKG-INFO +1 -1
  9. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/LICENSE +0 -0
  10. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/MANIFEST.in +0 -0
  11. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/README.md +0 -0
  12. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/setup.cfg +0 -0
  13. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/PgMeta.py +0 -0
  14. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/__init__.py +0 -0
  15. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch/pg_meta.py +0 -0
  16. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch.egg-info/SOURCES.txt +0 -0
  17. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch.egg-info/dependency_links.txt +0 -0
  18. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch.egg-info/entry_points.txt +0 -0
  19. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch.egg-info/requires.txt +0 -0
  20. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/src/rda_python_dsarch.egg-info/top_level.txt +0 -0
  21. {rda_python_dsarch-3.0.5 → rda_python_dsarch-3.0.7}/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.5
3
+ Version: 3.0.7
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.5"
7
+ version = "3.0.7"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -131,7 +131,6 @@ PgOPT.OPTS = { # (!= 0) - setting actions
131
131
  'ON' : [1, 'OrderNames', 0],
132
132
  'PO' : [1, 'PatternOffset', 16],
133
133
  'QS' : [1, 'QsubOptions', 1],
134
- 'UD' : [1, 'UseDSARCH', 0, 'YNIPW'], # Internal, Public, Web only, Y - ready for dsarch
135
134
  'VS' : [1, 'ValidSize', 17], # default to PgLOG.PGLOG['MINSIZE']
136
135
  'WI' : [1, 'WaitInternval', 1],
137
136
 
@@ -257,7 +256,6 @@ PgOPT.ALIAS = {
257
256
  'TS' : ['ToSavedFile', 'MovedToSaved'],
258
257
  'TW' : ['ToWebFile', 'MovedToWeb'],
259
258
  'UC' : ['UpdateCacheNumber'],
260
- 'UD' : ['UseRDADB'],
261
259
  'HD' : ['UpdateHTML', 'GenerateHTML'],
262
260
  'UZ' : ['Uncompress', 'UncompressData', 'Unzip'],
263
261
  'WC' : ['ValidateChecksum', "WithMD5", "ValidateMD5"],
@@ -281,7 +279,6 @@ PgOPT.TBLHASH['dataset'] = { # condition flag, 0-int, 1-string, -1-exclu
281
279
  'H' : ['WH', "webhome", 1],
282
280
  'W' : ['WP', "webpath", 1],
283
281
  'F' : ['DF', "data_format", 1],
284
- 'U' : ['UD', "use_rdadb", 1],
285
282
  'L' : ['LC', "locflag", 1],
286
283
  'Q' : ['BF', "backflag", 1],
287
284
  'A' : ['DA', "accessflag", 1],
@@ -412,7 +409,7 @@ PgOPT.TBLHASH['dsvrsn'] = {
412
409
  # global info to be used by the whole application
413
410
  PgOPT.PGOPT['MSET'] = "SA"
414
411
  #default fields for getting info
415
- PgOPT.PGOPT['dataset'] = "SWFULQA"
412
+ PgOPT.PGOPT['dataset'] = "SWFLQA"
416
413
  PgOPT.PGOPT['dsperiod'] = "GJKXY"
417
414
  PgOPT.PGOPT['dsgroup'] = "IGXTPQASW"
418
415
  PgOPT.PGOPT['wfile'] = "FTIVMNLHPS"
@@ -420,10 +417,9 @@ PgOPT.PGOPT['sfile'] = "FTIVMNLHPS"
420
417
  PgOPT.PGOPT['bfile'] = "FNMTHS"
421
418
  PgOPT.PGOPT['hfile'] = 'FMNLTHPSU'
422
419
  PgOPT.PGOPT['dsvrsn'] = "VIEDSJX"
423
- PgOPT.PGOPT['UACTS'] = (PgOPT.OPTS['AQ'][0]|PgOPT.OPTS['SD'][0]|PgOPT.OPTS['DL'][0])
424
420
 
425
421
  #all fields for getting info
426
- PgOPT.PGOPT['dsall'] = "TSHWFULQAVCBMPIDNGJKXYIJKXY" # include 'pdall'
422
+ PgOPT.PGOPT['dsall'] = "TSHWFLQAVCBMPIDNGJKXYIJKXY" # include 'pdall'
427
423
  PgOPT.PGOPT['pdall'] = "GJKXY"
428
424
  PgOPT.PGOPT['gpall'] = "IGXTRQAPSWMDN"
429
425
  PgOPT.PGOPT['wfall'] = "FTCIXVMNOBQLHPSJKAED"
@@ -492,7 +488,7 @@ def check_enough_options(cact, acts):
492
488
  "Miss Saved file types per -ST(-SavedFileType)",
493
489
  "Cannot Cross Copy/Move (-XC/-XM) Saved Files",
494
490
  "14",
495
- "Miss Use-RDADB flag, ('Y', 'P', 'W', 'I'), per -UD(-UseRDADB) for ",
491
+ "15",
496
492
  "16",
497
493
  "miss Saved file names per -SF(-SavedFile)",
498
494
  "Miss Version Control Index per -VI(-VersionIndex)",
@@ -675,14 +671,8 @@ def check_enough_options(cact, acts):
675
671
  elif acts == PgOPT.OPTS['UC'][0] or acts == PgOPT.OPTS['UW'][0]:
676
672
  if 'DS' not in PgOPT.params: erridx = 4
677
673
 
678
- if erridx < 0:
679
- if(PgOPT.OPTS[cact][2] > 0 and acts&PgOPT.PGOPT['UACTS'] == 0 and
680
- PgDBI.use_rdadb(PgOPT.params['DS'], PgOPT.PGOPT['extlog']) == 'N' and
681
- ('UD' not in PgOPT.params or PgOPT.params['UD'] == 'N')):
682
- erridx = 15
683
- errmsg[erridx] += PgOPT.params['DS']
684
-
685
674
  if erridx >= 0: PgOPT.action_error(errmsg[erridx], cact)
675
+ PgOPT.validate_dataset() # error out if the dataset does not exist in RDADB
686
676
 
687
677
  PgOPT.set_uid("dsarch") # set uid before any action
688
678
  if 'VS' in PgOPT.params: PgLOG.PGLOG['MINSIZE'] = PgOPT.params['VS'] # minimal size for a file to be valid for archive
@@ -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)
@@ -2264,37 +2264,26 @@ def set_dataset_info(include = None):
2264
2264
  dcnd = "dsid = '{}'".format(dsid)
2265
2265
  PgLOG.pglog("Set {} info of {} ...".format(tname, dsid), PgLOG.WARNLG)
2266
2266
 
2267
- mcnt = acnt = pcnt = kcnt = 0
2267
+ mcnt = pcnt = kcnt = 0
2268
2268
  fnames = PgOPT.get_field_keys(tname, include)
2269
- if fnames: # set dataset record
2269
+ if fnames: # set dataset record; new datasets are created via the Metadata Manager, not dsarch
2270
2270
  pgrec = PgDBI.pgget(tname, PgOPT.get_string_fields(fnames, tname), dcnd, PgLOG.LGEREX)
2271
2271
  record = PgOPT.build_record(fnames, pgrec, tname, 0)
2272
- if record:
2272
+ if record and pgrec:
2273
2273
  if 'backflag' in record and record['backflag'] == 'P': record['backflag'] = 'N'
2274
2274
  if 'locflag' in record and record['locflag'] in 'BR': record['locflag'] = 'G'
2275
- if pgrec:
2276
- record['date_change'] = PgUtil.curdate()
2277
- if PgDBI.pgupdt(tname, record, dcnd, PgLOG.LGEREX):
2278
- mcnt += 1
2279
- if 'use_rdadb' in record and re.search(r'^[PYW]$', record['use_rdadb']):
2280
- PgOPT.params['WN'] = 6
2281
- else:
2282
- record['dsid'] = dsid
2283
- record['date_change'] = record['date_create'] = PgUtil.curdate()
2284
- if not record['use_rdadb']: record['use_rdadb'] = 'Y'
2285
- acnt += PgDBI.pgadd(tname, record, PgLOG.LGEREX)
2275
+ record['date_change'] = PgUtil.curdate()
2276
+ if PgDBI.pgupdt(tname, record, dcnd, PgLOG.LGEREX):
2277
+ mcnt += 1
2286
2278
 
2287
- if acnt == 0: pcnt = set_period_info(dcnd) # set dsperiod record
2279
+ pcnt = set_period_info(dcnd) # set dsperiod record
2288
2280
  kvalues = PgOPT.params['KV'] if 'KV' in PgOPT.params else []
2289
2281
  kcnt = set_keyvalues(dsid, kvalues)
2290
2282
 
2291
- if (pcnt + kcnt + mcnt + acnt) == 0:
2292
- if not include: PgLOG.pglog("No change of dataset record for {}!".format(dsid), PgLOG.LOGWRN)
2283
+ if (pcnt + kcnt + mcnt) == 0:
2284
+ if not include: PgLOG.pglog("No change of dataset record for {}!".format(dsid), PgLOG.LOGWRN)
2293
2285
  else:
2294
- if acnt:
2295
- PgLOG.pglog("Dataset record added for {}!".format(dsid), PgLOG.LOGWRN)
2296
- else:
2297
- PgLOG.pglog("Dataset record modified for {}!".format(dsid), PgLOG.LOGWRN)
2286
+ PgLOG.pglog("Dataset record modified for {}!".format(dsid), PgLOG.LOGWRN)
2298
2287
  if pcnt + mcnt:
2299
2288
  PgDBI.reset_rdadb_version(dsid)
2300
2289
 
@@ -1618,7 +1618,7 @@ class DsArch(PgArch, PgMeta):
1618
1618
  if not pgrec:
1619
1619
  self.pglog("Backup-{}: is not in RDADB".format(bfile, self.PGLOG['MISSFILE']), 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)
@@ -2058,11 +2058,12 @@ class DsArch(PgArch, PgMeta):
2058
2058
 
2059
2059
  def set_dataset_info(self, include=None):
2060
2060
  """
2061
- Insert or update the dataset record in RDADB.
2061
+ Update an existing dataset record in RDADB.
2062
2062
 
2063
- Reads dataset fields from params, builds an update/insert record, and
2064
- calls the appropriate database function. When *include* is 'P', only
2065
- period-related fields are updated.
2063
+ Reads dataset fields from params, builds an update record, and updates
2064
+ the existing dataset record. New datasets are created via the Metadata
2065
+ Manager, not dsarch, so a missing dataset record is left unchanged.
2066
+ When *include* is 'P', only period-related fields are updated.
2066
2067
 
2067
2068
  Args:
2068
2069
  include -- field subset selector string, or None for all fields
@@ -2071,35 +2072,24 @@ class DsArch(PgArch, PgMeta):
2071
2072
  dsid = self.params['DS']
2072
2073
  dcnd = "dsid = '{}'".format(dsid)
2073
2074
  self.pglog("Set {} info of {} ...".format(tname, dsid), self.WARNLG)
2074
- mcnt = acnt = pcnt = kcnt = 0
2075
+ mcnt = pcnt = kcnt = 0
2075
2076
  fnames = self.get_field_keys(tname, include)
2076
- if fnames: # set dataset record
2077
+ if fnames: # set dataset record; new datasets are created via the Metadata Manager, not dsarch
2077
2078
  pgrec = self.pgget(tname, self.get_string_fields(fnames, tname), dcnd, self.LGEREX)
2078
2079
  record = self.build_record(fnames, pgrec, tname, 0)
2079
- if record:
2080
+ if record and pgrec:
2080
2081
  if 'backflag' in record and record['backflag'] == 'P': record['backflag'] = 'N'
2081
2082
  if 'locflag' in record and record['locflag'] in 'BR': record['locflag'] = 'G'
2082
- if pgrec:
2083
- record['date_change'] = self.curdate()
2084
- if self.pgupdt(tname, record, dcnd, self.LGEREX):
2085
- mcnt += 1
2086
- if 'use_rdadb' in record and re.search(r'^[PYW]$', record['use_rdadb']):
2087
- self.params['WN'] = 6
2088
- else:
2089
- record['dsid'] = dsid
2090
- record['date_change'] = record['date_create'] = self.curdate()
2091
- if not record['use_rdadb']: record['use_rdadb'] = 'Y'
2092
- acnt += self.pgadd(tname, record, self.LGEREX)
2093
- if acnt == 0: pcnt = self.set_period_info(dcnd) # set dsperiod record
2083
+ record['date_change'] = self.curdate()
2084
+ if self.pgupdt(tname, record, dcnd, self.LGEREX):
2085
+ mcnt += 1
2086
+ pcnt = self.set_period_info(dcnd) # set dsperiod record
2094
2087
  kvalues = self.params['KV'] if 'KV' in self.params else []
2095
2088
  kcnt = self.set_keyvalues(dsid, kvalues)
2096
- if (pcnt + kcnt + mcnt + acnt) == 0:
2089
+ if (pcnt + kcnt + mcnt) == 0:
2097
2090
  if not include: self.pglog("No change of dataset record for {}!".format(dsid), self.LOGWRN)
2098
2091
  else:
2099
- if acnt:
2100
- self.pglog("Dataset record added for {}!".format(dsid), self.LOGWRN)
2101
- else:
2102
- self.pglog("Dataset record modified for {}!".format(dsid), self.LOGWRN)
2092
+ self.pglog("Dataset record modified for {}!".format(dsid), self.LOGWRN)
2103
2093
  if pcnt + mcnt:
2104
2094
  self.reset_rdadb_version(dsid)
2105
2095
 
@@ -53,13 +53,6 @@ perform the following major functions:
53
53
  GDEXDB
54
54
  - Regenerate filelist and main webpages on demand after dataset changes
55
55
 
56
- The dataset flag -UD (-UseDSARCH) must be set to at least 'Y' before
57
- 'dsarch' can archive files or write to GDEXDB. This flag also controls
58
- file list publication: setting it to 'P' or 'W' publishes file lists for
59
- GDEX Server data files, making them visible in the dataset's user
60
- interface on the GDEX Web Server. See the -SD (-SetDataset) action and
61
- the -UD (-UseDSARCH) option for details.
62
-
63
56
  When a file is moved and its name or path changes, 'dsarch' records the
64
57
  new name as the primary entry in GDEXDB and retains the original as a
65
58
  linked alias. Both names resolve to the same file for usage tracking.
@@ -138,8 +131,8 @@ because most actions require it. When -DS is the first argument after
138
131
  'dsarch', the option name itself may be omitted — just supply the dataset
139
132
  number directly.
140
133
 
141
- Many options have an alias for convenience; for example, -UseRDADB is an
142
- alias for -UD (-UseDSARCH). Both short and long forms are accepted, and
134
+ Many options have an alias for convenience; for example, -Compress is an
135
+ alias for -ZD (-ZipData). Both short and long forms are accepted, and
143
136
  aliases are noted with each option.
144
137
 
145
138
  2.1 Quick Start
@@ -153,9 +146,6 @@ aliases are noted with each option.
153
146
  Retrieve a dataset record from GDEXDB:
154
147
  dsarch d260001 -GD
155
148
 
156
- Set the UseDSARCH flag so the dataset can be archived:
157
- dsarch d260001 -SD -UD Y
158
-
159
149
  Archive a local file as a Web file:
160
150
  dsarch d260001 -AW -LF data.nc
161
151
 
@@ -211,10 +201,6 @@ actions perform a single task; others bundle multiple tasks together and
211
201
  may trigger additional steps when certain Mode options are present. Only
212
202
  one Action option may be specified per execution.
213
203
 
214
- Write actions require the -UD (-UseDSARCH) flag to be set to 'Y', 'I',
215
- 'P', or 'W' for the target dataset before they can modify GDEXDB. Read
216
- actions have no such requirement.
217
-
218
204
  Actions are grouped into seven categories based on the information they
219
205
  handle:
220
206
  Dataset Actions - create, modify and retrieve dataset information
@@ -248,7 +234,6 @@ handle:
248
234
  periods.
249
235
 
250
236
  dsarch [-(DS|Dataset)] dNNNNNN [-](SD|SetDataset) [Mode Options]
251
- [-(UD|UseDSARCH) UseDSARCHFlag] # Y, P, W, I, or N
252
237
  [-(LC|Location) AccessLocationFlag] # C - CGD, G - Glade, O - bOreas
253
238
  [-(BF|BackupFlag) QuasarBackupFlag] # B - Backup, D - Backup & Drdata
254
239
  [-(DA|AccessFlag) DataAccessFlags] # B - Both, C - Complete, F - Faceted, or N - No
@@ -286,20 +271,21 @@ handle:
286
271
  dataset level
287
272
  -(WN|WithFileNumber) - re-evaluates and resets file counts
288
273
 
289
- Dataset numbers are normally created via the Metadata Manager. Action
290
- -SD modifies the dataset record and any associated group data
291
- periods. Data periods for groups can be modified in 'dsarch', but
292
- must be created or removed through Metadata Manager.
274
+ Dataset numbers are created via the Metadata Manager, not 'dsarch'.
275
+ Action -SD only modifies an existing dataset record and its associated
276
+ group data periods; if no dataset record exists, -SD makes no change to
277
+ it. Data periods for groups can be modified in 'dsarch', but the groups
278
+ themselves must be created or removed through the Metadata Manager.
293
279
 
294
280
  The web file access location flag is set via -LC (-Location). The
295
281
  default is 'G' (Glade Disk) when any web data files exist. The default
296
282
  becomes 'O' if all web files reside on bOreas, or 'C' if all are at
297
283
  the CGD data path.
298
284
 
299
- For example, to set the UseDSARCH flag, reset file counts and data
300
- size, and set the beginning data date for dataset d744004:
285
+ For example, to reset file counts and data size, and set the
286
+ beginning data date for dataset d744004:
301
287
 
302
- dsarch d744004 SD -WN -UD Y -BD 1999-07-01
288
+ dsarch d744004 SD -WN -BD 1999-07-01
303
289
 
304
290
  3.1.2 Get Dataset Information
305
291
  -GD or -GetDataset, reads and displays dataset record fields from
@@ -318,7 +304,7 @@ handle:
318
304
  -(WN|WithFileNumber) - gathers and displays Saved/Web file counts
319
305
 
320
306
  Use -FN (-FieldNames) to select which dataset fields to include.
321
- Defaults to 'SWFULQ'. Use -FN ALL to retrieve every available field.
307
+ Defaults to 'SWFLQA'. Use -FN ALL to retrieve every available field.
322
308
 
323
309
  Valid dataset field names and their corresponding Info options:
324
310
 
@@ -328,7 +314,6 @@ handle:
328
314
  H -(WH|WebHome) path for the web data home directory
329
315
  W -(WP|WebPath) path relative to web home directory
330
316
  F -(DF|DataFormat) default data content format
331
- U -(UD|UseDSARCH) use DSARCH flag
332
317
  L -(LC|Location) Online web file access location flags
333
318
  Q -(BF|BackupFlag) Quasar Backup flags
334
319
  A -(DA|DataAccessFlag) dataset data file list access flags
@@ -360,7 +345,6 @@ SavedPath<=>
360
345
  WebPath<=>
361
346
  Location<=>G
362
347
  DataFormat<=>
363
- UseDSARCH<=>P
364
348
  GroupLevel<=>3
365
349
  FileLimit<=>500
366
350
  ButtonLimit<=>2
@@ -2037,18 +2021,6 @@ They come in two forms:
2037
2021
  when running 'dsarch' as a PBS batch job. Quote the value on the
2038
2022
  command line, e.g., -QS '-l walltime=12:00:00'.
2039
2023
 
2040
- -UD or -UseDSARCH (Alias: -UseGDEXDB), the gating flag that
2041
- controls 'dsarch' access to a dataset. Set via -SD (-SetDataset).
2042
- Values:
2043
- 'N' - disabled (default; blocks all 'dsarch' writes)
2044
- 'Y' - enabled for modification
2045
- 'I' - enabled for internal users only
2046
- 'P' - enabled and file lists are published publicly
2047
- 'W' - file list publication only
2048
-
2049
- Any value except 'N' must be set before 'dsarch' can write to
2050
- GDEXDB.
2051
-
2052
2024
  -VS or -ValidSize, the minimum acceptable file size (in bytes) for
2053
2025
  archiving. Files smaller than this threshold are rejected.
2054
2026
  Defaults to 100.
@@ -148,7 +148,6 @@ class PgArch(PgOPT, PgCMD, PgSplit):
148
148
  'ON' : [1, 'OrderNames', 0],
149
149
  'PO' : [1, 'PatternOffset', 16],
150
150
  'QS' : [1, 'QsubOptions', 1],
151
- 'UD' : [1, 'UseDSARCH', 0, 'YNIPW'], # Internal, Public, Web only, Y - ready for dsarch
152
151
  'VS' : [1, 'ValidSize', 17], # default to self.PGLOG['MINSIZE']
153
152
  'WI' : [1, 'WaitInternval', 1],
154
153
  'AF' : [2, 'ArchiveFormat', 1],
@@ -272,7 +271,6 @@ class PgArch(PgOPT, PgCMD, PgSplit):
272
271
  'TS' : ['ToSavedFile', 'MovedToSaved'],
273
272
  'TW' : ['ToWebFile', 'MovedToWeb'],
274
273
  'UC' : ['UpdateCacheNumber'],
275
- 'UD' : ['UseRDADB'],
276
274
  'HD' : ['UpdateHTML', 'GenerateHTML'],
277
275
  'UZ' : ['Uncompress', 'UncompressData', 'Unzip'],
278
276
  'WC' : ['ValidateChecksum', "WithMD5", "ValidateMD5"],
@@ -293,7 +291,6 @@ class PgArch(PgOPT, PgCMD, PgSplit):
293
291
  'H' : ['WH', "webhome", 1],
294
292
  'W' : ['WP', "webpath", 1],
295
293
  'F' : ['DF', "data_format", 1],
296
- 'U' : ['UD', "use_rdadb", 1],
297
294
  'L' : ['LC', "locflag", 1],
298
295
  'Q' : ['BF', "backflag", 1],
299
296
  'A' : ['DA', "accessflag", 1],
@@ -416,7 +413,7 @@ class PgArch(PgOPT, PgCMD, PgSplit):
416
413
  # global info to be used by the whole application
417
414
  self.PGOPT['MSET'] = "SA"
418
415
  #default fields for getting info
419
- self.PGOPT['dataset'] = "SWFULQA"
416
+ self.PGOPT['dataset'] = "SWFLQA"
420
417
  self.PGOPT['dsperiod'] = "GJKXY"
421
418
  self.PGOPT['dsgroup'] = "IGXTPQASW"
422
419
  self.PGOPT['wfile'] = "FTIVMNLHPS"
@@ -424,10 +421,9 @@ class PgArch(PgOPT, PgCMD, PgSplit):
424
421
  self.PGOPT['bfile'] = "FNMTHS"
425
422
  self.PGOPT['hfile'] = 'FMNLTHPSU'
426
423
  self.PGOPT['dsvrsn'] = "VIEDSJX"
427
- self.PGOPT['UACTS'] = (self.OPTS['AQ'][0]|self.OPTS['SD'][0]|self.OPTS['DL'][0])
428
-
424
+
429
425
  #all fields for getting info
430
- self.PGOPT['dsall'] = "TSHWFULQAVCBMPIDNGJKXYIJKXY" # include 'pdall'
426
+ self.PGOPT['dsall'] = "TSHWFLQAVCBMPIDNGJKXYIJKXY" # include 'pdall'
431
427
  self.PGOPT['pdall'] = "GJKXY"
432
428
  self.PGOPT['gpall'] = "IGXTRQAPSWMDN"
433
429
  self.PGOPT['wfall'] = "FTCIXVMNOBQLHPSJKAED"
@@ -506,7 +502,7 @@ class PgArch(PgOPT, PgCMD, PgSplit):
506
502
  "Miss Saved file types per -ST(-SavedFileType)",
507
503
  "Cannot Cross Copy/Move (-XC/-XM) Saved Files",
508
504
  "14",
509
- "Miss Use-RDADB flag, ('Y', 'P', 'W', 'I'), per -UD(-UseRDADB) for ",
505
+ "15",
510
506
  "16",
511
507
  "miss Saved file names per -SF(-SavedFile)",
512
508
  "Miss Version Control Index per -VI(-VersionIndex)",
@@ -684,13 +680,8 @@ class PgArch(PgOPT, PgCMD, PgSplit):
684
680
  self.validate_versions()
685
681
  elif acts == self.OPTS['UC'][0] or acts == self.OPTS['UW'][0]:
686
682
  if 'DS' not in self.params: erridx = 4
687
- if erridx < 0:
688
- if(self.OPTS[cact][2] > 0 and acts&self.PGOPT['UACTS'] == 0 and
689
- self.use_rdadb(self.params['DS'], self.PGOPT['extlog']) == 'N' and
690
- ('UD' not in self.params or self.params['UD'] == 'N')):
691
- erridx = 15
692
- errmsg[erridx] += self.params['DS']
693
683
  if erridx >= 0: self.action_error(errmsg[erridx], cact)
684
+ self.validate_dataset() # error out if the dataset does not exist in RDADB
694
685
  self.set_uid("dsarch") # set uid before any action
695
686
  if 'VS' in self.params: self.PGLOG['MINSIZE'] = self.params['VS'] # minimal size for a file to be valid for archive
696
687
  self.PGLOG['RSOptions'] = " -R -S" if 'RS' in self.params else ''
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsarch
3
- Version: 3.0.5
3
+ Version: 3.0.7
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