{"action":"closed","issue":{"url":"https://api.github.com/repos/arminms/hashkat-lib/issues/17","labels_url":"https://api.github.com/repos/arminms/hashkat-lib/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/arminms/hashkat-lib/issues/17/comments","events_url":"https://api.github.com/repos/arminms/hashkat-lib/issues/17/events","html_url":"https://github.com/arminms/hashkat-lib/issues/17","id":111254570,"number":17,"title":"Using analyzer_select_agent method to select follower in twitter_follow::select_follower()","user":{"login":"arminms","id":6671073,"avatar_url":"https://avatars.githubusercontent.com/u/6671073?v=3","gravatar_id":"","url":"https://api.github.com/users/arminms","html_url":"https://github.com/arminms","followers_url":"https://api.github.com/users/arminms/followers","following_url":"https://api.github.com/users/arminms/following{/other_user}","gists_url":"https://api.github.com/users/arminms/gists{/gist_id}","starred_url":"https://api.github.com/users/arminms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arminms/subscriptions","organizations_url":"https://api.github.com/users/arminms/orgs","repos_url":"https://api.github.com/users/arminms/repos","events_url":"https://api.github.com/users/arminms/events{/privacy}","received_events_url":"https://api.github.com/users/arminms/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/arminms/hashkat-lib/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"arminms","id":6671073,"avatar_url":"https://avatars.githubusercontent.com/u/6671073?v=3","gravatar_id":"","url":"https://api.github.com/users/arminms","html_url":"https://github.com/arminms","followers_url":"https://api.github.com/users/arminms/followers","following_url":"https://api.github.com/users/arminms/following{/other_user}","gists_url":"https://api.github.com/users/arminms/gists{/gist_id}","starred_url":"https://api.github.com/users/arminms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arminms/subscriptions","organizations_url":"https://api.github.com/users/arminms/orgs","repos_url":"https://api.github.com/users/arminms/repos","events_url":"https://api.github.com/users/arminms/events{/privacy}","received_events_url":"https://api.github.com/users/arminms/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-10-13T19:41:16Z","updated_at":"2016-01-07T23:14:25Z","closed_at":"2016-01-07T23:14:25Z","body":"- [x] adding `std::vector<weight_type> at_add_weight_` to `twitter_follow` class and initialize it the same way as it was done for `twitter_add_agent` class\r\n- [x] selecting agent type based on the agent type add weights (i.e. `at_add_weight_`)\r\n- [x] adding `AgentType network::agent_by_type(std::size_t type, T n) const` to network class\r\n- [x] if add rate is zero, just try to randomly select from `network::agent_by_type(type, n)`\r\n- [x] when add rate is not zero, make a vector of adjusted add weights by multiplying follow rate of that agent type for each month (`at_monthly_weights_[at][i]`) with add weight of the agent type (`at_add_weight_[at]`) and dividing by sum of monthly follow rates (`std::accumulate(at_monthly_weights_)`)\r\n- [x] using `adjusted_add_weights` vector to select relevant month by discrete distribution\r\n- [x] use the month for selecting agent ID using `at_agent_per_month_[at][month]` and uniform distribution"}}