rda-python-metrics 1.0.23__py3-none-any.whl → 1.0.25__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.
Potentially problematic release.
This version of rda-python-metrics might be problematic. Click here for more details.
- rda_python_metrics/PgIPInfo.py +26 -13
- rda_python_metrics/fillipinfo.py +7 -6
- {rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/METADATA +1 -1
- {rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/RECORD +8 -8
- {rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/WHEEL +0 -0
- {rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/entry_points.txt +0 -0
- {rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/licenses/LICENSE +0 -0
- {rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/top_level.txt +0 -0
rda_python_metrics/PgIPInfo.py
CHANGED
|
@@ -104,6 +104,29 @@ def domain_ipinfo_record(dmname):
|
|
|
104
104
|
|
|
105
105
|
return None
|
|
106
106
|
|
|
107
|
+
#
|
|
108
|
+
# try to get hostname via socket for given ip address
|
|
109
|
+
#
|
|
110
|
+
def get_ip_hostname(ip, iprec, record):
|
|
111
|
+
|
|
112
|
+
if iprec:
|
|
113
|
+
if 'hostname' in iprec and iprec['hostname']:
|
|
114
|
+
record['hostname'] = iprec['hostname']
|
|
115
|
+
record['org_type'] = PgDBI.get_org_type(None, record['hostname'])
|
|
116
|
+
return
|
|
117
|
+
record['hostname'] = ip
|
|
118
|
+
if 'domain' in iprec and iprec['domain']:
|
|
119
|
+
record['hostname'] += '.' + iprec['domain']
|
|
120
|
+
record['org_type'] = PgDBI.get_org_type(None, record['hostname'])
|
|
121
|
+
return
|
|
122
|
+
|
|
123
|
+
try:
|
|
124
|
+
hostrec = socket.gethostbyaddr(ip)
|
|
125
|
+
record['hostname'] = hostrec[1][0] if hostrec[1] else hostrec[0]
|
|
126
|
+
record['org_type'] = PgDBI.get_org_type(None, record['hostname'])
|
|
127
|
+
except Exception as e:
|
|
128
|
+
PgLOG.pglog("socket: {} - {}".format(ip, str(e)), PgLOG.LOGWRN)
|
|
129
|
+
|
|
107
130
|
#
|
|
108
131
|
# get a ipinfo record for given ip address
|
|
109
132
|
#
|
|
@@ -117,9 +140,7 @@ def get_ipinfo_record(ip):
|
|
|
117
140
|
return None
|
|
118
141
|
|
|
119
142
|
record = {'ip' : ip, 'stat_flag' : 'A', 'hostname' : ip, 'org_type' : '-'}
|
|
120
|
-
|
|
121
|
-
record['hostname'] = iprec['hostname']
|
|
122
|
-
record['org_type'] = PgDBI.get_org_type(None, record['hostname'])
|
|
143
|
+
get_ip_hostname(ip, iprec, record)
|
|
123
144
|
record['lat'] = float(iprec['latitude']) if iprec['latitude'] else 0
|
|
124
145
|
record['lon'] = float(iprec['longitude']) if iprec['longitude'] else 0
|
|
125
146
|
if 'org' in iprec: record['org_name'] = iprec['org']
|
|
@@ -153,6 +174,7 @@ def get_geoip2_record(ip):
|
|
|
153
174
|
return None
|
|
154
175
|
|
|
155
176
|
record = {'ip' : ip, 'stat_flag' : 'M', 'org_type' : '-'}
|
|
177
|
+
get_ip_hostname(ip, None, record)
|
|
156
178
|
record['lat'] = float(city.location.latitude) if city.location.latitude else 0
|
|
157
179
|
record['lon'] = float(city.location.longitude) if city.location.longitude else 0
|
|
158
180
|
record['country'] = get_country_name_code(city.country.name)
|
|
@@ -160,17 +182,8 @@ def get_geoip2_record(ip):
|
|
|
160
182
|
record['region'] = PgLOG.convert_chars(city.subdivisions.most_specific.name) if city.subdivisions.most_specific.name else None
|
|
161
183
|
record['postal'] = city.postal.code
|
|
162
184
|
record['timezone'] = city.location.time_zone
|
|
163
|
-
record['hostname'] = ip
|
|
164
185
|
record['ipinfo'] = json.dumps(object_to_dict(city))
|
|
165
186
|
|
|
166
|
-
try:
|
|
167
|
-
hostrec = socket.gethostbyaddr(ip)
|
|
168
|
-
except Exception as e:
|
|
169
|
-
PgLOG.pglog("socket: {} - {}".format(ip, str(e)), PgLOG.LOGWRN)
|
|
170
|
-
return record
|
|
171
|
-
record['hostname'] = hostrec[1][0] if hostrec[1] else hostrec[0]
|
|
172
|
-
record['org_type'] = PgDBI.get_org_type(None, record['hostname'])
|
|
173
|
-
|
|
174
187
|
return record
|
|
175
188
|
|
|
176
189
|
#
|
|
@@ -223,7 +236,7 @@ def set_ipinfo(ip, ipopt = True):
|
|
|
223
236
|
|
|
224
237
|
if ip in IPRECS:
|
|
225
238
|
pgrec = IPRECS[ip]
|
|
226
|
-
if
|
|
239
|
+
if pgrec or not ipopt: return pgrec
|
|
227
240
|
else:
|
|
228
241
|
pgrec = PgDBI.pgget('ipinfo', '*', "ip = '{}'".format(ip))
|
|
229
242
|
|
rda_python_metrics/fillipinfo.py
CHANGED
|
@@ -101,9 +101,10 @@ def fill_ip_info(option, inputs, table):
|
|
|
101
101
|
else:
|
|
102
102
|
date = input + "-01-01"
|
|
103
103
|
edate = input + "-12-31"
|
|
104
|
-
while
|
|
104
|
+
while True:
|
|
105
105
|
(ndate, cond) = get_next_date(date, edate)
|
|
106
106
|
cntall += func(date, cond)
|
|
107
|
+
if ndate >= edate: break
|
|
107
108
|
date = PgUtil.adddate(ndate, 0, 0, 1)
|
|
108
109
|
|
|
109
110
|
if cntall > 2:
|
|
@@ -113,13 +114,13 @@ def get_next_date(date, edate):
|
|
|
113
114
|
|
|
114
115
|
if date < edate:
|
|
115
116
|
ndate = PgUtil.enddate(date, 'M')
|
|
116
|
-
if ndate
|
|
117
|
-
if date <
|
|
118
|
-
cond = f"BETWEEN '{date}' AND '{
|
|
117
|
+
if ndate < edate: edate = ndate
|
|
118
|
+
if date < edate:
|
|
119
|
+
cond = f"BETWEEN '{date}' AND '{edate}'"
|
|
119
120
|
else:
|
|
120
121
|
cond = f"= '{date}'"
|
|
121
122
|
|
|
122
|
-
return (
|
|
123
|
+
return (edate, cond)
|
|
123
124
|
|
|
124
125
|
|
|
125
126
|
def fix_allusage_records(date, cnd):
|
|
@@ -204,7 +205,7 @@ def fix_wuser_records(date, cnd):
|
|
|
204
205
|
def fix_ipinfo_records(date, cnd):
|
|
205
206
|
|
|
206
207
|
table = 'ipinfo'
|
|
207
|
-
cond = f"adddate {cnd} AND
|
|
208
|
+
cond = f"adddate {cnd} AND stat_flag = 'M'"
|
|
208
209
|
pgrecs = PgDBI.pgmget(table, 'ip', cond, PgLOG.LGEREX)
|
|
209
210
|
if not pgrecs: return 0
|
|
210
211
|
cnt = len(pgrecs['ip']) if pgrecs else 0
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
rda_python_metrics/PgIPInfo.py,sha256=
|
|
1
|
+
rda_python_metrics/PgIPInfo.py,sha256=KMU3_SuuGJgJby3xmmGZ2VGudCgsmI9j4ttZYaTMJeQ,9021
|
|
2
2
|
rda_python_metrics/PgView.py,sha256=r6otb3DjfiaQJdg0z8bZQAOlhr4JnrXJzp9wgWh_8qQ,24369
|
|
3
3
|
rda_python_metrics/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
4
4
|
rda_python_metrics/fillawsusage.py,sha256=SZH9G4jruKvavqSr9DiVmHVW929E60tJGUkv8CK3GQI,8152
|
|
@@ -11,7 +11,7 @@ rda_python_metrics/fillcountry.py,sha256=7i5LNi3scRoyRCT6t7aeNTGKOpxzJ2mA9tnvUqj
|
|
|
11
11
|
rda_python_metrics/fillendtime.py,sha256=skZttlpoY19g0dGwqGQI8t_1YPPTPEXwg3EfNlfL90I,2533
|
|
12
12
|
rda_python_metrics/fillglobususage.py,sha256=ahz8XnnJdD_AbSYqJ34lWmDuzws_-SNmCR8QE20aovA,8539
|
|
13
13
|
rda_python_metrics/fillglobususage.usg,sha256=1GgmCP22IQZdADwL5Mmkz3v8Ws-G7U3teQ1AxRJfV_4,637
|
|
14
|
-
rda_python_metrics/fillipinfo.py,sha256=
|
|
14
|
+
rda_python_metrics/fillipinfo.py,sha256=AKxdFb3Kfra54Vb9zBt6HwqOGpX4dhF5CIH4q_yFPE0,6771
|
|
15
15
|
rda_python_metrics/fillipinfo.usg,sha256=YeCR58xGv0emqHUZ_9R977HrqaeBwbd6j5QRF2Lc7TA,702
|
|
16
16
|
rda_python_metrics/filloneorder.py,sha256=ADHbcKCDh9bJunnxYbkbjwU2QpC43hvGlLWaURHNxkg,5433
|
|
17
17
|
rda_python_metrics/filloneorder.usg,sha256=mtOySKx6-D4k2bbTcmi6cSYtINiycRyHQkHozi0CQu0,1466
|
|
@@ -44,9 +44,9 @@ rda_python_metrics/viewwebfile.py,sha256=HSMNkQQawonu6W3blV7g9UbJuNy9VAOn9COqgmj
|
|
|
44
44
|
rda_python_metrics/viewwebfile.usg,sha256=lTNi8Yu8BUJuExEDJX-vsJyWUSUIQTS-DiiBEVFo33s,10054
|
|
45
45
|
rda_python_metrics/viewwebusage.py,sha256=ES2lI8NaCeCpTGi94HU-cDRBxHMiUBbplyYsZf2KqF0,16650
|
|
46
46
|
rda_python_metrics/viewwebusage.usg,sha256=OVDZ78p87E3HLW34ZhasNJ7Zmw8XXjmZPPWZfRhPLXo,9936
|
|
47
|
-
rda_python_metrics-1.0.
|
|
48
|
-
rda_python_metrics-1.0.
|
|
49
|
-
rda_python_metrics-1.0.
|
|
50
|
-
rda_python_metrics-1.0.
|
|
51
|
-
rda_python_metrics-1.0.
|
|
52
|
-
rda_python_metrics-1.0.
|
|
47
|
+
rda_python_metrics-1.0.25.dist-info/licenses/LICENSE,sha256=1dck4EAQwv8QweDWCXDx-4Or0S8YwiCstaso_H57Pno,1097
|
|
48
|
+
rda_python_metrics-1.0.25.dist-info/METADATA,sha256=A0OujABjyHGsOSxkjJ6ekGmXyl-DhOGc9zKKDuJxL_w,761
|
|
49
|
+
rda_python_metrics-1.0.25.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
50
|
+
rda_python_metrics-1.0.25.dist-info/entry_points.txt,sha256=YfFLzlE3rdufSV471VsDnfYptnt1lR08aSrxPXlKqlY,1185
|
|
51
|
+
rda_python_metrics-1.0.25.dist-info/top_level.txt,sha256=aoBgbR_o70TP0QmMW0U6inRHYtfKld47OBmnWnLnDOs,19
|
|
52
|
+
rda_python_metrics-1.0.25.dist-info/RECORD,,
|
|
File without changes
|
{rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{rda_python_metrics-1.0.23.dist-info → rda_python_metrics-1.0.25.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|