a
    Ad                     @   sR   d dl Z d dlZd dlmZmZmZ d dlmZ d dlm	Z	 G dd dej
ZdS )    N)sharedui_extra_networks	sd_models)quote_jsCheckpointUserMetadataEditorc                       sF   e Zd Z fddZdd ZdddZd	d
 Zdd Zdd Z  Z	S )ExtraNetworksPageCheckpointsc                    s   t  d d S )NZCheckpoints)super__init__self	__class__ M/var/www/html/stable-diffusion-webui/modules/ui_extra_networks_checkpoints.pyr
   
   s    z%ExtraNetworksPageCheckpoints.__init__c                 C   s   t   d S N)r   refresh_checkpointsr   r   r   r   refresh   s    z$ExtraNetworksPageCheckpoints.refreshNTc                 C   s   t j|}tj|j\}}|j|j|j| 	|| 
|| |jd |jpPd dtdt| d d | dtjj |jd|i| |jd
S )	N  "zreturn selectCheckpoint().default)
namefilename	shorthashpreviewdescriptionsearch_termonclicklocal_previewmetadata	sort_keys)r   checkpoint_aliasesgetospathsplitextr   name_for_extrar   find_previewfind_descriptionsearch_terms_from_pathsha256htmlescaper   r   optssamples_formatr"   get_sort_keys)r   r   indexenable_filter
checkpointr'   extr   r   r   create_item   s    z(ExtraNetworksPageCheckpoints.create_itemc                 c   s.   t tj}t|D ]\}}| ||V  qd S r   )listr   checkpoints_list	enumerater7   )r   namesr3   r   r   r   r   
list_items    s    
z'ExtraNetworksPageCheckpoints.list_itemsc                 C   s   dd t jjtjfD S )Nc                 S   s   g | ]}|d ur|qS r   r   ).0vr   r   r   
<listcomp>&       zQExtraNetworksPageCheckpoints.allowed_directories_for_previews.<locals>.<listcomp>)r   cmd_optsckpt_dirr   
model_pathr   r   r   r    allowed_directories_for_previews%   s    z=ExtraNetworksPageCheckpoints.allowed_directories_for_previewsc                 C   s   t ||| S r   r   )r   uitabnamer   r   r   create_user_metadata_editor(   s    z8ExtraNetworksPageCheckpoints.create_user_metadata_editor)NT)
__name__
__module____qualname__r
   r   r7   r<   rD   rG   __classcell__r   r   r   r   r   	   s   
r   )r.   r&   modulesr   r   r   Zmodules.ui_extra_networksr   Z3modules.ui_extra_networks_checkpoints_user_metadatar   ExtraNetworksPager   r   r   r   r   <module>   s
   