rda-python-metrics 2.0.4__py3-none-any.whl → 2.0.5__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.
- rda_python_metrics/fillawsusage.py +1 -1
- rda_python_metrics/fillcdgusage.py +1 -1
- rda_python_metrics/fillcodusage.py +1 -1
- rda_python_metrics/fillglobususage.py +1 -1
- rda_python_metrics/fillrdadb.py +85 -84
- {rda_python_metrics-2.0.4.dist-info → rda_python_metrics-2.0.5.dist-info}/METADATA +1 -1
- {rda_python_metrics-2.0.4.dist-info → rda_python_metrics-2.0.5.dist-info}/RECORD +11 -11
- {rda_python_metrics-2.0.4.dist-info → rda_python_metrics-2.0.5.dist-info}/WHEEL +1 -1
- {rda_python_metrics-2.0.4.dist-info → rda_python_metrics-2.0.5.dist-info}/entry_points.txt +0 -0
- {rda_python_metrics-2.0.4.dist-info → rda_python_metrics-2.0.5.dist-info}/licenses/LICENSE +0 -0
- {rda_python_metrics-2.0.4.dist-info → rda_python_metrics-2.0.5.dist-info}/top_level.txt +0 -0
|
@@ -19,7 +19,7 @@ from .pg_ipinfo import PgIPInfo
|
|
|
19
19
|
class FillCODUsage(PgIPInfo):
|
|
20
20
|
|
|
21
21
|
def __init__(self):
|
|
22
|
-
super().
|
|
22
|
+
super().__init__()
|
|
23
23
|
# the define options for gathering COD data usage, one at a time
|
|
24
24
|
self.MONTH = 0x02 # fet COD data usages for given months
|
|
25
25
|
self.YEARS = 0x04 # get COD data usages for given years
|
rda_python_metrics/fillrdadb.py
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
import sys
|
|
14
14
|
import re
|
|
15
15
|
from rda_python_common.pg_util import PgUtil
|
|
16
|
+
from rda_python_common.pg_dbi import PgDBI
|
|
16
17
|
|
|
17
|
-
class FillRDADB(PgUtil):
|
|
18
|
+
class FillRDADB(PgUtil, PgDBI):
|
|
18
19
|
|
|
19
20
|
def __init__(self):
|
|
20
21
|
super().__init__()
|
|
@@ -33,90 +34,90 @@ class FillRDADB(PgUtil):
|
|
|
33
34
|
}
|
|
34
35
|
self.params = [] # array of input values
|
|
35
36
|
|
|
36
|
-
# function to read parameters
|
|
37
|
-
def
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
37
|
+
# function to read parameters
|
|
38
|
+
def read_parameters(self):
|
|
39
|
+
argv = sys.argv[1:]
|
|
40
|
+
for arg in argv:
|
|
41
|
+
if arg == "-b":
|
|
42
|
+
self.PGLOG['BCKGRND'] = "-b"
|
|
43
|
+
self.RDADB['BCKGRND'] = " -b"
|
|
44
|
+
elif arg == "-n":
|
|
45
|
+
self.RDADB['DOMAIL'] = 0
|
|
46
|
+
self.PGLOG['LOGMASK'] &= ~(self.EMLALL)
|
|
47
|
+
elif re.match(r'^-[cdmNy]$', arg) and not self.RDADB['OPTVAL']:
|
|
48
|
+
self.RDADB['OPTVAL'] = arg
|
|
49
|
+
if arg == "-c":
|
|
50
|
+
self.RDADB['OPTION'] |= self.CLNFL
|
|
51
|
+
elif arg == "-d":
|
|
52
|
+
self.RDADB['OPTION'] |= self.DATES
|
|
53
|
+
elif arg == "-m":
|
|
54
|
+
self.RDADB['OPTION'] |= self.MONTH
|
|
55
|
+
elif arg == "-y":
|
|
56
|
+
self.RDADB['OPTION'] |= self.YEARS
|
|
57
|
+
elif arg == "-N":
|
|
58
|
+
self.RDADB['OPTION'] |= self.NDAYS
|
|
59
|
+
elif re.match(r'^-.*', arg):
|
|
60
|
+
self.pglog(arg + ": Invalid Option", self.LGWNEX)
|
|
61
|
+
elif self.RDADB['OPTION']&self.MASKS:
|
|
62
|
+
self.params.append(arg)
|
|
63
|
+
else:
|
|
64
|
+
self.pglog(arg + ": Invalid Parameter", self.LGWNEX)
|
|
65
|
+
if not self.RDADB['OPTION'] or (self.RDADB['OPTION']&self.MASKS and not self.params):
|
|
66
|
+
self.show_usage('fillrdadb')
|
|
67
|
+
self.cmdlog("fillrdadb {}".format(' '.join(argv)))
|
|
68
|
+
|
|
69
|
+
# function to start actions
|
|
70
|
+
def start_actions(self):
|
|
71
|
+
self.dssdb_dbname()
|
|
72
|
+
if self.RDADB['OPTION']&self.CLNFL: # clean unused file only
|
|
73
|
+
self.clean_unused_files()
|
|
60
74
|
elif self.RDADB['OPTION']&self.MASKS:
|
|
61
|
-
self.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
self.
|
|
73
|
-
|
|
74
|
-
self.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
self.pglog("{} record(s) removed from Table 'wfile' at {}".format(delcnt, self.current_datetime()), self.LOGWRN)
|
|
108
|
-
|
|
109
|
-
# email notice of job done
|
|
110
|
-
def send_email_notice(self):
|
|
111
|
-
msg = ("Hi All,\n\nself.RDADB weekly data usage gathering is done at {}.\n\n".format(self.current_datetime()) +
|
|
112
|
-
"Please Let me know if you notice any problem.\n\nThanks,\n\nHua\n")
|
|
113
|
-
pgrecs = self.pgmget("dssgrp", "logname", "email_flag = 'Y'", self.LGWNEX)
|
|
114
|
-
if pgrecs:
|
|
115
|
-
receiver = ""
|
|
116
|
-
for logname in pgrecs['logname']:
|
|
117
|
-
if receiver: receiver += ', '
|
|
118
|
-
receiver += (logname + "@ucar.edu")
|
|
119
|
-
self.send_email("self.RDADB Weekly Data Usage Gathered on " + self.curdate(), receiver, msg)
|
|
75
|
+
self.fill_rdadb(self.RDADB['OPTVAL'])
|
|
76
|
+
|
|
77
|
+
# Fill self.RDADB info for given condition
|
|
78
|
+
def fill_rdadb(self, option):
|
|
79
|
+
filecond = '{} {}'.format(option, ' '.join(self.params))
|
|
80
|
+
self.pglog("Filling RDADB info for '{}' at {}".format(filecond, self.current_datetime()), self.LOGWRN)
|
|
81
|
+
# fill available custom OPeNDAP usages
|
|
82
|
+
self.pgsystem("fillcodusage {} {}".format(self.RDADB['BCKGRND'], filecond), self.LGWNEM, 5)
|
|
83
|
+
# fill available globus web data usages
|
|
84
|
+
self.pgsystem("fillglobususage {} {}".format(self.RDADB['BCKGRND'], filecond), self.LGWNEM, 5)
|
|
85
|
+
# fill available AWS web data usages
|
|
86
|
+
self.pgsystem("fillawsusage {} {}".format(self.RDADB['BCKGRND'], filecond), self.LGWNEM, 5)
|
|
87
|
+
# fill available OSDF web data usages
|
|
88
|
+
self.pgsystem("fillosdfusage {} {}".format(self.RDADB['BCKGRND'], filecond), self.LGWNEM, 5)
|
|
89
|
+
if self.RDADB['DOMAIL']: self.send_email_notice()
|
|
90
|
+
self.pglog("End Filling RDADB info at {}".format(self.current_datetime()), self.LGWNEM)
|
|
91
|
+
|
|
92
|
+
# clean unused MSS and Web files
|
|
93
|
+
def clean_unused_files(self):
|
|
94
|
+
self.pglog("Check and clean deleted Web files that never been used at {}".format(self.current_datetime()), self.LOGWRN)
|
|
95
|
+
pgrecs = self.pgmget("wfile", "wid", "status = 'D'", self.LGWNEX)
|
|
96
|
+
allcnt = len(pgrecs['wid']) if pgrecs else 0
|
|
97
|
+
self.pglog("{} record(s) retrieved from Table 'wfile' at {}".format(allcnt, self.current_datetime()), self.LOGWRN)
|
|
98
|
+
procnt = delcnt = 0
|
|
99
|
+
if allcnt:
|
|
100
|
+
fcond = r"wid = {} AND org_type <> 'DSS' AND wuid_read = wuid"
|
|
101
|
+
for fid in pgrecs['wid']:
|
|
102
|
+
procnt += 1
|
|
103
|
+
if procnt%5000 == 0:
|
|
104
|
+
self.pglog("{}/{} record(s) processed/removed from Table 'wfile'".format(procnt, delcnt), self.WARNLG)
|
|
105
|
+
if not self.pgget("wusage, wuser", "", fcond.format(fid), self.LGWNEX):
|
|
106
|
+
# deleted web file never been used
|
|
107
|
+
delcnt += self.pgdel("wfile", "wid = {}".format(fid), self.LGWNEX)
|
|
108
|
+
self.pglog("{} record(s) removed from Table 'wfile' at {}".format(delcnt, self.current_datetime()), self.LOGWRN)
|
|
109
|
+
|
|
110
|
+
# email notice of job done
|
|
111
|
+
def send_email_notice(self):
|
|
112
|
+
msg = ("Hi All,\n\nRDADB weekly data usage gathering is done at {}.\n\n".format(self.current_datetime()) +
|
|
113
|
+
"Please Let me know if you notice any problem.\n\nThanks,\n\nHua\n")
|
|
114
|
+
pgrecs = self.pgmget("dssgrp", "logname", "email_flag = 'Y'", self.LGWNEX)
|
|
115
|
+
if pgrecs:
|
|
116
|
+
receiver = ""
|
|
117
|
+
for logname in pgrecs['logname']:
|
|
118
|
+
if receiver: receiver += ', '
|
|
119
|
+
receiver += (logname + "@ucar.edu")
|
|
120
|
+
self.send_email("RDADB Weekly Data Usage Gathered on " + self.curdate(), receiver, msg)
|
|
120
121
|
|
|
121
122
|
# main function to excecute this script
|
|
122
123
|
def main():
|
|
@@ -13,17 +13,17 @@ rda_python_metrics/fill_osdfusage.py,sha256=lSSzQiQ3sElfT0c_IWcnhcJHfPaIsgzHCWo1
|
|
|
13
13
|
rda_python_metrics/fill_rdadb.py,sha256=5OIzLUo-MHWVIA3sQE7CRMQSW8tX9PH7DocDy4rvbYA,5282
|
|
14
14
|
rda_python_metrics/fill_tdsusage.py,sha256=HWcfnl226pGY2JigpJmMOr4k6Ddfu8pWky6J30QCEQI,10463
|
|
15
15
|
rda_python_metrics/fill_user.py,sha256=CvaMRaUPaR9nxJAExkLTb3Ci4sD7RQMOpWhWJdbyMF0,8907
|
|
16
|
-
rda_python_metrics/fillawsusage.py,sha256=
|
|
16
|
+
rda_python_metrics/fillawsusage.py,sha256=sCdrM7Rx0jJTkUTG3JELxpqhVs7_OK2sTpZ9LLFUNMA,7811
|
|
17
17
|
rda_python_metrics/fillawsusage.usg,sha256=-lLTRLTaEPL2rSQ4mhpIekhyYrLGahy7NWtaq_8PCDM,611
|
|
18
|
-
rda_python_metrics/fillcdgusage.py,sha256=
|
|
18
|
+
rda_python_metrics/fillcdgusage.py,sha256=wj-6LZb4AwiNXaeNjiXcHqigHmVlFxHyN14DPRCM1nw,18641
|
|
19
19
|
rda_python_metrics/fillcdgusage.usg,sha256=5lkd4Zdi72nQcha-JtbaLnxl66V4wBDykKwQtUOtMrw,667
|
|
20
|
-
rda_python_metrics/fillcodusage.py,sha256=
|
|
20
|
+
rda_python_metrics/fillcodusage.py,sha256=ap-MrUlrppCYxVA9bRrTN3I-ZWDs285TDTxtc0zzhWE,9331
|
|
21
21
|
rda_python_metrics/fillcodusage.usg,sha256=3B5IkQ4uwylqY8uEfUdnZ_MXqhYudeylMp5ulhUGXH8,678
|
|
22
22
|
rda_python_metrics/fillcountry.py,sha256=QYQ3fShTsbiDW3pKLkuT4Pl-WGTiRy0S82ONhRi8zxo,2728
|
|
23
23
|
rda_python_metrics/fillendtime.py,sha256=VLL8nTES_ijRqRKeU1Xj_a7zbZNUnYaE8jlSqcF8GYk,2453
|
|
24
24
|
rda_python_metrics/fillgdexusage.py,sha256=9U8k2WykGAmnyKvY6ZiYqzpw9MXpE1fpyJUjFDMb_Fc,38258
|
|
25
25
|
rda_python_metrics/fillgdexusage.usg,sha256=mVYtK0pIYmvma0skT-wXM-NOEpkN_i3E61UdWgQWLfs,648
|
|
26
|
-
rda_python_metrics/fillglobususage.py,sha256=
|
|
26
|
+
rda_python_metrics/fillglobususage.py,sha256=oT-1AKe6FVP2XUNHq7FTANzFf3UfuSgwX-Wm0MUHGps,9480
|
|
27
27
|
rda_python_metrics/fillglobususage.usg,sha256=mgo6LPFTJNy5h7codAA_HK0JSmrV_QvAcH-t_gJHVBE,727
|
|
28
28
|
rda_python_metrics/fillipinfo.py,sha256=93ojnj_EHKlgl9D85H83FuBU8dHnk85EtlslKb-nzLM,7696
|
|
29
29
|
rda_python_metrics/fillipinfo.usg,sha256=YeCR58xGv0emqHUZ_9R977HrqaeBwbd6j5QRF2Lc7TA,702
|
|
@@ -31,7 +31,7 @@ rda_python_metrics/filloneorder.py,sha256=oiar5FFElBFoO9gUGd-MMdR-HNFfudfD1Cg4VK
|
|
|
31
31
|
rda_python_metrics/filloneorder.usg,sha256=mtOySKx6-D4k2bbTcmi6cSYtINiycRyHQkHozi0CQu0,1466
|
|
32
32
|
rda_python_metrics/fillosdfusage.py,sha256=TtRCP8sW1rXFTTOxddYbgxGcg3aZs7HhCgrQHDtc8SA,7977
|
|
33
33
|
rda_python_metrics/fillosdfusage.usg,sha256=Qc5YdUuOiAH74FfVdkwkrQRDYXcASVbxMdBsVQj4X1k,635
|
|
34
|
-
rda_python_metrics/fillrdadb.py,sha256
|
|
34
|
+
rda_python_metrics/fillrdadb.py,sha256=-HxCuOhLXSy2k7I0Y3mzPnD2fhwG8EN_nFp2N_1ggdk,5953
|
|
35
35
|
rda_python_metrics/fillrdadb.usg,sha256=E_Bf4G8yVABogjRmIOaIbTGgnII2W6RltaFad2XEV2Q,1228
|
|
36
36
|
rda_python_metrics/filltdsusage.py,sha256=xb-t4hXyPazJ7OzoBXPjUWIXC5lHxQKPd-o-wZeXcsE,8539
|
|
37
37
|
rda_python_metrics/filltdsusage.usg,sha256=HhqJnju6iqKrsB7AQfdwDxXnZ_NOykkDA0vsKEso4xY,588
|
|
@@ -78,9 +78,9 @@ rda_python_metrics/viewwebfile.py,sha256=1BWXfwyWEOuftky5caRU-Y2bkyBvKwTYWo6SG4Q
|
|
|
78
78
|
rda_python_metrics/viewwebfile.usg,sha256=lTNi8Yu8BUJuExEDJX-vsJyWUSUIQTS-DiiBEVFo33s,10054
|
|
79
79
|
rda_python_metrics/viewwebusage.py,sha256=-huycTw5X-qgwMC_7IpW6Yg0KHJ4q-lHHdnOwnODxZA,18741
|
|
80
80
|
rda_python_metrics/viewwebusage.usg,sha256=OVDZ78p87E3HLW34ZhasNJ7Zmw8XXjmZPPWZfRhPLXo,9936
|
|
81
|
-
rda_python_metrics-2.0.
|
|
82
|
-
rda_python_metrics-2.0.
|
|
83
|
-
rda_python_metrics-2.0.
|
|
84
|
-
rda_python_metrics-2.0.
|
|
85
|
-
rda_python_metrics-2.0.
|
|
86
|
-
rda_python_metrics-2.0.
|
|
81
|
+
rda_python_metrics-2.0.5.dist-info/licenses/LICENSE,sha256=1dck4EAQwv8QweDWCXDx-4Or0S8YwiCstaso_H57Pno,1097
|
|
82
|
+
rda_python_metrics-2.0.5.dist-info/METADATA,sha256=YWhwLmVzyx8XLpzxn6HLjdyzaeb_REYwDh389UDXwu8,785
|
|
83
|
+
rda_python_metrics-2.0.5.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
84
|
+
rda_python_metrics-2.0.5.dist-info/entry_points.txt,sha256=fv4wjyEdiLFYNaJzhmet0SxZcF_J6M42koft2Na1XMs,1403
|
|
85
|
+
rda_python_metrics-2.0.5.dist-info/top_level.txt,sha256=aoBgbR_o70TP0QmMW0U6inRHYtfKld47OBmnWnLnDOs,19
|
|
86
|
+
rda_python_metrics-2.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|