-
Notifications
You must be signed in to change notification settings - Fork 50
(WIP) Session Orientation #450
base: master
Are you sure you want to change the base?
Conversation
90cef5c to
41c409e
Compare
accraze
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a couple of failing tests due to some refactoring that need fixing, but overall LGTM!
https://travis-ci.org/wikimedia/revscoring/builds/582717322#L794
c6cc8d8 to
66b5e35
Compare
accraze
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great so far, everything seems well documented and tested.
* Adds 'list_of' meta-datasource * Adds documentation
da8d20b to
04bb9df
Compare
accraze
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the @DependentSet.meta_dependent decorator, although not sure if it will be a ton of work to find all functions that it should be added to. If you aren't worried about that then I would say go ahead with applying this to the language based features.
Also it looks like there is a problem with docs checker on Travis:
revscoring/features/bytes/session_oriented.py:docstring of
revscoring.features.bytes.Session.revisions:1:py:class reference target not found:
revscoring.datasources.meta.expanders.list_of`(:class:`~revscoring.features.bytes.Revision
| if not hasattr(method, "meta_dependent"): | ||
| pass | ||
| else: | ||
| list_of_meta_method = meta_list_of_ify( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
This implements a nice structure for session orientation using a helper function called "list_of_tree" that takes a DependencySet and iterates through it converting all children and maintaining the structure of the tree. A cache is used to keep track of what dependencies have already been converted so that they can be re-used.