rda-python-icoads 1.0.12__tar.gz → 1.0.14__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.

Potentially problematic release.


This version of rda-python-icoads might be problematic. Click here for more details.

Files changed (37) hide show
  1. {rda_python_icoads-1.0.12/src/rda_python_icoads.egg-info → rda_python_icoads-1.0.14}/PKG-INFO +1 -1
  2. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/pyproject.toml +1 -1
  3. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/cleanicoads.py +4 -3
  4. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/fillicoads.py +32 -20
  5. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14/src/rda_python_icoads.egg-info}/PKG-INFO +1 -1
  6. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/LICENSE +0 -0
  7. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/MANIFEST.in +0 -0
  8. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/README.md +0 -0
  9. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/setup.cfg +0 -0
  10. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/PgIMMA.py +0 -0
  11. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/R3.0-stat_doc.pdf +0 -0
  12. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/README_R3.0_Subset.html +0 -0
  13. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/__init__.py +0 -0
  14. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/checkicoads.py +0 -0
  15. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/countattm.py +0 -0
  16. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/countattmvar.py +0 -0
  17. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/counticoads.py +0 -0
  18. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/countsst.py +0 -0
  19. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/fillinventory.py +0 -0
  20. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/fillitable.py +0 -0
  21. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/fillmonth.py +0 -0
  22. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/fixiidx.py +0 -0
  23. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/imma1_subset.py +0 -0
  24. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/maxsst.py +0 -0
  25. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/msg +0 -0
  26. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/msg3.0_subset_readme.txt +0 -0
  27. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/msg3_subset.py +0 -0
  28. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/msg_download.py +0 -0
  29. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/msgsubset.f +0 -0
  30. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/rdimma1_csv.f +0 -0
  31. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads/writeicoads.py +0 -0
  32. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads.egg-info/SOURCES.txt +0 -0
  33. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads.egg-info/dependency_links.txt +0 -0
  34. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads.egg-info/entry_points.txt +0 -0
  35. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads.egg-info/requires.txt +0 -0
  36. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/src/rda_python_icoads.egg-info/top_level.txt +0 -0
  37. {rda_python_icoads-1.0.12 → rda_python_icoads-1.0.14}/tests/test_icoads.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_icoads
3
- Version: 1.0.12
3
+ Version: 1.0.14
4
4
  Summary: RDA python package to manage RDA ICOADS datasets
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-icoads
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "rda_python_icoads"
9
- version = "1.0.12"
9
+ version = "1.0.14"
10
10
  authors = [
11
11
  { name="Zaihua Ji", email="zji@ucar.edu" },
12
12
  ]
@@ -107,9 +107,10 @@ def clean_imma_data():
107
107
  else:
108
108
  clean_imma_data_for_tidx(tidx, cnd)
109
109
 
110
- cnt = PgDBI.pgdel(table, PVALS['dcnd'], PgLOG.LGEREX)
111
- s = 's' if cnt > 1 else ''
112
- PgLOG.pglog("{}: {} record{} deleted for {}".format(table, cnt, s, PVALS['dcnd']), PgLOG.LOGWRN)
110
+ if not PVALS['aname']:
111
+ cnt = PgDBI.pgdel(table, PVALS['dcnd'], PgLOG.LGEREX)
112
+ s = 's' if cnt > 1 else ''
113
+ PgLOG.pglog("{}: {} record{} deleted for {}".format(table, cnt, s, PVALS['dcnd']), PgLOG.LOGWRN)
113
114
 
114
115
  #
115
116
  # clean up imma data for table index
@@ -19,12 +19,15 @@ import re
19
19
  from os import path as op
20
20
  from rda_python_common import PgLOG
21
21
  from rda_python_common import PgDBI
22
+ from rda_python_common import PgUtil
22
23
  from . import PgIMMA
23
24
 
24
25
  PVALS = {
25
26
  'uatti' : '',
26
27
  'names' : None,
27
- 'files' : []
28
+ 'files' : [],
29
+ 'dates' : [],
30
+ 'dtlen' : 0
28
31
  }
29
32
 
30
33
  #
@@ -38,23 +41,29 @@ def main():
38
41
 
39
42
  option = None
40
43
  for arg in argv:
