{"action":"created","issue":{"url":"https://api.github.com/repos/marshmallow-code/marshmallow/issues/600","repository_url":"https://api.github.com/repos/marshmallow-code/marshmallow","labels_url":"https://api.github.com/repos/marshmallow-code/marshmallow/issues/600/labels{/name}","comments_url":"https://api.github.com/repos/marshmallow-code/marshmallow/issues/600/comments","events_url":"https://api.github.com/repos/marshmallow-code/marshmallow/issues/600/events","html_url":"https://github.com/marshmallow-code/marshmallow/pull/600","id":213594505,"node_id":"MDExOlB1bGxSZXF1ZXN0MTEwMjkyOTY5","number":600,"title":"Add priority to decorator processors","user":{"login":"lgo","id":1161183,"node_id":"MDQ6VXNlcjExNjExODM=","avatar_url":"https://avatars0.githubusercontent.com/u/1161183?v=4","gravatar_id":"","url":"https://api.github.com/users/lgo","html_url":"https://github.com/lgo","followers_url":"https://api.github.com/users/lgo/followers","following_url":"https://api.github.com/users/lgo/following{/other_user}","gists_url":"https://api.github.com/users/lgo/gists{/gist_id}","starred_url":"https://api.github.com/users/lgo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgo/subscriptions","organizations_url":"https://api.github.com/users/lgo/orgs","repos_url":"https://api.github.com/users/lgo/repos","events_url":"https://api.github.com/users/lgo/events{/privacy}","received_events_url":"https://api.github.com/users/lgo/received_events","type":"User","site_admin":false},"labels":[{"id":96590028,"node_id":"MDU6TGFiZWw5NjU5MDAyOA==","url":"https://api.github.com/repos/marshmallow-code/marshmallow/labels/feedback%20welcome","name":"feedback welcome","color":"0e8a16","default":false},{"id":556425243,"node_id":"MDU6TGFiZWw1NTY0MjUyNDM=","url":"https://api.github.com/repos/marshmallow-code/marshmallow/labels/needs%20review","name":"needs review","color":"d4c5f9","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/marshmallow-code/marshmallow/milestones/10","html_url":"https://github.com/marshmallow-code/marshmallow/milestone/10","labels_url":"https://api.github.com/repos/marshmallow-code/marshmallow/milestones/10/labels","id":1419130,"node_id":"MDk6TWlsZXN0b25lMTQxOTEzMA==","number":10,"title":"3.0","description":"","creator":{"login":"sloria","id":2379650,"node_id":"MDQ6VXNlcjIzNzk2NTA=","avatar_url":"https://avatars2.githubusercontent.com/u/2379650?v=4","gravatar_id":"","url":"https://api.github.com/users/sloria","html_url":"https://github.com/sloria","followers_url":"https://api.github.com/users/sloria/followers","following_url":"https://api.github.com/users/sloria/following{/other_user}","gists_url":"https://api.github.com/users/sloria/gists{/gist_id}","starred_url":"https://api.github.com/users/sloria/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloria/subscriptions","organizations_url":"https://api.github.com/users/sloria/orgs","repos_url":"https://api.github.com/users/sloria/repos","events_url":"https://api.github.com/users/sloria/events{/privacy}","received_events_url":"https://api.github.com/users/sloria/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":74,"state":"open","created_at":"2015-11-19T03:17:00Z","updated_at":"2018-12-11T17:07:52Z","due_on":null,"closed_at":null},"comments":11,"created_at":"2017-03-12T09:56:09Z","updated_at":"2018-12-11T19:20:21Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/marshmallow-code/marshmallow/pulls/600","html_url":"https://github.com/marshmallow-code/marshmallow/pull/600","diff_url":"https://github.com/marshmallow-code/marshmallow/pull/600.diff","patch_url":"https://github.com/marshmallow-code/marshmallow/pull/600.patch"},"body":"In the documentation, it's quite explicit about there being no prioritization of processors. I believe this would be a great addition for a few reasons. It allows more complex post-processing flows.\r\n\r\nFor example, the case I need `priority` is where an abstract schema will post-process into a model object, but before that must be some specialized post-processing in an implementation of the schema. This is less than ideal to implement using the suggested pattern due to the post-processor belonging to the abstract class.\r\n\r\n\r\nThis will retain backward compatibility, given that every processor will default to the same priority and the disclaimer in the documentation.\r\n\r\nI'm open to suggestions for an alternative interface for this. Defaulting all processors to `0` would require other processors to run before them to have negative values, so likely a non-zero priority is more appropriate.\r\n\r\nps. love marshmallow, and all of the work that y'all do for it! The documentation is among the best that I've experienced, and every time I read through I discover a new solution to an anti-pattern I've had :)."},"comment":{"url":"https://api.github.com/repos/marshmallow-code/marshmallow/issues/comments/446327426","html_url":"https://github.com/marshmallow-code/marshmallow/pull/600#issuecomment-446327426","issue_url":"https://api.github.com/repos/marshmallow-code/marshmallow/issues/600","id":446327426,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NjMyNzQyNg==","user":{"login":"lafrech","id":1767010,"node_id":"MDQ6VXNlcjE3NjcwMTA=","avatar_url":"https://avatars0.githubusercontent.com/u/1767010?v=4","gravatar_id":"","url":"https://api.github.com/users/lafrech","html_url":"https://github.com/lafrech","followers_url":"https://api.github.com/users/lafrech/followers","following_url":"https://api.github.com/users/lafrech/following{/other_user}","gists_url":"https://api.github.com/users/lafrech/gists{/gist_id}","starred_url":"https://api.github.com/users/lafrech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lafrech/subscriptions","organizations_url":"https://api.github.com/users/lafrech/orgs","repos_url":"https://api.github.com/users/lafrech/repos","events_url":"https://api.github.com/users/lafrech/events{/privacy}","received_events_url":"https://api.github.com/users/lafrech/received_events","type":"User","site_admin":false},"created_at":"2018-12-11T19:20:21Z","updated_at":"2018-12-11T19:20:21Z","author_association":"MEMBER","body":"This does not solve the case of having a `make_model` hook in base class and an unrelated `post_load` hook in a child class. Well, it does if you ensure to name the unrelated hook `make_model`, but maybe you don't want to do that.\r\n\r\nAlso, priorities would allow marshmallow-based framework to use hook while application code could use hooks as well. Application would just have to watch the priority numbers in the framework. Hence the 10-step idea described above by @vgavro.\r\n\r\nIf most people are satisfied with current implementation (where base class needs to define hooks for the application and children classes override them), I won't struggle for this feature to be integrated."}}
{"actor":{"display_login":"lafrech"}}