From 0b921ae9334771e65c87167d477ee8ae6f92e5b3 Mon Sep 17 00:00:00 2001 From: John Peck Date: Thu, 11 Dec 2025 00:52:57 +0000 Subject: [PATCH] add first energy meta --- generate_keys.py | 10 +++++---- providers.json | 9 +------- providers/__pycache__/gwt_rpc.cpython-310.pyc | Bin 9529 -> 9579 bytes providers/gwt_rpc.py | 21 +++++++++++------- w... | 0 5 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 w... diff --git a/generate_keys.py b/generate_keys.py index 72529d5..5f9a155 100644 --- a/generate_keys.py +++ b/generate_keys.py @@ -35,7 +35,7 @@ import sys # The zoom level to generate keys for. # Level 7 is standard for the "entry" lists in your scraper (e.g. '0320001'). # If the utility uses a different zoom level for its top-level clusters, adjust this. -TARGET_ZOOM = 7 +TARGET_ZOOM = 6 # Increase the CSV field size limit to handle massive WKT strings import csv @@ -74,11 +74,13 @@ def generate_keys_from_wkt(wkt_string): if service_area.intersects(tile_geom): valid_keys.append(mercantile.quadkey(tile)) - # 6. Output formatted for Python list + import json + + # 6. Output in JSON format valid_keys.sort() print(f"\nFound {len(valid_keys)} intersecting tiles.") print("-" * 30) - print(f"KEY_LIST = {valid_keys}") + print(json.dumps(valid_keys)) print("-" * 30) except Exception as e: @@ -97,4 +99,4 @@ if __name__ == "__main__": except EOFError: print("Error reading input.") except KeyboardInterrupt: - print("\nCancelled.") \ No newline at end of file + print("\nCancelled.") diff --git a/providers.json b/providers.json index abc27f0..2f744ad 100644 --- a/providers.json +++ b/providers.json @@ -71,14 +71,7 @@ "type": "kubra", "meta_url": "https://kubra.io/stormcenter/api/v1/stormcenters/6c715f0e-bbec-465f-98cc-0b81623744be/views/5ed3ddf1-3a6f-4cfd-8957-eba54b5baaad/currentState?preview=false", "layer": "cluster-4", - "quadkeys": [ - "030223", - "030232", - "032001", - "032003", - "032010", - "032012" - ], + "quadkeys": ["032001", "032010", "032023", "032030", "032031", "032032", "032033", "032102", "032120", "032122", "032210", "032211", "032300"], "county_type": "kubra_county", "county_meta_url": "https://kubra.io/stormcenter/api/v1/stormcenters/6c715f0e-bbec-465f-98cc-0b81623744be/views/5ed3ddf1-3a6f-4cfd-8957-eba54b5baaad/currentState?preview=false", "county_report_suffix": "/public/reports/8c3b0b30-c9e8-4e8f-8b0d-999c568bb085_report.json", diff --git a/providers/__pycache__/gwt_rpc.cpython-310.pyc b/providers/__pycache__/gwt_rpc.cpython-310.pyc index d7c9d47ae2f35a557ec50a6efb416c560f24f7b4..6926152baec81c28ed6c0691f5e85201f6e9a2aa 100644 GIT binary patch delta 332 zcmdn#_1cRspO=@50SJB_w9K5OzmZQvfb9h%14Gs2$u2UHCf0qWoc>Hza48EW}}qP*rneQ4_2 z(A0zZK=mMV!RjZg3CfD^N#U*$U}0cp0NSvygt3DGXcuGA%E?iJ20{=6Yk9&M@;F%- zN?0q8O`amC&G>oq0YMQ~#*oQZ#WYn|7+DwW?VnnSZXul-p$XY7BDlOn%p5*%XoG&oBSHabCWmAcQIbvY^UJJ#CUvjgHjeF U6ARn10wTxE0u05J<{9 delta 272 zcmaFuwbP3)pO=@50SK7)SZ22BZRFDsU^~Fbz)-b+vW-A@=-wLU8Xif88jftHqRmw? zH9RRi;taLCKv7;03n;@0l!*iJB^mMV z3^NC#7!wDR4xBUP#?zY%6dait4{qM1l*P#Ok72T$N*Uvd$x~IXGTHzDqY6nY diff --git a/providers/gwt_rpc.py b/providers/gwt_rpc.py index c603409..9a086f2 100644 --- a/providers/gwt_rpc.py +++ b/providers/gwt_rpc.py @@ -144,20 +144,25 @@ class GwtRpcCountyProvider(GwtRpcBaseProvider, BaseCountyProvider): if stream[i] == region_type_id: try: p = i + 1 + served = 0 + out = 0 - # Check for served customers, ensuring we don't read past the end of the stream - served = stream[p] if p + 1 < len(stream) and stream[p+1] == integer_type_id else 0 - p += 2 # Always advance past value and type ID - - # Check for customers out - out = stream[p] if p + 1 < len(stream) and stream[p+1] == integer_type_id else 0 - p += 2 # Always advance past value and type ID - + # Check for served customers. Only advance pointer if found. + if p + 1 < len(stream) and stream[p+1] == integer_type_id: + served = stream[p] + p += 2 + + # Check for customers out. Only advance pointer if found. + if p + 1 < len(stream) and stream[p+1] == integer_type_id: + out = stream[p] + p += 2 + name_idx, cat_idx = stream[p], stream[p+1] if cat_idx == county_type_id: name = string_table[name_idx - 1] if 0 < name_idx <= len(string_table) else "Unknown" results.append({'county': name, 'state': self.state_filter, 'company': self.name, 'outages': out, 'served': served}) + i = p + 1 # Advance main loop counter past this processed region except IndexError: pass i += 1 return results diff --git a/w... b/w... deleted file mode 100644 index e69de29..0000000