rda-python-icoads 1.0.11__py3-none-any.whl → 1.0.12__py3-none-any.whl

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.
@@ -1122,8 +1122,10 @@ def get_itidx_date(uid):
1122
1122
  pgrec = PgDBI.pgget(table, "*", cond, PgLOG.LGEREX)
1123
1123
  if not pgrec:
1124
1124
  msg = "{}-{}: suid-rn3 not in {}".format(suid, CURRN3, table)
1125
- if CURRN3 < 0: msg += "\nProvide a RN3 (>= 0) to proceed"
1126
- PgLOG.pglog(msg, PgLOG.LGEREX)
1125
+ if CURRN3 < 0:
1126
+ PgLOG.pglog(msg + "\nProvide a RN3 (>= 0) to proceed", PgLOG.LGEREX)
1127
+ else:
1128
+ return PgLOG.pglog(msg + ", SKIP it", PgLOG.WARNLG)
1127
1129
 
1128
1130
  if CHKEXIST: # check
1129
1131
  table = f"{IVADSC}.{ATTMNAME}_{pgrec['tidx']}"
@@ -68,7 +68,7 @@ def main():
68
68
  PgLOG.pgexit()
69
69
 
70
70
  PgLOG.PGLOG['LOGFILE'] = "icoads.log"
71
- PgDBI.ivaddb_dbname()
71
+ PgDBI.set_scname(dbname = 'ivaddb', scname = PgIMMA.IVADSC, lnname = 'ivaddb', dbhost = PgLOG.PGLOG['PMISCHOST'])
72
72
  PgLOG.cmdlog("cleanicoads {}".format(' '.join(argv)))
73
73
  set_table_info()
74
74
  clean_imma_data()
@@ -80,7 +80,7 @@ def main():
80
80
  #
81
81
  def set_table_info():
82
82
 
83
- table = "cntldb.inventory"
83
+ table = f"{PgIMMA.CNTLSC}.inventory"
84
84
  if PVALS['edate']:
85
85
  PVALS['dcnd'] = "date BETWEEN '{}' AND '{}'".format(PVALS['bdate'], PVALS['edate'])
86
86
  else:
@@ -97,7 +97,7 @@ def set_table_info():
97
97
  #
98
98
  def clean_imma_data():
99
99
 
100
- table = "cntldb.inventory"
100
+ table = f"{PgIMMA.CNTLSC}.inventory"
101
101
 
102
102
  for i in range(PVALS['tcnt']):
103
103
  tidx = PVALS['tinfo']['tidx'][i]
@@ -127,7 +127,7 @@ def clean_imma_data_for_tidx(tidx, cnd):
127
127
  #
128
128
  def clean_one_attm_for_tidx(aname, tidx, cnd):
129
129
 
130
- table = "{}_{}".format(aname, tidx)
130
+ table = f"{PgIMMA.IVADSC}.{aname}_{tidx}"
131
131
  if not PgDBI.pgcheck(table): return 0 # not record to delete
132
132
 
133
133
  if aname == 'iuida': clean_itidx_for_tidx(table, cnd)
@@ -144,7 +144,7 @@ def clean_one_attm_for_tidx(aname, tidx, cnd):
144
144
  #
145
145
  def clean_itidx_for_tidx(table, cnd):
146
146
 
147
- tname = "cntldb.itidx"
147
+ tname = f"{PgIMMA.CNTLSC}.itidx"
148
148
  uids = PgDBI.pgmget(table, "distinct (substring(uid, 1, 2)) uida", cnd, PgLOG.LGEREX)
149
149
  ucnt = len(uids['uida']) if uids else 0
150
150
  for i in range(ucnt):
@@ -159,7 +159,7 @@ def clean_itidx_for_tidx(table, cnd):
159
159
  #
160
160
  def clean_iattm_for_tidx(aname, tidx, cnt):
161
161
 
162
- table = "cntldb.iattm"
162
+ table = f"{PgIMMA.CNTLSC}.iattm"
163
163
  cnd = "attm = '{}' AND tidx = {}".format(aname, tidx)
164
164
  pgrec = {'count' : cnt}
165
165
  PgDBI.pgupdt(table, pgrec, cnd, PgLOG.LGWNEX)
@@ -52,23 +52,28 @@ def main():
52
52
  addinventory = 1
53
53
  elif re.match(r'^-', arg):
54
54
  PgLOG.pglog(arg + ": Invalid Option", PgLOG.LGWNEX)
55
+ elif option == 'f':
56
+ get_imma_filelist(arg)
57
+ option = None
55
58
  elif option == 'r':
56
59
  rn3 = int(arg)
60
+ option = None
57
61
  else:
58
62
  PVALS['files'].append(arg)
59
63
 
60
64
  if not PVALS['files']:
