@@ -194,7 +194,7 @@ def _extract_metadata(
194194 [
195195 {
196196 "url": "https://api.eia.gov/v2/electricity/retail-sales?api_key={API_KEY}&frequency=monthly&data[0]=revenue",
197- "id": "retail_sales_monthly_revenue ",
197+ "id": "electricity.retail_sales.monthly.revenue ",
198198 "dataset_id": "retail_sales",
199199 "name": "Electricity Sales to Ultimate Customers",
200200 "description": "...",
@@ -225,9 +225,9 @@ def _extract_metadata(
225225 for metric_id , metric_info in metrics .items ():
226226 # Clean up IDs for use in CSVs or DBs.
227227 frequency_id = frequency .get ("id" )
228- dataset_id = data .get ("id" , "" )
229- dataset_id_clean = dataset_id .replace ("-" , "_" )
230228 metric_id_clean = metric_id .replace ("-" , "_" )
229+ route_clean = route .replace ("-" , "_" ).replace ("/" , "." )
230+ dataset_id_clean = route_clean .split ("." )[- 1 ]
231231 # Construct a placeholder API URL.
232232 url = (
233233 f"{ self ._base_url } /{ route } "
@@ -240,7 +240,7 @@ def _extract_metadata(
240240 # Flattened metadata row for one frequency and metric combination.
241241 metadata = {
242242 "url" : url ,
243- "id" : f"{ dataset_id_clean } _ { frequency_id } _ { metric_id_clean } " ,
243+ "id" : f"{ route_clean } . { frequency_id } . { metric_id_clean } " ,
244244 "dataset_id" : dataset_id_clean ,
245245 "name" : data .get ("name" ),
246246 "description" : data .get ("description" ),
0 commit comments