41
- if arg == "-b":
42
- PgLOG.PGLOG['BCKGRND'] = 1
43
- elif arg == "-a":
44
- PVALS['uatti'] = "98"
45
- elif arg == "-u":
46
- leaduid = 1
47
- elif arg == "-e":
48
- chkexist = 1
49
- elif arg == "-r":
50
- option = 'r'
51
- elif arg == "-i":
52
- addinventory = 1
53
- elif re.match(r'^-', arg):
54
- PgLOG.pglog(arg + ": Invalid Option", PgLOG.LGWNEX)
44
+ if re.match(r'-\w', arg):
45
+ option = None
46
+ if arg[1] == "b":
47
+ PgLOG.PGLOG['BCKGRND'] = 1
48
+ elif arg[1] == "a":
49
+ PVALS['uatti'] = "98"
50
+ elif arg[1] == "u":
51
+ leaduid = 1
52
+ elif arg[1] == "e":
53
+ chkexist = 1
54
+ elif arg[1] == "i":
55
+ addinventory = 1
56
+ elif arg[1] in "fpr":
57
+ option = arg[1]
58
+ else:
59
+ PgLOG.pglog(arg + ": Invalid Option", PgLOG.LGWNEX)
55
60
  elif option == 'f':
56
61
  get_imma_filelist(arg)
57
62
  option = None
63
+ elif option == 'p':
64
+ PVALS['dates'].append(PgUtil.format_date(arg))
65
+ PVALS['dtlen'] += 1
66
+ if PVALS['dtlen'] == 2: option = None
58
67
  elif option == 'r':
59
68
  rn3 = int(arg)
60
69
  option = None
@@ -62,11 +71,12 @@ def main():
62
71
  PVALS['files'].append(arg)
63
72
 
64
73
  if not PVALS['files']:
65
- print("Usage: fillicoads [-a] [-e] [-f InputFile] [-i] [-r RN3] [-u] FileList")
74
+ print("Usage: fillicoads [-a] [-e] [-f InputFile] [-i] [-p BDate [EDate]] [-r RN3] [-u] FileList")
66
75
  print(" At least one file name needs to fill icoads data into Postgres Server")
67
76
  print(" Option -a: add all attms, including multi-line ones, such as IVAD and REANQC")
68
77
  print(" Option -f: provide a filename holding a list of IMMA1 files")
69
78
  print(" Option -i: add daily counting records into inventory table")
79
+ print(" Option -p: provide a period for filling data")
70
80
  print(" Option -r: the Third digit of IMMA release number")
71
81
  print(" Option -u: standalone attachment records with leading 6-character UID")
72
82
  print(" Option -e: check existing record before adding attm")
@@ -119,10 +129,10 @@ def process_imma_file(fname, addinventory):
119
129
 
120
130
  # get the first valid date and do initialization
121
131
  line = IMMA.readline()
132
+ PgIMMA.identify_attm_name(line) # check and record standalone attm name
122
133
  while line:
123
- PgIMMA.identify_attm_name(line) # check and record standalone attm name
124
134
  idate = cdate = PgIMMA.get_imma_date(line)
125
- if cdate:
135
+ if cdate and (PVALS['dtlen'] == 0 or cdate >= PVALS['dates'][0]):
126
136
  PgIMMA.init_indices_for_date(cdate, iname)
127
137
  records = PgIMMA.get_imma_records(cdate, line, records)
128
138
  break
@@ -140,14 +150,16 @@ def process_imma_file(fname, addinventory):
140
150
  for i in range(PgIMMA.TABLECOUNT): acounts[i] += acnts[i]
141
151
  records = {}
142
152
  cdate = idate
153
+ if PVALS['dtlen'] == 2 and cdate > PVALS['dates'][1]: break
143
154
  PgIMMA.init_indices_for_date(cdate, iname)
144
155
  records = PgIMMA.get_imma_records(idate, line, records)
145
156
  line = IMMA.readline()
146
157
 
147
158
  IMMA.close()
148
159
 
149
- acnts = PgIMMA.add_imma_records(cdate, records)
150
- for i in range(PgIMMA.TABLECOUNT): acounts[i] += acnts[i]
160
+ if cdate and records:
161
+ acnts = PgIMMA.add_imma_records(cdate, records)
162
+ for i in range(PgIMMA.TABLECOUNT): acounts[i] += acnts[i]
151
163
 
152
164
  PgLOG.pglog("{} ({}) filled from {}".format(' '.join(map(str, acounts)), PVALS['names'], op.basename(fname)), PgLOG.LOGWRN)
153
165
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_icoads
3
- Version: 1.0.12
3
+ Version: 1.0.14
4
4
  Summary: RDA python package to manage RDA ICOADS datasets
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-icoads