61
- print("Usage: fillicoads [-a] [-e] [-i] [-r] [-u] FileNameList")
65
+ print("Usage: fillicoads [-a] [-e] [-f InputFile] [-i] [-r RN3] [-u] FileList")
62
66
  print(" At least one file name needs to fill icoads data into Postgres Server")
63
67
  print(" Option -a: add all attms, including multi-line ones, such as IVAD and REANQC")
68
+ print(" Option -f: provide a filename holding a list of IMMA1 files")
64
69
  print(" Option -i: add daily counting records into inventory table")
65
- print(" Option -r: last digit of IMMA release number")
70
+ print(" Option -r: the Third digit of IMMA release number")
66
71
  print(" Option -u: standalone attachment records with leading 6-character UID")
67
72
  print(" Option -e: check existing record before adding attm")
68
73
  sys.exit(0)
69
74
 
70
75
  PgLOG.PGLOG['LOGFILE'] = "icoads.log"
71
- PgDBI.set_scname(dbname = 'ivaddb', scname = 'ivaddb1', lnname = 'ivaddb', dbhost = PgLOG.PGLOG['PMISCHOST'])
76
+ PgDBI.set_scname(dbname = 'ivaddb', scname = PgIMMA.IVADSC, lnname = 'ivaddb', dbhost = PgLOG.PGLOG['PMISCHOST'])
72
77
 
73
78
  PgLOG.cmdlog("fillicoads {}".format(' '.join(argv)))
74
79
  PgIMMA.init_current_indices(leaduid, chkexist, rn3)
@@ -77,6 +82,15 @@ def main():
77
82
  PgLOG.cmdlog()
78
83
  PgLOG.pgexit()
79
84
 
85
+ #
86
+ # read in imma file list from a given file name
87
+ #
88
+ def get_imma_filelist(fname):
89
+
90
+ with open(fname, "r") as f:
91
+ for line in f.readlines():
92
+ PVALS['files'].append(line.strip())
93
+
80
94
  #
81
95
  # fill up imma data
82
96
  #
@@ -607,10 +607,12 @@ def join_attm_fields(aname, record):
607
607
  def subset_table_index(fname, tidx, bdate, edate):
608
608
 
609
609
  atables = {}
610
- PgDBI.ivaddb_scname()
610
+ PgDBI.set_scname(dbname = 'ivaddb', scname = PgIMMA.IVADSC, lnname = 'ivaddb', dbhost = PgLOG.PGLOG['PMISCHOST'])
611
611
 
612
+ tname = f"{PgIMMA.CTNLSC}.iattm"
612
613
  for aname in PVALS['anames']:
613
- atables[aname] = PgDBI.pgget('cntldb.iattm', "", "tidx = {} AND attm = '{}'".format(tidx, aname), PgLOG.LGEREX)
614
+ cnd = f"tidx = {tidx} AND attm = '{aname}'"
615
+ atables[aname] = PgDBI.pgget(tname, "", cnd, PgLOG.LGEREX)
614
616
 
615
617
  dstep = int(PgUtil.diffdate(edate, bdate)/PSTEP)
616
618
  if dstep == 0: dstep = 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_icoads
3
- Version: 1.0.11
3
+ Version: 1.0.12
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
@@ -1,19 +1,19 @@
1
- rda_python_icoads/PgIMMA.py,sha256=V3w5A3ZozWBMvBoEuL-XqY6kUetQQodkEAqGb3Uvd2g,58958
1
+ rda_python_icoads/PgIMMA.py,sha256=VbUR-pmK0_EXnL3qVTKgnpYE2EEy3a6QioQTbOpeWBk,59029
2
2
  rda_python_icoads/R3.0-stat_doc.pdf,sha256=7f9wKlaTV7ZWXCqyZ4MZ3QcL5pw-Hz623A3xe8QCoFM,59515
3
3
  rda_python_icoads/README_R3.0_Subset.html,sha256=tf5Om69KsZZ9ksIjIwtGQUtU8O4U-fqOrIxrl_4tRPo,6878
4
4
  rda_python_icoads/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
5
5
  rda_python_icoads/checkicoads.py,sha256=nbA09uqaVBf9BHPWWeLFke3sRAGgV7CyOG4VIKI33wY,6599
6
- rda_python_icoads/cleanicoads.py,sha256=A7JuwYbaVHjVpZFuQZBd9YMQTdMnu7YiqSmbnq058BI,4936
6
+ rda_python_icoads/cleanicoads.py,sha256=JkTbMt8qnekQLfAnqFKHOTYVKCsxIvsT-VsqDE0vdDI,5074
7
7
  rda_python_icoads/countattm.py,sha256=syrEKhO-z1Xb-SjtbqHhzSvywuC_72hyex9K_0uUwzg,3578
8
8
  rda_python_icoads/countattmvar.py,sha256=BYUSK2qTi0wKHg97gAOye95BJj8c3w728aoumL0C5ns,7498
