rda-python-metrics 3.0.8__tar.gz → 3.0.9__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 (87) hide show
  1. {rda_python_metrics-3.0.8/src/rda_python_metrics.egg-info → rda_python_metrics-3.0.9}/PKG-INFO +1 -1
  2. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/pyproject.toml +1 -1
  3. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/pg_ipinfo.py +19 -11
  4. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9/src/rda_python_metrics.egg-info}/PKG-INFO +1 -1
  5. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/LICENSE +0 -0
  6. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/MANIFEST.in +0 -0
  7. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/README.md +0 -0
  8. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/setup.cfg +0 -0
  9. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/PgIPInfo.py +0 -0
  10. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/PgView.py +0 -0
  11. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/__init__.py +0 -0
  12. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_awsusage.py +0 -0
  13. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_cdgusage.py +0 -0
  14. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_codusage.py +0 -0
  15. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_country.py +0 -0
  16. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_endtime.py +0 -0
  17. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_globususage.py +0 -0
  18. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_ipinfo.py +0 -0
  19. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_oneorder.py +0 -0
  20. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_osdfusage.py +0 -0
  21. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_rdadb.py +0 -0
  22. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fill_tdsusage.py +0 -0
  23. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillawsusage.py +0 -0
  24. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillawsusage.usg +0 -0
  25. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillcdgusage.py +0 -0
  26. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillcdgusage.usg +0 -0
  27. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillcodusage.py +0 -0
  28. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillcodusage.usg +0 -0
  29. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillcountry.py +0 -0
  30. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillendtime.py +0 -0
  31. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillgdexusage.py +0 -0
  32. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillgdexusage.usg +0 -0
  33. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillglobususage.py +0 -0
  34. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillglobususage.usg +0 -0
  35. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillipinfo.py +0 -0
  36. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillipinfo.usg +0 -0
  37. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/filloneorder.py +0 -0
  38. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/filloneorder.usg +0 -0
  39. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillosdfusage.py +0 -0
  40. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillosdfusage.usg +0 -0
  41. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillrdadb.py +0 -0
  42. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillrdadb.usg +0 -0
  43. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/filltdsusage.py +0 -0
  44. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/filltdsusage.usg +0 -0
  45. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillzenodousage.py +0 -0
  46. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/fillzenodousage.usg +0 -0
  47. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/log_arch.py +0 -0
  48. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/logarch.py +0 -0
  49. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/logarch.usg +0 -0
  50. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/pg_view.py +0 -0
  51. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/pgsyspath.py +0 -0
  52. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_allusage.py +0 -0
  53. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_awsusage.py +0 -0
  54. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_checkusage.py +0 -0
  55. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_codusage.py +0 -0
  56. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_ordusage.py +0 -0
  57. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_osdfusage.py +0 -0
  58. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_rqstusage.py +0 -0
  59. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_tdsusage.py +0 -0
  60. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_webfile.py +0 -0
  61. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/view_webusage.py +0 -0
  62. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewallusage.py +0 -0
  63. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewallusage.usg +0 -0
  64. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewawsusage.py +0 -0
  65. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewawsusage.usg +0 -0
  66. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewcheckusage.py +0 -0
  67. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewcheckusage.usg +0 -0
  68. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewcodusage.py +0 -0
  69. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewcodusage.usg +0 -0
  70. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewordusage.py +0 -0
  71. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewordusage.usg +0 -0
  72. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewosdfusage.py +0 -0
  73. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewosdfusage.usg +0 -0
  74. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewrqstusage.py +0 -0
  75. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewrqstusage.usg +0 -0
  76. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewtdsusage.py +0 -0
  77. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewtdsusage.usg +0 -0
  78. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewwebfile.py +0 -0
  79. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewwebfile.usg +0 -0
  80. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewwebusage.py +0 -0
  81. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics/viewwebusage.usg +0 -0
  82. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics.egg-info/SOURCES.txt +0 -0
  83. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics.egg-info/dependency_links.txt +0 -0
  84. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics.egg-info/entry_points.txt +0 -0
  85. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics.egg-info/requires.txt +0 -0
  86. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/src/rda_python_metrics.egg-info/top_level.txt +0 -0
  87. {rda_python_metrics-3.0.8 → rda_python_metrics-3.0.9}/tests/test_metrics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_metrics
