Drag and Drop #84
duskfallcrew
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
What's Changed
Pull Request: Major Parsing, Stability, and UI Enhancements (vX.Y.Z?)
This significant update addresses numerous underlying issues, enhances metadata parsing capabilities, and introduces new UI features for a more robust and user-friendly experience.
(Optional: Link to any relevant issues this PR closes, e.g., "Closes #12, Closes #15")
Core Stability & Bug Fixes:
ModuleNotFoundError
s related to vendored package structure (vendored_sdpr
,format
sub-package,utility.py
,constants.py
).NameError
forINITIAL_LOG_LEVEL_FROM_INIT
by ensuringcorrect_types.py
directly importsLOG_LEVEL
from the package root.AttributeError: 'str' object has no attribute 'value'
by refactoringEmptyField
,UpField
, andDownField
incorrect_types.py
to be properenum.Enum
classes. UI and metadata parser now correctly use.value
andget_ordered_labels()
.AttributeError
inwidgets.py
by using correctExtensionType
attribute names (e.g.,SCHEMA_FILES
,MODEL_FILES
,PLAIN_TEXT_LIKE
).TypeError
forA1111.__init__()
calls inImageDataReader
by removing unexpectedwidth
/height
arguments, aligning with parser's actual signature.ValueError: not enough values to unpack
inA1111._sd_format()
by correcting regex match unpacking.NameError: name 'Path' is not defined
inImageDataReader
by addingfrom pathlib import Path
.Vendored SD-Prompt-Reader Enhancements:
ImageDataReader._try_parser()
helper for clearer instantiation and status checking of format parsers.ImageDataReader.status
is correctly updated based on the success/failure of individual format parsers, fixing misleadingFORMAT_ERROR
reports.A1111._process()
now robustly sets its own success/failure status).vendored_sdpr
components to use the "DSVendored_SDPR" prefix for consistent log handling.vendored_sdpr/format/utility.py
to retain only core string/data manipulation functions relevant to backend parsing, removing GUI-specific dependencies.New Features & Parser Additions:
RuinedFooocusFormat
parser: Enables parsing of metadata from images generated by RuinedFooocus, extracting prompts and key generation parameters from its specific JSON structure.CivitaiComfyUIFormat
parser: Provides support for parsing Civitai's ComfyUI-based UserComment metadata, including handling potential mojibake and extracting parameters from the "extraMetadata" field.GGUFParser
: Basic metadata extraction from GGUF model files is now supported viamodel_parsers
.Logging Improvements:
main.py
regarding logger reconfiguration by aligning the function call (reconfigure_all_loggers
) with the definition inlogger.py
. Command-line log level setting is now fully effective.ImageDataReader
,A1111
parser, andwidgets.py
to aid in future diagnostics.UI & CorrectTypes Refinements:
BaseFormat.py
(vendored) updated with an expandedPARAMETER_KEY
list and improvedparse()
method for better error handling and status reporting by subclasses.correct_types.py
now correctly defines Enums for UI field mapping and providesget_ordered_labels()
methods, ensuring type safety and clarity.ui.py
updated to correctly use these Enum methods and.value
access for dictionary keys and UI section iteration.(Optional: Add any testing notes or specific areas for reviewers to focus on)
Testing Done:
CivitaiComfyUIFormat
.Areas for Review:
__init__
signatures forNovelAI(info=...)
andComfyUI(info=...)
calls withinImageDataReader.py
(regardingwidth
/height
arguments).make_paired_str_dict
for diverse A1111 settings strings.This PR aims to significantly improve the application's reliability and extend its parsing capabilities.
Full Changelog: 0.58.1...0.58.2
This discussion was created from the release Drag and Drop.
Beta Was this translation helpful? Give feedback.
All reactions