Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
S
stable-diffusion-webui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
stable-diffusion-webui
Commits
763b893f
Commit
763b893f
authored
Oct 16, 2022
by
yfszzx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
images history sorting files by date
parent
6e4f5566
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
202 additions
and
71 deletions
+202
-71
images_history.js
javascript/images_history.js
+6
-6
images_history.py
modules/images_history.py
+196
-65
No files found.
javascript/images_history.js
View file @
763b893f
...
@@ -88,10 +88,10 @@ function images_history_set_image_info(button){
...
@@ -88,10 +88,10 @@ function images_history_set_image_info(button){
}
}
function
images_history_get_current_img
(
tabname
,
im
age_path
,
files
){
function
images_history_get_current_img
(
tabname
,
im
g_index
,
files
){
return
[
return
[
gradioApp
().
getElementById
(
tabname
+
'_images_history_set_index'
).
getAttribute
(
"img_index"
)
,
tabname
,
image_path
,
gradioApp
().
getElementById
(
tabname
+
'_images_history_set_index'
).
getAttribute
(
"img_index"
),
files
files
];
];
}
}
...
@@ -129,7 +129,7 @@ function images_history_delete(del_num, tabname, img_file_name, page_index, file
...
@@ -129,7 +129,7 @@ function images_history_delete(del_num, tabname, img_file_name, page_index, file
setTimeout
(
function
(
btn
){
btn
.
click
()},
30
,
btn
);
setTimeout
(
function
(
btn
){
btn
.
click
()},
30
,
btn
);
}
}
images_history_disabled_del
();
images_history_disabled_del
();
return
[
del_num
,
tabname
,
img_
path
,
img_
file_name
,
page_index
,
filenames
,
image_index
];
return
[
del_num
,
tabname
,
img_file_name
,
page_index
,
filenames
,
image_index
];
}
}
function
images_history_turnpage
(
img_path
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
){
function
images_history_turnpage
(
img_path
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
){
...
@@ -170,8 +170,8 @@ function images_history_init(){
...
@@ -170,8 +170,8 @@ function images_history_init(){
}
}
tabs_box
.
classList
.
add
(
images_history_tab_list
[
0
]);
tabs_box
.
classList
.
add
(
images_history_tab_list
[
0
]);
// same as above, at page load
// same as above, at page load
-- load very fast now
//
load_txt2img_button.click();
load_txt2img_button
.
click
();
}
else
{
}
else
{
setTimeout
(
images_history_init
,
500
);
setTimeout
(
images_history_init
,
500
);
}
}
...
...
modules/images_history.py
View file @
763b893f
import
os
import
os
import
shutil
import
shutil
import
time
import
hashlib
import
gradio
show_max_dates_num
=
3
system_bak_path
=
"webui_log_and_bak"
def
is_valid_date
(
date
):
try
:
time
.
strptime
(
date
,
"
%
Y
%
m
%
d"
)
return
True
except
:
return
False
def
reduplicative_file_move
(
src
,
dst
):
def
same_name_file
(
basename
,
path
):
name
,
ext
=
os
.
path
.
splitext
(
basename
)
f_list
=
os
.
listdir
(
path
)
max_num
=
0
for
f
in
f_list
:
if
len
(
f
)
<=
len
(
basename
):
continue
f_ext
=
f
[
-
len
(
ext
):]
if
len
(
ext
)
>
0
else
""
if
f
[:
len
(
name
)]
==
name
and
f_ext
==
ext
:
if
f
[
len
(
name
)]
==
"("
and
f
[
-
len
(
ext
)
-
1
]
==
")"
:
number
=
f
[
len
(
name
)
+
1
:
-
len
(
ext
)
-
1
]
if
number
.
isdigit
():
if
int
(
number
)
>
max_num
:
max_num
=
int
(
number
)
return
f
"{name}({max_num + 1}){ext}"
name
=
os
.
path
.
basename
(
src
)
save_name
=
os
.
path
.
join
(
dst
,
name
)
if
not
os
.
path
.
exists
(
save_name
):
shutil
.
move
(
src
,
dst
)
else
:
name
=
same_name_file
(
name
,
dst
)
shutil
.
move
(
src
,
os
.
path
.
join
(
dst
,
name
))
def
traverse_all_files
(
output_dir
,
image_list
,
curr_dir
=
None
):
def
traverse_all_files
(
curr_path
,
image_list
,
all_type
=
False
):
curr_path
=
output_dir
if
curr_dir
is
None
else
os
.
path
.
join
(
output_dir
,
curr_dir
)
try
:
try
:
f_list
=
os
.
listdir
(
curr_path
)
f_list
=
os
.
listdir
(
curr_path
)
except
:
except
:
if
curr_dir
[
-
10
:]
.
rfind
(
"."
)
>
0
and
curr_dir
[
-
4
:]
!=
".txt"
:
if
all_type
or
curr_path
[
-
10
:]
.
rfind
(
"."
)
>
0
and
curr_path
[
-
4
:]
!=
".txt"
:
image_list
.
append
(
curr_
dir
)
image_list
.
append
(
curr_
path
)
return
image_list
return
image_list
for
file
in
f_list
:
for
file
in
f_list
:
file
=
file
if
curr_dir
is
None
else
os
.
path
.
join
(
curr_dir
,
file
)
file
=
os
.
path
.
join
(
curr_path
,
file
)
file_path
=
os
.
path
.
join
(
curr_path
,
file
)
if
(
not
all_type
)
and
file
[
-
4
:]
==
".txt"
:
if
file
[
-
4
:]
==
".txt"
:
pass
pass
elif
os
.
path
.
isfile
(
file
_path
)
and
file
[
-
10
:]
.
rfind
(
"."
)
>
0
:
elif
os
.
path
.
isfile
(
file
)
and
file
[
-
10
:]
.
rfind
(
"."
)
>
0
:
image_list
.
append
(
file
)
image_list
.
append
(
file
)
else
:
else
:
image_list
=
traverse_all_files
(
output_dir
,
image_list
,
file
)
image_list
=
traverse_all_files
(
file
,
image_list
)
return
image_list
return
image_list
def
get_recent_images
(
dir_name
,
page_index
,
step
,
image_index
,
tabname
,
date_from
,
date_to
):
def
get_recent_images
(
dir_name
,
page_index
,
step
,
image_index
,
tabname
):
#print(f"turn_page {page_index}",date_from)
page_index
=
int
(
page_index
)
if
date_from
is
None
or
date_from
==
""
:
f_list
=
os
.
listdir
(
dir_name
)
return
None
,
1
,
None
,
""
image_list
=
[]
image_list
=
[]
image_list
=
traverse_all_files
(
dir_name
,
image_list
)
date_list
=
auto_sorting
(
dir_name
)
image_list
=
sorted
(
image_list
,
key
=
lambda
file
:
-
os
.
path
.
getctime
(
os
.
path
.
join
(
dir_name
,
file
)))
page_index
=
int
(
page_index
)
today
=
time
.
strftime
(
"
%
Y
%
m
%
d"
,
time
.
localtime
(
time
.
time
()))
for
date
in
date_list
:
if
date
>=
date_from
and
date
<=
date_to
:
path
=
os
.
path
.
join
(
dir_name
,
date
)
if
date
==
today
and
not
os
.
path
.
exists
(
path
):
continue
image_list
=
traverse_all_files
(
path
,
image_list
)
image_list
=
sorted
(
image_list
,
key
=
lambda
file
:
-
os
.
path
.
getctime
(
file
))
num
=
48
if
tabname
!=
"extras"
else
12
num
=
48
if
tabname
!=
"extras"
else
12
max_page_index
=
len
(
image_list
)
//
num
+
1
max_page_index
=
len
(
image_list
)
//
num
+
1
page_index
=
max_page_index
if
page_index
==
-
1
else
page_index
+
step
page_index
=
max_page_index
if
page_index
==
-
1
else
page_index
+
step
...
@@ -38,40 +79,101 @@ def get_recent_images(dir_name, page_index, step, image_index, tabname):
...
@@ -38,40 +79,101 @@ def get_recent_images(dir_name, page_index, step, image_index, tabname):
image_index
=
int
(
image_index
)
image_index
=
int
(
image_index
)
if
image_index
<
0
or
image_index
>
len
(
image_list
)
-
1
:
if
image_index
<
0
or
image_index
>
len
(
image_list
)
-
1
:
current_file
=
None
current_file
=
None
hidden
=
None
else
:
else
:
current_file
=
image_list
[
int
(
image_index
)]
current_file
=
image_list
[
image_index
]
hidden
=
os
.
path
.
join
(
dir_name
,
current_file
)
return
image_list
,
page_index
,
image_list
,
""
return
[
os
.
path
.
join
(
dir_name
,
file
)
for
file
in
image_list
],
page_index
,
image_list
,
current_file
,
hidden
,
""
def
auto_sorting
(
dir_name
):
#print(f"auto sorting")
bak_path
=
os
.
path
.
join
(
dir_name
,
system_bak_path
)
if
not
os
.
path
.
exists
(
bak_path
):
os
.
mkdir
(
bak_path
)
log_file
=
None
files_list
=
[]
f_list
=
os
.
listdir
(
dir_name
)
for
file
in
f_list
:
if
file
==
system_bak_path
:
continue
file_path
=
os
.
path
.
join
(
dir_name
,
file
)
if
not
is_valid_date
(
file
):
if
file
[
-
10
:]
.
rfind
(
"."
)
>
0
:
files_list
.
append
(
file_path
)
else
:
files_list
=
traverse_all_files
(
file_path
,
files_list
,
all_type
=
True
)
for
file
in
files_list
:
date_str
=
time
.
strftime
(
"
%
Y
%
m
%
d"
,
time
.
localtime
(
os
.
path
.
getctime
(
file
)))
file_path
=
os
.
path
.
dirname
(
file
)
hash_path
=
hashlib
.
md5
(
file_path
.
encode
())
.
hexdigest
()
path
=
os
.
path
.
join
(
dir_name
,
date_str
,
hash_path
)
if
not
os
.
path
.
exists
(
path
):
os
.
makedirs
(
path
)
if
log_file
is
None
:
log_file
=
open
(
os
.
path
.
join
(
bak_path
,
"path_mapping.csv"
),
"a"
)
log_file
.
write
(
f
"{hash_path},{file_path}
\n
"
)
reduplicative_file_move
(
file
,
path
)
date_list
=
[]
f_list
=
os
.
listdir
(
dir_name
)
for
f
in
f_list
:
if
is_valid_date
(
f
):
date_list
.
append
(
f
)
elif
f
==
system_bak_path
:
continue
else
:
reduplicative_file_move
(
os
.
path
.
join
(
dir_name
,
f
),
bak_path
)
today
=
time
.
strftime
(
"
%
Y
%
m
%
d"
,
time
.
localtime
(
time
.
time
()))
if
today
not
in
date_list
:
date_list
.
append
(
today
)
return
sorted
(
date_list
)
def
first_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
):
return
get_recent_images
(
dir_name
,
1
,
0
,
image_index
,
tabname
)
def
end_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
):
def
archive_images
(
dir_name
):
return
get_recent_images
(
dir_name
,
-
1
,
0
,
image_index
,
tabname
)
date_list
=
auto_sorting
(
dir_name
)
date_from
=
date_list
[
-
show_max_dates_num
]
if
len
(
date_list
)
>
show_max_dates_num
else
date_list
[
0
]
return
(
gradio
.
update
(
visible
=
False
),
gradio
.
update
(
visible
=
True
),
gradio
.
Dropdown
.
update
(
choices
=
date_list
,
value
=
date_list
[
-
1
]),
gradio
.
Dropdown
.
update
(
choices
=
date_list
,
value
=
date_from
)
)
def
date_to_change
(
dir_name
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
):
#print("date_to", date_to)
date_list
=
auto_sorting
(
dir_name
)
date_from_list
=
[
date
for
date
in
date_list
if
date
<=
date_to
]
date_from
=
date_from_list
[
0
]
if
len
(
date_from_list
)
<
show_max_dates_num
else
date_from_list
[
-
show_max_dates_num
]
image_list
,
page_index
,
image_list
,
_
=
get_recent_images
(
dir_name
,
1
,
0
,
image_index
,
tabname
,
date_from
,
date_to
)
return
image_list
,
page_index
,
image_list
,
_
,
gradio
.
Dropdown
.
update
(
choices
=
date_from_list
,
value
=
date_from
)
def
prev_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
):
def
first_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
):
return
get_recent_images
(
dir_name
,
page_index
,
-
1
,
image_index
,
tabname
)
return
get_recent_images
(
dir_name
,
1
,
0
,
image_index
,
tabname
,
date_from
,
date_to
)
def
next_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
):
def
end_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
):
return
get_recent_images
(
dir_name
,
page_index
,
1
,
image_index
,
tabname
)
return
get_recent_images
(
dir_name
,
-
1
,
0
,
image_index
,
tabname
,
date_from
,
date_to
)
def
p
age_index_change
(
dir_name
,
page_index
,
image_index
,
tabname
):
def
p
rev_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
):
return
get_recent_images
(
dir_name
,
page_index
,
0
,
image_index
,
tabname
)
return
get_recent_images
(
dir_name
,
page_index
,
-
1
,
image_index
,
tabname
,
date_from
,
date_to
)
def
show_image_info
(
num
,
image_path
,
filenames
):
def
next_page_click
(
dir_name
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
):
# print(f"select image {num}")
return
get_recent_images
(
dir_name
,
page_index
,
1
,
image_index
,
tabname
,
date_from
,
date_to
)
file
=
filenames
[
int
(
num
)]
return
file
,
num
,
os
.
path
.
join
(
image_path
,
file
)
def
page_index_change
(
dir_name
,
page_index
,
image_index
,
tabname
,
date_from
,
date_to
):
return
get_recent_images
(
dir_name
,
page_index
,
0
,
image_index
,
tabname
,
date_from
,
date_to
)
def
delete_image
(
delete_num
,
tabname
,
dir_name
,
name
,
page_index
,
filenames
,
image_index
):
def
show_image_info
(
tabname_box
,
num
,
filenames
):
# #print(f"select image {num}")
file
=
filenames
[
int
(
num
)]
return
file
,
num
,
file
def
delete_image
(
delete_num
,
tabname
,
name
,
page_index
,
filenames
,
image_index
):
if
name
==
""
:
if
name
==
""
:
return
filenames
,
delete_num
return
filenames
,
delete_num
else
:
else
:
...
@@ -81,21 +183,19 @@ def delete_image(delete_num, tabname, dir_name, name, page_index, filenames, ima
...
@@ -81,21 +183,19 @@ def delete_image(delete_num, tabname, dir_name, name, page_index, filenames, ima
new_file_list
=
[]
new_file_list
=
[]
for
name
in
filenames
:
for
name
in
filenames
:
if
i
>=
index
and
i
<
index
+
delete_num
:
if
i
>=
index
and
i
<
index
+
delete_num
:
path
=
os
.
path
.
join
(
dir_name
,
name
)
if
os
.
path
.
exists
(
name
):
if
os
.
path
.
exists
(
path
):
#print(f"Delete file {name}")
print
(
f
"Delete file {path}"
)
os
.
remove
(
name
)
os
.
remove
(
path
)
txt_file
=
os
.
path
.
splitext
(
name
)[
0
]
+
".txt"
txt_file
=
os
.
path
.
splitext
(
path
)[
0
]
+
".txt"
if
os
.
path
.
exists
(
txt_file
):
if
os
.
path
.
exists
(
txt_file
):
os
.
remove
(
txt_file
)
os
.
remove
(
txt_file
)
else
:
else
:
print
(
f
"Not exists file {path
}"
)
#print(f"Not exists file {name
}")
else
:
else
:
new_file_list
.
append
(
name
)
new_file_list
.
append
(
name
)
i
+=
1
i
+=
1
return
new_file_list
,
1
return
new_file_list
,
1
def
show_images_history
(
gr
,
opts
,
tabname
,
run_pnginfo
,
switch_dict
):
def
show_images_history
(
gr
,
opts
,
tabname
,
run_pnginfo
,
switch_dict
):
if
tabname
==
"txt2img"
:
if
tabname
==
"txt2img"
:
dir_name
=
opts
.
outdir_txt2img_samples
dir_name
=
opts
.
outdir_txt2img_samples
...
@@ -107,16 +207,32 @@ def show_images_history(gr, opts, tabname, run_pnginfo, switch_dict):
...
@@ -107,16 +207,32 @@ def show_images_history(gr, opts, tabname, run_pnginfo, switch_dict):
dir_name
=
d
[
0
]
dir_name
=
d
[
0
]
for
p
in
d
[
1
:]:
for
p
in
d
[
1
:]:
dir_name
=
os
.
path
.
join
(
dir_name
,
p
)
dir_name
=
os
.
path
.
join
(
dir_name
,
p
)
with
gr
.
Row
():
renew_page
=
gr
.
Button
(
'Renew Page'
,
elem_id
=
tabname
+
"_images_history_renew_page"
)
f_list
=
os
.
listdir
(
dir_name
)
first_page
=
gr
.
Button
(
'First Page'
)
sorted_flag
=
os
.
path
.
exists
(
os
.
path
.
join
(
dir_name
,
system_bak_path
))
or
len
(
f_list
)
==
0
prev_page
=
gr
.
Button
(
'Prev Page'
)
date_list
,
date_from
,
date_to
=
None
,
None
,
None
page_index
=
gr
.
Number
(
value
=
1
,
label
=
"Page Index"
)
if
sorted_flag
:
next_page
=
gr
.
Button
(
'Next Page'
)
#print(sorted_flag)
end_page
=
gr
.
Button
(
'End Page'
)
date_list
=
auto_sorting
(
dir_name
)
with
gr
.
Row
(
elem_id
=
tabname
+
"_images_history"
):
date_to
=
date_list
[
-
1
]
date_from
=
date_list
[
-
show_max_dates_num
]
if
len
(
date_list
)
>
show_max_dates_num
else
date_list
[
0
]
with
gr
.
Column
(
visible
=
sorted_flag
)
as
page_panel
:
with
gr
.
Row
():
with
gr
.
Row
():
renew_page
=
gr
.
Button
(
'Refresh'
,
elem_id
=
tabname
+
"_images_history_renew_page"
,
interactive
=
sorted_flag
)
first_page
=
gr
.
Button
(
'First Page'
)
prev_page
=
gr
.
Button
(
'Prev Page'
)
page_index
=
gr
.
Number
(
value
=
1
,
label
=
"Page Index"
)
next_page
=
gr
.
Button
(
'Next Page'
)
end_page
=
gr
.
Button
(
'End Page'
)
with
gr
.
Row
(
elem_id
=
tabname
+
"_images_history"
):
with
gr
.
Column
(
scale
=
2
):
with
gr
.
Column
(
scale
=
2
):
with
gr
.
Row
():
newest
=
gr
.
Button
(
'Newest'
)
date_to
=
gr
.
Dropdown
(
choices
=
date_list
,
value
=
date_to
,
label
=
"Date to"
)
date_from
=
gr
.
Dropdown
(
choices
=
date_list
,
value
=
date_from
,
label
=
"Date from"
)
history_gallery
=
gr
.
Gallery
(
show_label
=
False
,
elem_id
=
tabname
+
"_images_history_gallery"
)
.
style
(
grid
=
6
)
history_gallery
=
gr
.
Gallery
(
show_label
=
False
,
elem_id
=
tabname
+
"_images_history_gallery"
)
.
style
(
grid
=
6
)
with
gr
.
Row
():
with
gr
.
Row
():
delete_num
=
gr
.
Number
(
value
=
1
,
interactive
=
True
,
label
=
"number of images to delete consecutively next"
)
delete_num
=
gr
.
Number
(
value
=
1
,
interactive
=
True
,
label
=
"number of images to delete consecutively next"
)
...
@@ -128,22 +244,31 @@ def show_images_history(gr, opts, tabname, run_pnginfo, switch_dict):
...
@@ -128,22 +244,31 @@ def show_images_history(gr, opts, tabname, run_pnginfo, switch_dict):
with
gr
.
Row
():
with
gr
.
Row
():
with
gr
.
Column
():
with
gr
.
Column
():
img_file_info
=
gr
.
Textbox
(
label
=
"Generate Info"
,
interactive
=
False
)
img_file_info
=
gr
.
Textbox
(
label
=
"Generate Info"
,
interactive
=
False
)
img_file_name
=
gr
.
Textbox
(
label
=
"File Name"
,
interactive
=
False
)
img_file_name
=
gr
.
Textbox
(
value
=
""
,
label
=
"File Name"
,
interactive
=
False
)
with
gr
.
Row
():
# hiden items
# hiden items
with
gr
.
Row
(
visible
=
False
):
img_path
=
gr
.
Textbox
(
dir_name
)
tabname_box
=
gr
.
Textbox
(
tabname
)
image_index
=
gr
.
Textbox
(
value
=-
1
)
set_index
=
gr
.
Button
(
'set_index'
,
elem_id
=
tabname
+
"_images_history_set_index"
)
filenames
=
gr
.
State
()
hidden
=
gr
.
Image
(
type
=
"pil"
)
info1
=
gr
.
Textbox
()
info2
=
gr
.
Textbox
()
with
gr
.
Column
(
visible
=
not
sorted_flag
)
as
init_warning
:
with
gr
.
Row
():
gr
.
Textbox
(
"The system needs to archive the files according to the date. This requires changing the directory structure of the files"
,
label
=
"Waring"
,
css
=
""
)
with
gr
.
Row
():
sorted_button
=
gr
.
Button
(
'Confirme'
)
img_path
=
gr
.
Textbox
(
dir_name
.
rstrip
(
"/"
),
visible
=
False
)
tabname_box
=
gr
.
Textbox
(
tabname
,
visible
=
False
)
image_index
=
gr
.
Textbox
(
value
=-
1
,
visible
=
False
)
set_index
=
gr
.
Button
(
'set_index'
,
elem_id
=
tabname
+
"_images_history_set_index"
,
visible
=
False
)
filenames
=
gr
.
State
()
hidden
=
gr
.
Image
(
type
=
"pil"
,
visible
=
False
)
info1
=
gr
.
Textbox
(
visible
=
False
)
info2
=
gr
.
Textbox
(
visible
=
False
)
# turn pages
# turn pages
gallery_inputs
=
[
img_path
,
page_index
,
image_index
,
tabname_box
]
gallery_inputs
=
[
img_path
,
page_index
,
image_index
,
tabname_box
,
date_from
,
date_to
]
gallery_outputs
=
[
history_gallery
,
page_index
,
filenames
,
img_file_name
,
hidden
,
img_file_name
]
gallery_outputs
=
[
history_gallery
,
page_index
,
filenames
,
img_file_name
]
first_page
.
click
(
first_page_click
,
_js
=
"images_history_turnpage"
,
inputs
=
gallery_inputs
,
outputs
=
gallery_outputs
)
first_page
.
click
(
first_page_click
,
_js
=
"images_history_turnpage"
,
inputs
=
gallery_inputs
,
outputs
=
gallery_outputs
)
next_page
.
click
(
next_page_click
,
_js
=
"images_history_turnpage"
,
inputs
=
gallery_inputs
,
outputs
=
gallery_outputs
)
next_page
.
click
(
next_page_click
,
_js
=
"images_history_turnpage"
,
inputs
=
gallery_inputs
,
outputs
=
gallery_outputs
)
...
@@ -154,15 +279,21 @@ def show_images_history(gr, opts, tabname, run_pnginfo, switch_dict):
...
@@ -154,15 +279,21 @@ def show_images_history(gr, opts, tabname, run_pnginfo, switch_dict):
# page_index.change(page_index_change, inputs=[tabname_box, img_path, page_index], outputs=[history_gallery, page_index])
# page_index.change(page_index_change, inputs=[tabname_box, img_path, page_index], outputs=[history_gallery, page_index])
# other funcitons
# other funcitons
set_index
.
click
(
show_image_info
,
_js
=
"images_history_get_current_img"
,
inputs
=
[
tabname_box
,
im
g_path
,
filenames
],
outputs
=
[
img_file_name
,
image_index
,
hidden
])
set_index
.
click
(
show_image_info
,
_js
=
"images_history_get_current_img"
,
inputs
=
[
tabname_box
,
im
age_index
,
filenames
],
outputs
=
[
img_file_name
,
image_index
,
hidden
])
img_file_name
.
change
(
fn
=
None
,
_js
=
"images_history_enable_del_buttons"
,
inputs
=
None
,
outputs
=
None
)
img_file_name
.
change
(
fn
=
None
,
_js
=
"images_history_enable_del_buttons"
,
inputs
=
None
,
outputs
=
None
)
delete
.
click
(
delete_image
,
_js
=
"images_history_delete"
,
inputs
=
[
delete_num
,
tabname_box
,
img_
path
,
img_
file_name
,
page_index
,
filenames
,
image_index
],
outputs
=
[
filenames
,
delete_num
])
delete
.
click
(
delete_image
,
_js
=
"images_history_delete"
,
inputs
=
[
delete_num
,
tabname_box
,
img_file_name
,
page_index
,
filenames
,
image_index
],
outputs
=
[
filenames
,
delete_num
])
hidden
.
change
(
fn
=
run_pnginfo
,
inputs
=
[
hidden
],
outputs
=
[
info1
,
img_file_info
,
info2
])
hidden
.
change
(
fn
=
run_pnginfo
,
inputs
=
[
hidden
],
outputs
=
[
info1
,
img_file_info
,
info2
])
date_to
.
change
(
date_to_change
,
_js
=
"images_history_turnpage"
,
inputs
=
gallery_inputs
,
outputs
=
gallery_outputs
+
[
date_from
])
# pnginfo.click(fn=run_pnginfo, inputs=[hidden], outputs=[info1, img_file_info, info2])
# pnginfo.click(fn=run_pnginfo, inputs=[hidden], outputs=[info1, img_file_info, info2])
switch_dict
[
"fn"
](
pnginfo_send_to_txt2img
,
switch_dict
[
"t2i"
],
img_file_info
,
'switch_to_txt2img'
)
switch_dict
[
"fn"
](
pnginfo_send_to_txt2img
,
switch_dict
[
"t2i"
],
img_file_info
,
'switch_to_txt2img'
)
switch_dict
[
"fn"
](
pnginfo_send_to_img2img
,
switch_dict
[
"i2i"
],
img_file_info
,
'switch_to_img2img_img2img'
)
switch_dict
[
"fn"
](
pnginfo_send_to_img2img
,
switch_dict
[
"i2i"
],
img_file_info
,
'switch_to_img2img_img2img'
)
sorted_button
.
click
(
archive_images
,
inputs
=
[
img_path
],
outputs
=
[
init_warning
,
page_panel
,
date_to
,
date_from
])
newest
.
click
(
archive_images
,
inputs
=
[
img_path
],
outputs
=
[
init_warning
,
page_panel
,
date_to
,
date_from
])
def
create_history_tabs
(
gr
,
opts
,
run_pnginfo
,
switch_dict
):
def
create_history_tabs
(
gr
,
opts
,
run_pnginfo
,
switch_dict
):
with
gr
.
Blocks
(
analytics_enabled
=
False
)
as
images_history
:
with
gr
.
Blocks
(
analytics_enabled
=
False
)
as
images_history
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment