Closed Miraihi closed 10 months ago
When I try to uncheck the box "Inpaint" from the newly added "Exclude from sharing", I get a non-fatal error:
EDIT: Actually it happens with any box out of the three.
TypeError: 'str' object cannot be interpreted as an integer
TypeError Python 3.10.7: C:\Program Files (x86)\Steam\steamapps\common\Krita\krita\bin\krita.exe Wed Oct 18 17:09:30 2023 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\pages\settings.py in <lambda>() 80 exclude_inpaint = QCheckBox('Inpaint') 81 exclude_inpaint.setChecked('inpaint' in self.settings_controller.get('prompts.exclude_sharing')) 82 exclude_inpaint.toggled.connect(lambda: self._toggle_and_save('prompts.exclude_sharing', 'inpaint')) 83 exclude_form.layout().addWidget(exclude_inpaint) 84 exclude_inpaint undefined self = <cyanic.pages.settings.SettingsPage object> self._toggle_and_save = <bound method SettingsPage._toggle_and_save of <cyanic.pages.settings.SettingsPage object>> C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\pages\settings.py in _toggle_and_save(self=<cyanic.pages.settings.SettingsPage object>, key='prompts.exclude_sharing', value='inpaint') 97 98 def _toggle_and_save(self, key, value): 99 self.settings_controller.toggle(key, value) 100 self.settings_controller.save() 101 self = <cyanic.pages.settings.SettingsPage object> self.settings_controller = <cyanic.settings_controller.SettingsController object> self.settings_controller.toggle = <bound method SettingsController.toggle of <cyanic.settings_controller.SettingsController object>> key = 'prompts.exclude_sharing' value = 'inpaint' C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\settings_controller.py in toggle(self=<cyanic.settings_controller.SettingsController object>, key='prompts.exclude_sharing', value='inpaint') 110 elif value is not None: 111 if value in self.settings[split_key[0]][split_key[1]]: 112 self.remove(key, value) 113 else: 114 self.append(key, value) self = <cyanic.settings_controller.SettingsController object> self.remove = <bound method SettingsController.remove of <cyanic.settings_controller.SettingsController object>> key = 'prompts.exclude_sharing' value = 'inpaint' C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\settings_controller.py in remove(self=<cyanic.settings_controller.SettingsController object>, key='prompts.exclude_sharing', value='inpaint') 89 self.settings[split_key[0]] = {} 90 if value in self.settings[split_key[0]][split_key[1]]: 91 self.settings[split_key[0]][split_key[1]].pop(value) 92 93 def toggle(self, key, value=None): self = <cyanic.settings_controller.SettingsController object> self.settings = {'adetailer': {'model': 'face_yolov8n.pt'}, 'batch': {'count': 1, 'size': 1}, 'controlnet': {'control_mode': 'Balanced', 'low_vram': False, 'pixel_perfect': False, 'resize_mode': 'Just Resize'}, 'defaults': {'cfg_scale': 7, 'color_correction': True, 'denoise_strength': 1.0, 'face_restorer': '', 'match_colors': True, 'model': 'jamJustAnotherMerge_v19BakedvaePruned.safetensors [4bfc37dab6]', 'refiner': '', 'sampler': 'DPM++ 2M SDE Karras', 'sampling_steps': 25, 'upscaler': '', ...}, 'extra_networks': {'show_descriptions': True, 'show_thumbnails': True, 'visible': False}, 'hide_ui': {'batch': True, 'cfg': True, 'clip_skip': True, 'color_correction': True, 'face_restore': True, 'highres_fix': True, 'seed': False, 'styles': True, 'tiling': True}, 'inpaint': {'inpaint_area': 1, 'mask_blur': 4, 'mask_mode': 0, 'masked_content': 3, 'padding': 30}, 'pages': {'last': 'Settings'}, 'previews': {'enabled': True, 'refresh_seconds': 1.0}, 'prompts': {'adetailer_negative_prompt': '', 'adetailer_prompt': '', 'exclude_sharing': ['adetailer', 'inpaint'], 'img2img_negative_prompt': '', 'img2img_prompt': '', 'inpaint_negative_prompt': 'Negative_ng_deepnegative_v1_75t, Negative_badhan...quality, bad quality:1.35), logo, watermark, text', 'inpaint_prompt': 'Realistic, goth, big black lips, (gigantic breas...quality, perfect lighting, trending on artstation', 'save_prompts': True, 'share_prompts': True, 'shared_negative_prompt': 'Negative_ng_deepnegative_v1_75t, Negative_badhan...quality, bad quality:1.35), logo, watermark, text', ...}, ...} split_key = ['prompts', 'exclude_sharing'] ].pop = <built-in method pop of list object> value = 'inpaint' TypeError: 'str' object cannot be interpreted as an integer __cause__ = None __class__ = <class 'TypeError'> __context__ = None __delattr__ = <method-wrapper '__delattr__' of TypeError object> __dict__ = {} __dir__ = <built-in method __dir__ of TypeError object> __doc__ = 'Inappropriate argument type.' __eq__ = <method-wrapper '__eq__' of TypeError object> __format__ = <built-in method __format__ of TypeError object> __ge__ = <method-wrapper '__ge__' of TypeError object> __getattribute__ = <method-wrapper '__getattribute__' of TypeError object> __gt__ = <method-wrapper '__gt__' of TypeError object> __hash__ = <method-wrapper '__hash__' of TypeError object> __init__ = <method-wrapper '__init__' of TypeError object> __init_subclass__ = <built-in method __init_subclass__ of type object> __le__ = <method-wrapper '__le__' of TypeError object> __lt__ = <method-wrapper '__lt__' of TypeError object> __ne__ = <method-wrapper '__ne__' of TypeError object> __new__ = <built-in method __new__ of type object> __reduce__ = <built-in method __reduce__ of TypeError object> __reduce_ex__ = <built-in method __reduce_ex__ of TypeError object> __repr__ = <method-wrapper '__repr__' of TypeError object> __setattr__ = <method-wrapper '__setattr__' of TypeError object> __setstate__ = <built-in method __setstate__ of TypeError object> __sizeof__ = <built-in method __sizeof__ of TypeError object> __str__ = <method-wrapper '__str__' of TypeError object> __subclasshook__ = <built-in method __subclasshook__ of type object> __suppress_context__ = False __traceback__ = <traceback object> args = ("'str' object cannot be interpreted as an integer",) with_traceback = <built-in method with_traceback of TypeError object> The above is a description of an error in a Python program. Here is the original traceback: Traceback (most recent call last): File "C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\pages\settings.py", line 82, in <lambda> exclude_inpaint.toggled.connect(lambda: self._toggle_and_save('prompts.exclude_sharing', 'inpaint')) File "C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\pages\settings.py", line 99, in _toggle_and_save self.settings_controller.toggle(key, value) File "C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\settings_controller.py", line 112, in toggle self.remove(key, value) File "C:\Users\Miraihi\AppData\Roaming\krita\pykrita\cyanic\settings_controller.py", line 91, in remove self.settings[split_key[0]][split_key[1]].pop(value) TypeError: 'str' object cannot be interpreted as an integer
Woops, looks like I only tested the adding it, not the removing it. It should be fixed now.
When I try to uncheck the box "Inpaint" from the newly added "Exclude from sharing", I get a non-fatal error:
EDIT: Actually it happens with any box out of the three.
TypeError: 'str' object cannot be interpreted as an integer