{"action":"created","issue":{"url":"https://api.github.com/repos/ELVIS-Project/vis-framework/issues/416","repository_url":"https://api.github.com/repos/ELVIS-Project/vis-framework","labels_url":"https://api.github.com/repos/ELVIS-Project/vis-framework/issues/416/labels{/name}","comments_url":"https://api.github.com/repos/ELVIS-Project/vis-framework/issues/416/comments","events_url":"https://api.github.com/repos/ELVIS-Project/vis-framework/issues/416/events","html_url":"https://github.com/ELVIS-Project/vis-framework/issues/416","id":175374245,"number":416,"title":"Remove capability for recursion in IndexedPiece.get_data()","user":{"login":"alexandermorgan","id":2601689,"avatar_url":"https://avatars.githubusercontent.com/u/2601689?v=3","gravatar_id":"","url":"https://api.github.com/users/alexandermorgan","html_url":"https://github.com/alexandermorgan","followers_url":"https://api.github.com/users/alexandermorgan/followers","following_url":"https://api.github.com/users/alexandermorgan/following{/other_user}","gists_url":"https://api.github.com/users/alexandermorgan/gists{/gist_id}","starred_url":"https://api.github.com/users/alexandermorgan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexandermorgan/subscriptions","organizations_url":"https://api.github.com/users/alexandermorgan/orgs","repos_url":"https://api.github.com/users/alexandermorgan/repos","events_url":"https://api.github.com/users/alexandermorgan/events{/privacy}","received_events_url":"https://api.github.com/users/alexandermorgan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ELVIS-Project/vis-framework/milestones/34","html_url":"https://github.com/ELVIS-Project/vis-framework/milestones/Release%203.0","labels_url":"https://api.github.com/repos/ELVIS-Project/vis-framework/milestones/34/labels","id":1678257,"number":34,"title":"Release 3.0","description":"Everything that should be part of release 3.0.\r\n(All individual 3.0 release milestones need to be merged into this one milestone.)","creator":{"login":"musicus","id":1203470,"avatar_url":"https://avatars.githubusercontent.com/u/1203470?v=3","gravatar_id":"","url":"https://api.github.com/users/musicus","html_url":"https://github.com/musicus","followers_url":"https://api.github.com/users/musicus/followers","following_url":"https://api.github.com/users/musicus/following{/other_user}","gists_url":"https://api.github.com/users/musicus/gists{/gist_id}","starred_url":"https://api.github.com/users/musicus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/musicus/subscriptions","organizations_url":"https://api.github.com/users/musicus/orgs","repos_url":"https://api.github.com/users/musicus/repos","events_url":"https://api.github.com/users/musicus/events{/privacy}","received_events_url":"https://api.github.com/users/musicus/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":36,"state":"open","created_at":"2016-04-01T15:18:57Z","updated_at":"2016-09-21T00:18:17Z","due_on":"2016-08-05T04:00:00Z","closed_at":null},"comments":11,"created_at":"2016-09-06T23:14:16Z","updated_at":"2016-09-21T00:18:17Z","closed_at":"2016-09-21T00:18:17Z","body":"get_data() currently supports recursive calls which allows it to queue up multiple indexer runs in one command. When more than one indexer is included in the call, it necessarily feeds the result of the nth indexer to the call to the n+1th indexer. Here's the recursive block from the code:\r\n```\r\n        if len(analyzer_cls) > 1:\r\n            if analyzer_cls[0] is noterest.NoteRestIndexer:\r\n                return self.get_data(analyzer_cls[1:], settings, data)\r\n            return self.get_data(analyzer_cls[1:], settings, analyzer_cls[0](data, settings).run())\r\n```\r\nThere are two main issues with this:\r\n\r\n1. Only the results of the last indexer are returned\r\n2. You can only feed the results of one indexer to the next indexer in the call\r\n\r\nThis second point is the most problematic because most indexers that require the results of other indexers require the results of several indexers. This was probably originally meant for interval indexing, but now the noterest indexer results are internally called by the _get_vertical_interval() and _get_horizontal_interval() methods. The only indexer that could make use of this (unless I'm mistaken) is the ngram indexer when creating ngrams based only on one input, such as durations and this is not the main use case for the ngram indexer. I think we should just limit this method to one indexer at a time which will make it easier to use, and easier to understand.\r\nAnother related issue is that get_data() can currently make repeated calls to _import_score(), even though this never actually results in a score being imported twice because of _import_score()'s internal check.\r\nIf we're going to change this it should be done for VIS 3.0."},"comment":{"url":"https://api.github.com/repos/ELVIS-Project/vis-framework/issues/comments/248474592","html_url":"https://github.com/ELVIS-Project/vis-framework/issues/416#issuecomment-248474592","issue_url":"https://api.github.com/repos/ELVIS-Project/vis-framework/issues/416","id":248474592,"user":{"login":"alexandermorgan","id":2601689,"avatar_url":"https://avatars.githubusercontent.com/u/2601689?v=3","gravatar_id":"","url":"https://api.github.com/users/alexandermorgan","html_url":"https://github.com/alexandermorgan","followers_url":"https://api.github.com/users/alexandermorgan/followers","following_url":"https://api.github.com/users/alexandermorgan/following{/other_user}","gists_url":"https://api.github.com/users/alexandermorgan/gists{/gist_id}","starred_url":"https://api.github.com/users/alexandermorgan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexandermorgan/subscriptions","organizations_url":"https://api.github.com/users/alexandermorgan/orgs","repos_url":"https://api.github.com/users/alexandermorgan/repos","events_url":"https://api.github.com/users/alexandermorgan/events{/privacy}","received_events_url":"https://api.github.com/users/alexandermorgan/received_events","type":"User","site_admin":false},"created_at":"2016-09-21T00:18:17Z","updated_at":"2016-09-21T00:18:17Z","body":"Now, depending on whether you call the Frequency or ColumnAggregator experiments via the ind_analyzer or combined_experimenter arguments, you get a list of multiple dataframes or a single dataframe respectively. Still needs some new documentation examples before VIS 3.0 gets published, but I'm going ahead and closing this."}}
{"actor":{"display_login":"alexandermorgan"}}