From 07413a0225c3579feed9e5c6fb3a3531eb75d44e Mon Sep 17 00:00:00 2001 From: Jordan Thompson Date: Sat, 30 Sep 2023 23:40:35 -0700 Subject: [PATCH] Add DebugThis debug node --- .gitignore | 152 +++++++++++++++++++++++++++ DebugThis.py | 45 ++++++++ __init__.py | 1 + __pycache__/__init__.cpython-310.pyc | Bin 935 -> 947 bytes 4 files changed, 198 insertions(+) create mode 100644 .gitignore create mode 100644 DebugThis.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b176143 --- /dev/null +++ b/.gitignore @@ -0,0 +1,152 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintainted in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ \ No newline at end of file diff --git a/DebugThis.py b/DebugThis.py new file mode 100644 index 0000000..efba20b --- /dev/null +++ b/DebugThis.py @@ -0,0 +1,45 @@ +from pprint import pprint + +# Hack: string type that is always equal in not equal comparisons +# Borrowed from: https://github.com/M1kep/Comfy_KepListStuff/blob/main/utils.py +class AnyType(str): + def __ne__(self, __value): + return False + +wildcard = AnyType("*") + +class WAS_DebugThis: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {"input": (wildcard, {})}, + } + + RETURN_TYPES = () + OUTPUT_NODE = True + + FUNCTION = "debug" + + CATEGORY = "debug" + + def debug(self, input): + + print("Debug:") + print(input) + if isinstance(input, object) and not isinstance(input, (str, int, float, bool, list, dict, tuple)): + print("Objects directory listing:") + pprint(dir(input), indent=4) + + return () + +NODE_CLASS_MAPPINGS = { + "DebugInput": WAS_DebugThis, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "DebugInput": "Debug Input", +} + diff --git a/__init__.py b/__init__.py index 159d650..36f73a7 100644 --- a/__init__.py +++ b/__init__.py @@ -3,6 +3,7 @@ import time extras = [ ".ConditioningBlend", + ".DebugThis", ".VAEEncodeForInpaint", ".VividSharpen", ] diff --git a/__pycache__/__init__.cpython-310.pyc b/__pycache__/__init__.cpython-310.pyc index a23a726aacd3b2d8ea475c3b94a22aa577732fb8..d2b7d1f1ea51eb1342c223f0963a1efe20274259 100644 GIT binary patch delta 67 zcmZ3^zL}jjpO=@50SNvHNv5W6