3
- Version: 3.0.8
3
+ Version: 3.0.9
4
4
  Summary: RDA Python Package to gather and view data usage metrics
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-metrics
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "rda_python_metrics"
9
- version = "3.0.8"
9
+ version = "3.0.9"
10
10
  authors = [
11
11
  { name="Zaihua Ji", email="zji@ucar.edu" },
12
12
  ]
@@ -102,7 +102,7 @@ class PgIPInfo(PgUtil, PgDBI):
102
102
 
103
103
  def get_country_record_code(self, cname, kname = None):
104
104
  """Get country code from name."""
105
- name = cname[kname] if kname else cname
105
+ name = cname.get(kname) if kname else cname
106
106
  name = name.replace(' ', '.').upper() if name else 'UNITED.STATES'
107
107
  if name == 'CHINA': name = 'P.R.CHINA'
108
108
  return name
@@ -241,16 +241,24 @@ class PgIPInfo(PgUtil, PgDBI):
241
241
  self.IPRECS[ip] = self.pgget('ipinfo', '*', f"ip = '{self.GIP}'", self.LGEREX)
242
242
  return self.IPRECS[ip]
243
243
  record = {'ip' : ip, 'stat_flag' : 'A', 'hostname' : ip, 'org_type' : '-'}
244
- self.get_ip_hostname(ip, iprec, record)
245
- record['lat'] = float(iprec['latitude']) if iprec['latitude'] else 0
246
- record['lon'] = float(iprec['longitude']) if iprec['longitude'] else 0
247
- if 'org' in iprec: record['org_name'] = iprec['org']
248
- record['country'] = self.get_country_record_code(iprec, 'country_name')
249
- record['region'] = self.convert_chars(iprec['region']) if 'region' in iprec else None
250
- if 'city' in iprec: record['city'] = self.convert_chars(iprec['city'])
251
- if 'postal' in iprec: record['postal'] = iprec['postal']
252
- record['timezone'] = iprec['timezone']
253
- record['ipinfo'] = json.dumps(iprec)
244
+ try:
245
+ self.get_ip_hostname(ip, iprec, record)
246
+ # latitude and longitude are derived from 'loc', which a sparse ipinfo
247
+ # answer leaves out altogether, as it does timezone and country name
248
+ record['lat'] = float(iprec['latitude']) if iprec.get('latitude') else 0
249
+ record['lon'] = float(iprec['longitude']) if iprec.get('longitude') else 0
250
+ if 'org' in iprec: record['org_name'] = iprec['org']
251
+ record['country'] = self.get_country_record_code(iprec, 'country_name')
252
+ record['region'] = self.convert_chars(iprec['region']) if 'region' in iprec else None
253
+ if 'city' in iprec: record['city'] = self.convert_chars(iprec['city'])
254
+ if 'postal' in iprec: record['postal'] = iprec['postal']
255
+ record['timezone'] = iprec.get('timezone')
256
+ record['ipinfo'] = json.dumps(iprec)
257
+ except (KeyError, TypeError, ValueError) as e:
258
+ # an ipinfo answer shaped differently again must not end the whole run;
259
+ # returning None lets set_ipinfo() fall back to the local geoip2 database
260
+ self.pglog("ipinfo: {} - unusable record ({}: {}), use geoip2".format(ip, type(e).__name__, e), self.LOGWRN)
261
+ return None
254
262
  return record
255
263
 
256
264
  def set_geoip2_database(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_metrics
3
- Version: 3.0.8
3
+ Version: 3.0.9
4
4
  Summary: RDA Python Package to gather and view data usage metrics
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-metrics