Skip to content

banMacros default value "" str incompatible with usages assuming dict #8

@Nommabelle

Description

@Nommabelle

For starters, many thanks for offering this library! It's great :) (and used here by me)

Exception when banMacros isn't defined in toolbox config. This can be resolved user-end by defining a ban macro, but could be improved here

banMacros init'd to "" if doesn't exist:

ToolboxSettings.load()
		for item in ["domainTags", "removalReasons", "modMacros","banMacros"]:
			if item not in page.keys(): page[item] = ""

banMacros passed to from_dist with "" if didn't exist:

SettingsRoot.from_dict()
		_banMacros = BanMacros.from_dict(obj.get("banMacros"))

"".get() no bueno:

BanMacros.from_dict()
	def from_dict(obj: Any) -> 'BanMacros':
		_banNote = str(obj.get("banNote"))
		_banMessage = str(obj.get("banMessage"))
		return BanMacros(_banNote, _banMessage)

https://github.com/adhesivecheese/pmtw/blob/main/pmtw/settings.py#L27

Logs:

2022-12-15T16:50:02.903 app[7366d868] ord [info] File "/usr/local/lib/python3.10/site-packages/pmtw/settings.py", line 239, in from_dict

2022-12-15T16:50:02.903 app[7366d868] ord [info] _banMacros = BanMacros.from_dict(obj.get("banMacros"))

2022-12-15T16:50:02.903 app[7366d868] ord [info] File "/usr/local/lib/python3.10/site-packages/pmtw/settings.py", line 27, in from_dict

2022-12-15T16:50:02.903 app[7366d868] ord [info] _banNote = str(obj.get("banNote"))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions