stable-diffusion-webui/modules/infotext_versions.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

47 lines
1.1 KiB
Python
Raw Permalink Normal View History

from modules import shared
from packaging import version
import re
v160 = version.parse("1.6.0")
v170_tsnr = version.parse("v1.7.0-225")
2024-03-02 04:39:59 +00:00
v180 = version.parse("1.8.0")
2024-03-16 08:19:38 +00:00
v180_hr_styles = version.parse("1.8.0-139")
def parse_version(text):
if text is None:
return None
m = re.match(r'([^-]+-[^-]+)-.*', text)
if m:
text = m.group(1)
try:
return version.parse(text)
2024-01-01 12:00:39 +00:00
except Exception:
return None
def backcompat(d):
"""Checks infotext Version field, and enables backwards compatibility options according to it."""
if not shared.opts.auto_backcompat:
return
ver = parse_version(d.get("Version"))
if ver is None:
return
2024-01-27 19:30:12 +00:00
if ver < v160 and '[' in d.get('Prompt', ''):
d["Old prompt editing timelines"] = True
2024-01-27 19:30:12 +00:00
if ver < v160 and d.get('Sampler', '') in ('DDIM', 'PLMS'):
d["Pad conds v0"] = True
if ver < v170_tsnr:
d["Downcast alphas_cumprod"] = True
2024-03-02 04:39:59 +00:00
if ver < v180 and d.get('Refiner'):
d["Refiner switch by sampling steps"] = True