9
9
  rda_python_icoads/counticoads.py,sha256=GB7mRXXQ80Ty_1UF4hyYxrO0IPOeUCq5JUhoxkuvXZs,4555
10
10
  rda_python_icoads/countsst.py,sha256=Sx3RicOdEQOXjXrBEUxnTTt6xgoeM2qPLwIMKBBIdps,6362
11
- rda_python_icoads/fillicoads.py,sha256=9AmMvchdKIundNBzZ4sRC1LJKplD_-qEzmgv6zYCOvQ,4530
11
+ rda_python_icoads/fillicoads.py,sha256=wQue03SzXAopsMOxzDf6znbC4WIey1utDRzBLYlxjPY,4929
12
12
  rda_python_icoads/fillinventory.py,sha256=eRNw6laHsF_Ry5SVOJCulDNa4T-9FTT2UObt__Pr3IM,4144
13
13
  rda_python_icoads/fillitable.py,sha256=_zCUuYZifMZUoBO8JSY0DcoQOM33smQ1WtWJWnlH3ks,9941
14
14
  rda_python_icoads/fillmonth.py,sha256=Abo_5KoX4Zs-vlYcEvovo14xEiO_BNgUxV5fFxT-L3M,2546
15
15
  rda_python_icoads/fixiidx.py,sha256=hPOuwB2I46KGE4qWF1f1T6vi7914JICOmE1youneNm4,2036
16
- rda_python_icoads/imma1_subset.py,sha256=8r130jzm4b9IPjMJBwwRvWrdgxDnXC8KbQjFwiE7LPA,23704
16
+ rda_python_icoads/imma1_subset.py,sha256=0fOS91f4QnprxwakurgXo22sl93yBF_Z5e3peitsZgM,23829
17
17
  rda_python_icoads/maxsst.py,sha256=pybyuke-2I2ZJ9EOfp0iyyR3IJig5a5p3PnDG78ArTs,8082
18
18
  rda_python_icoads/msg,sha256=J5lkNELaJke718h8VJgqbR0v_nkivStfW0xKz30sVJw,27153
19
19
  rda_python_icoads/msg3.0_subset_readme.txt,sha256=Nb3rFq4lkxBDhSzS5XLCgCkZpozUGefy2JkUh1gk0Wo,4144
@@ -22,9 +22,9 @@ rda_python_icoads/msg_download.py,sha256=SqJVdVs6kN-ZLh1d4rSMS4IkRdRrYf5c4Y45zV7
22
22
  rda_python_icoads/msgsubset.f,sha256=KuM2WAk0ZFEH8LBhHKiGWt8zaW_0ARJXYV2kiD5w5xs,21253
23
23
  rda_python_icoads/rdimma1_csv.f,sha256=_hOHvA0UiTykCIsj7ZYkmooNmUq29-p7ZnyjeSyvt8U,22443
24
24
  rda_python_icoads/writeicoads.py,sha256=nNgcPTFw957qsBkMVXgrPAkj3qmG8g5b6NeePp4NkNk,5270
25
- rda_python_icoads-1.0.11.dist-info/licenses/LICENSE,sha256=1dck4EAQwv8QweDWCXDx-4Or0S8YwiCstaso_H57Pno,1097
26
- rda_python_icoads-1.0.11.dist-info/METADATA,sha256=NifFZKjPfCWq9ZuV3LLLv-ueRsoWP20J2_wYw8_x1UI,795
27
- rda_python_icoads-1.0.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
- rda_python_icoads-1.0.11.dist-info/entry_points.txt,sha256=O4wzIJ3tibs6BADt2-9O51suWVggGg3CKVq6PJ2TC1g,774
29
- rda_python_icoads-1.0.11.dist-info/top_level.txt,sha256=PjJe4PwUIiNxPlNg2d8JNPY1SLSu-_GHAdXe-hUVU1U,18
30
- rda_python_icoads-1.0.11.dist-info/RECORD,,
25
+ rda_python_icoads-1.0.12.dist-info/licenses/LICENSE,sha256=1dck4EAQwv8QweDWCXDx-4Or0S8YwiCstaso_H57Pno,1097
26
+ rda_python_icoads-1.0.12.dist-info/METADATA,sha256=7ZgOF-epOwnY97Q5Imm8Dj4Zdb0Bp9JnxR9fJZkbKmU,795
27
+ rda_python_icoads-1.0.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ rda_python_icoads-1.0.12.dist-info/entry_points.txt,sha256=O4wzIJ3tibs6BADt2-9O51suWVggGg3CKVq6PJ2TC1g,774
29
+ rda_python_icoads-1.0.12.dist-info/top_level.txt,sha256=PjJe4PwUIiNxPlNg2d8JNPY1SLSu-_GHAdXe-hUVU1U,18
30
+ rda_python_icoads-1.0.12.dist-info/RECORD,,