
    c0i=                     f    d Z ddlZddlmZ ddlmZ ddlmZ d Zd Zd Z	d	 Z
ed
k(  r e
        yy)z
Generate a simple HTML gallery for a state's exported heatmap artifacts.

The report references PNG previews (including hotspot overlays) and links to
the GeoTIFF rasters for download.
    N)datetime)escape)Pathc                      t        j                  d      } | j                  dd       | j                  dd d       | j                  d	t        d d
       | j	                         S )Nz<Generate an HTML report summarizing exported heatmap assets.)descriptionstatezState name (e.g., alabama).)helpz--titlezHOptional title for the HTML page (defaults to '<State> Heatmap Report').)defaultr	   z--outputz5Optional output HTML path (defaults to state folder).)typer
   r	   )argparseArgumentParseradd_argumentr   
parse_args)parsers    scripts/generate_html_report.pyr   r      sy    $$RF &CD
W  
 D	       c                     g }|D ]+  }|j                  t        | j                  |                   - g }t               }|D ]:  }||vs|j	                         s|j                  |       |j                  |       < |S )N)extendsortedglobsetis_fileappendadd)	state_dirpatternsmatchespatternuniqueseenpaths          r   gather_filesr"   "   so    GvinnW567 F5DtMM$HHTN  Mr   c                    t        j                         j                         }g }|D ]D  }|j                  }|j	                  dt        |       dt        |       dt        |       d       F g }|D ]8  }|j                  }|j	                  dt        |       dt        |       d       : |rdj                  |      nd	}	|rd
dj                  |      z   dz   nd}
dt        |        dt        |        dt        |       d|	 d|
 dS )Nz(
        <figure>
            <img src="z" alt="z*" loading="lazy">
            <figcaption>z(</figcaption>
        </figure>
        z<li><a href="z">z	</a></li>
z<p>No images found.</p>z<ul>z</ul>z <p>No GeoTIFF rasters found.</p>zO<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <title>a-  </title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 2rem;
            background-color: #f7f7f7;
            color: #333;
        }
        h1, h2 {
            color: #111;
        }
        figure {
            margin: 1rem 0;
        }
        img {
            max-width: 100%;
            border: 1px solid #ccc;
            box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        }
        figcaption {
            margin-top: 0.5rem;
            font-size: 0.9rem;
        }
    </style>
</head>
<body>
    <h1>z</h1>
    <p>Generated: z? UTC</p>
    <section>
        <h2>Image Previews</h2>
        zI
    </section>
    <section>
        <h2>GeoTIFF Downloads</h2>
        z 
    </section>
</body>
</html>
)r   utcnow	isoformatnamer   r   join)titleimagesrasters	timestampimg_sectionsimager'   raster_linksrasterimages_htmlrasters_htmls              r   
build_htmlr3   /   s>   !++-ILzzd|nGF4L> : '		
  L{{mF4L>F4L>ST  .:$))L)?XK  	<((72/  5M? 	4 
 )$% &	 
 	 
 M* *r   c                     t               } | j                  j                         }t        d      |z  }|j	                         st        d|       | j                  xs |j                          d}| j                  xs || dz  }g d}dg}t        ||      }t        ||      }|s|st        d|       t        |||      }	|j                  |	d	       t        d
|        y )Noutputu   ❌ State directory not found: z Heatmap Reportz_report.html)z*heatmap*.pngz*road_density_*km.pngz*hotspots*.pngz*layers*.pngz*road_density_*km.tifu&   ⚠️ No exported artifacts found in zutf-8)encodingu   📄 Saved HTML report to: )r   r   lowerr   exists
SystemExitr)   
capitalizer5   r"   r3   
write_textprint)
argsr   r   r)   output_pathimage_patternsraster_patternsr*   r+   html_contents
             r   mainrB   v   s    <DJJEX&I:9+FGGJJ@U--/0@E++E)|.D"DKN //O)^4F9o6G'A)MNNeVW5L<':	'}
56r   __main__)__doc__r   r   htmlr   pathlibr   r   r"   r3   rB   __name__ r   r   <module>rI      sB       &
DN7: zF r   