)]}'
{"doc/source/types.rst":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cb5dac65250ac6e8a8d1b5ab81989e0427c230ca","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. automodule:: taskflow.types.tree"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Entity"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. automodule:: taskflow.types.entity"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_ebfe756a","line":51,"updated":"2015-10-19 21:38:21.000000000","message":"Put this after\n\n\n Cache\n \u003d\u003d\u003d\u003d\u003d\n\n\nSo that we maintain alphabetical ordering. Thanks.","commit_id":"85144a91cdadd08b1f714571953eb266a76ead1c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"8c0faf027361074fafdef1bfdad360182bcced1a","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. automodule:: taskflow.types.tree"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Entity"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. automodule:: taskflow.types.entity"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_cb85b9ad","line":51,"in_reply_to":"3a29b11f_ebfe756a","updated":"2015-10-19 21:48:32.000000000","message":"Done","commit_id":"85144a91cdadd08b1f714571953eb266a76ead1c"}],"taskflow/conductors/backends/impl_blocking.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"745f01fb9030460a7eb38fa0a38ef1e950418735","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        \u003cconductor_name\u003e@\u003chostname\u003e:\u003cprocess_pid\u003e"},{"line_number":169,"context_line":"        "},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        return \u0027@\u0027.join([self._name, "},{"line_number":172,"context_line":"                         socket.gethostname()+\":\"+str(os.getpid())])"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def run(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_085f5342","line":171,"updated":"2015-10-13 22:24:22.000000000","message":"So if conductor_info can just be a dict, then u can avoid this encoding, and just have \u0027register_conductor\u0027 or equivalent just json serialize its input (And json deserialize when iterating/reading that data)","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"6c0e99a220c27bbd100e69ca3d815c7f524d548a","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        \u003cconductor_name\u003e@\u003chostname\u003e:\u003cprocess_pid\u003e"},{"line_number":169,"context_line":"        "},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        return \u0027@\u0027.join([self._name, "},{"line_number":172,"context_line":"                         socket.gethostname()+\":\"+str(os.getpid())])"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def run(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_f1317a0c","line":171,"in_reply_to":"5a2ca52d_085f5342","updated":"2015-10-15 20:24:38.000000000","message":"Done","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"22145977998b87658da1dcace2795c26b65777ac","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        hostname \u003d socket.gethostname()"},{"line_number":172,"context_line":"        pid \u003d str(os.getpid())"},{"line_number":173,"context_line":"        conductor_name_tag \u003d \u0027@\u0027.join(["},{"line_number":174,"context_line":"            self._name, hostname+\":\"+pid])"},{"line_number":175,"context_line":"        # Can add a lot more information here,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_dc8e9378","line":172,"updated":"2015-10-15 21:58:19.000000000","message":"U can probably just leave this as a int, since json should be able to handle that fine.","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"3a6e0ea3358687c5256668d776874679fae07bac","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        hostname \u003d socket.gethostname()"},{"line_number":172,"context_line":"        pid \u003d str(os.getpid())"},{"line_number":173,"context_line":"        conductor_name_tag \u003d \u0027@\u0027.join(["},{"line_number":174,"context_line":"            self._name, hostname+\":\"+pid])"},{"line_number":175,"context_line":"        # Can add a lot more information here,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_87f0c468","line":172,"in_reply_to":"5a2ca52d_dc8e9378","updated":"2015-10-15 22:53:34.000000000","message":"Done","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"22145977998b87658da1dcace2795c26b65777ac","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        hostname \u003d socket.gethostname()"},{"line_number":172,"context_line":"        pid \u003d str(os.getpid())"},{"line_number":173,"context_line":"        conductor_name_tag \u003d \u0027@\u0027.join(["},{"line_number":174,"context_line":"            self._name, hostname+\":\"+pid])"},{"line_number":175,"context_line":"        # Can add a lot more information here,"},{"line_number":176,"context_line":"        return {"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_fc8b4f66","line":173,"updated":"2015-10-15 21:58:19.000000000","message":"Perhaps just call this \u0027name\u0027 instead","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"3a6e0ea3358687c5256668d776874679fae07bac","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        hostname \u003d socket.gethostname()"},{"line_number":172,"context_line":"        pid \u003d str(os.getpid())"},{"line_number":173,"context_line":"        conductor_name_tag \u003d \u0027@\u0027.join(["},{"line_number":174,"context_line":"            self._name, hostname+\":\"+pid])"},{"line_number":175,"context_line":"        # Can add a lot more information here,"},{"line_number":176,"context_line":"        return {"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_07059444","line":173,"in_reply_to":"5a2ca52d_fc8b4f66","updated":"2015-10-15 22:53:34.000000000","message":"Done","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"36be46c0fdd077a990088b3fc9fa0149b6079280","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            return async_utils.make_completed_future(consume)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def _get_conductor_info(self):"},{"line_number":168,"context_line":"        \"\"\"For right now we just register the conduct info as:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        \u003cconductor_name\u003e@\u003chostname\u003e:\u003cprocess_pid\u003e"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_1e048a13","line":168,"updated":"2015-10-18 01:34:20.000000000","message":"conduct -\u003e conductor","commit_id":"b675eea18cf8eff4488ca2e9c405ce492223bfbc"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"b700aa72f56b769edd890ed607f511f5a4d99f0f","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            return async_utils.make_completed_future(consume)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def _get_conductor_info(self):"},{"line_number":168,"context_line":"        \"\"\"For right now we just register the conduct info as:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        \u003cconductor_name\u003e@\u003chostname\u003e:\u003cprocess_pid\u003e"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_be8236c7","line":168,"in_reply_to":"3a29b11f_1e048a13","updated":"2015-10-18 02:22:45.000000000","message":"Done","commit_id":"b675eea18cf8eff4488ca2e9c405ce492223bfbc"}],"taskflow/jobs/backends/impl_redis.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"8fe13b8427ec2f7a2e11a46ce5858af4a7ff33eb","unresolved":false,"context_lines":[{"line_number":809,"context_line":"            board_fetch_func\u003dlambda ensure_fresh: self._fetch_jobs())"},{"line_number":810,"context_line":"    "},{"line_number":811,"context_line":"    def register_conductor(self, conductor_name, conduct_info):"},{"line_number":812,"context_line":"        # Will implement a redis jobboard conductor register later"},{"line_number":813,"context_line":"        pass"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    @base.check_who"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_e87e97ad","line":812,"updated":"2015-10-13 22:23:31.000000000","message":"+1","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"7abeaa0e3a9791a01a1a5bbf35bac5ea33715c59","unresolved":false,"context_lines":[{"line_number":808,"context_line":"            ensure_fresh\u003densure_fresh,"},{"line_number":809,"context_line":"            board_fetch_func\u003dlambda ensure_fresh: self._fetch_jobs())"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def register_entity(self, entity_info):"},{"line_number":812,"context_line":"        # Will implement a redis jobboard conductor register later"},{"line_number":813,"context_line":"        pass"},{"line_number":814,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_80e24502","line":811,"updated":"2015-10-19 18:24:54.000000000","message":"Change \u0027entity_info\u0027 -\u003e \u0027entity\u0027 to be consistent with the parent abstractmethod.","commit_id":"7e0ada4f4ceca1947be733c80bbdd3bea500a5d5"}],"taskflow/jobs/backends/impl_zookeeper.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"fd4ccbdd42842ec124894ee638051356833bc9b9","unresolved":false,"context_lines":[{"line_number":565,"context_line":"    "},{"line_number":566,"context_line":"    def register_conductor(self, conductor_name, conduct_info):"},{"line_number":567,"context_line":"        self._client.ensure_path(self.conductors_path)"},{"line_number":568,"context_line":"        self._client.create(\u0027/\u0027.join([self.conductors_path, conductor_name]),"},{"line_number":569,"context_line":"                            conduct_info )"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    @base.check_who"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_e8d8d71f","line":568,"updated":"2015-10-13 22:10:03.000000000","message":"Also I think kazoo has the following u can use to avoid some of this:\n\nhttps://github.com/python-zk/kazoo/blob/master/kazoo/protocol/paths.py (see join function here).","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"6c0e99a220c27bbd100e69ca3d815c7f524d548a","unresolved":false,"context_lines":[{"line_number":565,"context_line":"    "},{"line_number":566,"context_line":"    def register_conductor(self, conductor_name, conduct_info):"},{"line_number":567,"context_line":"        self._client.ensure_path(self.conductors_path)"},{"line_number":568,"context_line":"        self._client.create(\u0027/\u0027.join([self.conductors_path, conductor_name]),"},{"line_number":569,"context_line":"                            conduct_info )"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    @base.check_who"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_baebd777","line":568,"in_reply_to":"5a2ca52d_e8d8d71f","updated":"2015-10-15 20:24:38.000000000","message":"Done","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"fd4ccbdd42842ec124894ee638051356833bc9b9","unresolved":false,"context_lines":[{"line_number":566,"context_line":"    def register_conductor(self, conductor_name, conduct_info):"},{"line_number":567,"context_line":"        self._client.ensure_path(self.conductors_path)"},{"line_number":568,"context_line":"        self._client.create(\u0027/\u0027.join([self.conductors_path, conductor_name]),"},{"line_number":569,"context_line":"                            conduct_info )"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    @base.check_who"},{"line_number":572,"context_line":"    def consume(self, job, who):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_c8db9b1a","line":569,"updated":"2015-10-13 22:10:03.000000000","message":"Cool, so I think u need to json encode conduct_info before saving it, since it needs to be a string, unless u were thinking the API should already require it to be a string (in that case a docstring might be useful to explain that).\n\nSee json_dumps or similar that should be used in this file.","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"6c0e99a220c27bbd100e69ca3d815c7f524d548a","unresolved":false,"context_lines":[{"line_number":566,"context_line":"    def register_conductor(self, conductor_name, conduct_info):"},{"line_number":567,"context_line":"        self._client.ensure_path(self.conductors_path)"},{"line_number":568,"context_line":"        self._client.create(\u0027/\u0027.join([self.conductors_path, conductor_name]),"},{"line_number":569,"context_line":"                            conduct_info )"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    @base.check_who"},{"line_number":572,"context_line":"    def consume(self, job, who):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_5a03a342","line":569,"in_reply_to":"5a2ca52d_c8db9b1a","updated":"2015-10-15 20:24:38.000000000","message":"Done","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"fd4ccbdd42842ec124894ee638051356833bc9b9","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        self._client.ensure_path(self.conductors_path)"},{"line_number":568,"context_line":"        self._client.create(\u0027/\u0027.join([self.conductors_path, conductor_name]),"},{"line_number":569,"context_line":"                            conduct_info )"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    @base.check_who"},{"line_number":572,"context_line":"    def consume(self, job, who):"},{"line_number":573,"context_line":"        with self._wrap(job.uuid, job.path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_a8097f97","line":570,"updated":"2015-10-13 22:10:03.000000000","message":"Also I think u want this to be an ephemeral node right, vs a persistent one?\n\nhttp://zookeeper.apache.org/doc/r3.2.1/zookeeperProgrammers.html#Ephemeral+Nodes","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"6c0e99a220c27bbd100e69ca3d815c7f524d548a","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        self._client.ensure_path(self.conductors_path)"},{"line_number":568,"context_line":"        self._client.create(\u0027/\u0027.join([self.conductors_path, conductor_name]),"},{"line_number":569,"context_line":"                            conduct_info )"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    @base.check_who"},{"line_number":572,"context_line":"    def consume(self, job, who):"},{"line_number":573,"context_line":"        with self._wrap(job.uuid, job.path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_7afe9f39","line":570,"in_reply_to":"5a2ca52d_a8097f97","updated":"2015-10-15 20:24:38.000000000","message":"Done","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"c15a024f8fcc381040ab65c9c026527208f048cc","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    TRASH_FOLDER \u003d \".trash\""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    #: Znode child path created under root path that contains registered conductor."},{"line_number":240,"context_line":"    CONDUCTORS_FOLDER \u003d \".conductors\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    #: Znode **prefix** that job entries have."},{"line_number":243,"context_line":"    JOB_PREFIX \u003d \u0027job\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_7c717fa7","line":240,"updated":"2015-10-15 21:57:24.000000000","message":"Hmmm, maybe call this \".entities\" instead of conductors (since entity is more generic than conductors)","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"3a6e0ea3358687c5256668d776874679fae07bac","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    TRASH_FOLDER \u003d \".trash\""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    #: Znode child path created under root path that contains registered conductor."},{"line_number":240,"context_line":"    CONDUCTORS_FOLDER \u003d \".conductors\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    #: Znode **prefix** that job entries have."},{"line_number":243,"context_line":"    JOB_PREFIX \u003d \u0027job\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_e78e58cf","line":240,"in_reply_to":"5a2ca52d_7c717fa7","updated":"2015-10-15 22:53:34.000000000","message":"Done","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"c15a024f8fcc381040ab65c9c026527208f048cc","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return self._trash_path"},{"line_number":308,"context_line":"    "},{"line_number":309,"context_line":"    @property"},{"line_number":310,"context_line":"    def conductors_path(self):"},{"line_number":311,"context_line":"        \"\"\"Path where all conductor info znodes will be stored.\"\"\""},{"line_number":312,"context_line":"        return self._conductors_path"},{"line_number":313,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_fc5d8f15","line":310,"updated":"2015-10-15 21:57:24.000000000","message":"entity_path now?","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"6c5b5aa73884d43133beb46457203a80c28d5c0f","unresolved":false,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def register_entity(self, entity_info):"},{"line_number":567,"context_line":"        entity_type \u003d entity_info.get(\u0027entity_type\u0027)"},{"line_number":568,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":569,"context_line":"            conductor_name \u003d entity_info.get(\u0027conductor_name_tag\u0027)"},{"line_number":570,"context_line":"            self._client.ensure_path(self.conductors_path)"},{"line_number":571,"context_line":"            self._client.create(k_paths.join(self.conductors_path, "}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_1c7acbbd","line":568,"updated":"2015-10-15 22:15:10.000000000","message":"So I\u0027m wondering if we want to have a tiny class for entity info and ensure that people pass that, that way we don\u0027t end up with a informal api with a dictionary being the same thing.\n\nPerhaps something like: http://paste.openstack.org/show/476437/\n\nThat way this code can just call jsonutils.dumps(entity.to_dict()) and not worry to much about names, tags, types...","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"3a6e0ea3358687c5256668d776874679fae07bac","unresolved":false,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def register_entity(self, entity_info):"},{"line_number":567,"context_line":"        entity_type \u003d entity_info.get(\u0027entity_type\u0027)"},{"line_number":568,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":569,"context_line":"            conductor_name \u003d entity_info.get(\u0027conductor_name_tag\u0027)"},{"line_number":570,"context_line":"            self._client.ensure_path(self.conductors_path)"},{"line_number":571,"context_line":"            self._client.create(k_paths.join(self.conductors_path, "}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_c249ca61","line":568,"in_reply_to":"5a2ca52d_1c7acbbd","updated":"2015-10-15 22:53:34.000000000","message":"Done","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"c15a024f8fcc381040ab65c9c026527208f048cc","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                                jsonutils.dumps(entity_info),"},{"line_number":574,"context_line":"                                ephemeral\u003dTrue)"},{"line_number":575,"context_line":"        else:"},{"line_number":576,"context_line":"            raise NotImplemented(\"Not implemented for other entity type...\")"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"    @base.check_who"},{"line_number":579,"context_line":"    def consume(self, job, who):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_dcb77338","line":576,"updated":"2015-10-15 21:57:24.000000000","message":"raise this one instead:\n\nhttps://github.com/openstack/taskflow/blob/master/taskflow/exceptions.py#L226","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"3a6e0ea3358687c5256668d776874679fae07bac","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                                jsonutils.dumps(entity_info),"},{"line_number":574,"context_line":"                                ephemeral\u003dTrue)"},{"line_number":575,"context_line":"        else:"},{"line_number":576,"context_line":"            raise NotImplemented(\"Not implemented for other entity type...\")"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"    @base.check_who"},{"line_number":579,"context_line":"    def consume(self, job, who):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_22419e38","line":576,"in_reply_to":"5a2ca52d_dcb77338","updated":"2015-10-15 22:53:34.000000000","message":"Done","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"1b35ffa4b8fcc8253f573168af6261bd4f5bb56c","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                misc.decode_json(job_data), job_stat)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def register_entity(self, entity_info):"},{"line_number":567,"context_line":"        entity_type \u003d entity_info.type"},{"line_number":568,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":569,"context_line":"            conductor_name \u003d entity_info.name"},{"line_number":570,"context_line":"            self._client.ensure_path(k_paths.join(self.entity_path,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_62d476bc","line":567,"updated":"2015-10-15 23:12:27.000000000","message":"What do u think about not even checking this?\n\nPerhaps doing the following?\n\n  entity_path \u003d k_paths.join(self.entity_path, entity.type)\n  self._client.ensure_path(entity_path)\n  self._client.create(k_paths.join(entity_path, entity.name),\n                               jsonutils.dumps(entity_info.to_dict()),\n                               ephemeral\u003dTrue)","commit_id":"33763b8276cffd185ca60a4e6fd62ea8ce162a88"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"deab4c2f033e214acbe70cf263ee3b4df4310752","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                misc.decode_json(job_data), job_stat)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def register_entity(self, entity_info):"},{"line_number":567,"context_line":"        entity_type \u003d entity_info.type"},{"line_number":568,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":569,"context_line":"            conductor_name \u003d entity_info.name"},{"line_number":570,"context_line":"            self._client.ensure_path(k_paths.join(self.entity_path,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_f961ead3","line":567,"in_reply_to":"5a2ca52d_62d476bc","updated":"2015-10-16 22:15:14.000000000","message":"Done. Right, should have checked that.","commit_id":"33763b8276cffd185ca60a4e6fd62ea8ce162a88"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ab429892748e113db0bb53bdec42eeb9833019ce","unresolved":false,"context_lines":[{"line_number":566,"context_line":"    def register_entity(self, entity_info):"},{"line_number":567,"context_line":"        entity_type \u003d entity_info.type"},{"line_number":568,"context_line":"        entity_path \u003d k_paths.join(self.entity_path, entity.type)"},{"line_number":569,"context_line":"        self._client.ensure_path(entity_path)"},{"line_number":570,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":571,"context_line":"            conductor_name \u003d entity_info.name"},{"line_number":572,"context_line":"            self._client.ensure_path(k_paths.join(self.entity_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_b9e052ce","line":569,"updated":"2015-10-16 22:18:58.000000000","message":"So probably do this after u have validated its a valid entity type, therefore if u get unknown ones, u don\u0027t create empty paths for them in the first place.","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"d11ab1acf3f5eb38e3c0f9d29fcdaa9826021ad2","unresolved":false,"context_lines":[{"line_number":566,"context_line":"    def register_entity(self, entity_info):"},{"line_number":567,"context_line":"        entity_type \u003d entity_info.type"},{"line_number":568,"context_line":"        entity_path \u003d k_paths.join(self.entity_path, entity.type)"},{"line_number":569,"context_line":"        self._client.ensure_path(entity_path)"},{"line_number":570,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":571,"context_line":"            conductor_name \u003d entity_info.name"},{"line_number":572,"context_line":"            self._client.ensure_path(k_paths.join(self.entity_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_2a8e1ed0","line":569,"in_reply_to":"5a2ca52d_b9e052ce","updated":"2015-10-17 01:44:11.000000000","message":"Done","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ab429892748e113db0bb53bdec42eeb9833019ce","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":571,"context_line":"            conductor_name \u003d entity_info.name"},{"line_number":572,"context_line":"            self._client.ensure_path(k_paths.join(self.entity_path,"},{"line_number":573,"context_line":"                                                  \u0027conductors\u0027))"},{"line_number":574,"context_line":"            self._client.create(k_paths.join(self.entity_path,"},{"line_number":575,"context_line":"                                             \u0027conductors\u0027,"},{"line_number":576,"context_line":"                                             conductor_name),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_d90aee89","line":573,"updated":"2015-10-16 22:18:58.000000000","message":"I\u0027d still rather have:\n\n   self._client.ensure_path(k_paths.join(self.entity_path,\n                                                               entity.type))\n\nAnd just use that here, then it avoids translating to \u0027conductor\u0027 + \"s\"","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"d11ab1acf3f5eb38e3c0f9d29fcdaa9826021ad2","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":571,"context_line":"            conductor_name \u003d entity_info.name"},{"line_number":572,"context_line":"            self._client.ensure_path(k_paths.join(self.entity_path,"},{"line_number":573,"context_line":"                                                  \u0027conductors\u0027))"},{"line_number":574,"context_line":"            self._client.create(k_paths.join(self.entity_path,"},{"line_number":575,"context_line":"                                             \u0027conductors\u0027,"},{"line_number":576,"context_line":"                                             conductor_name),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_eac266e8","line":573,"in_reply_to":"5a2ca52d_d90aee89","updated":"2015-10-17 01:44:11.000000000","message":"Done","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ab429892748e113db0bb53bdec42eeb9833019ce","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                                                  \u0027conductors\u0027))"},{"line_number":574,"context_line":"            self._client.create(k_paths.join(self.entity_path,"},{"line_number":575,"context_line":"                                             \u0027conductors\u0027,"},{"line_number":576,"context_line":"                                             conductor_name),"},{"line_number":577,"context_line":"                                value \u003d misc.binary_encode("},{"line_number":578,"context_line":"                                    jsonutils.dumps(entity_info.to_dict())),"},{"line_number":579,"context_line":"                                ephemeral\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_59f7be8a","line":576,"updated":"2015-10-16 22:18:58.000000000","message":"Same as above, just use the type as the \u0027folder\u0027 name.","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"d11ab1acf3f5eb38e3c0f9d29fcdaa9826021ad2","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                                                  \u0027conductors\u0027))"},{"line_number":574,"context_line":"            self._client.create(k_paths.join(self.entity_path,"},{"line_number":575,"context_line":"                                             \u0027conductors\u0027,"},{"line_number":576,"context_line":"                                             conductor_name),"},{"line_number":577,"context_line":"                                value \u003d misc.binary_encode("},{"line_number":578,"context_line":"                                    jsonutils.dumps(entity_info.to_dict())),"},{"line_number":579,"context_line":"                                ephemeral\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_8ab5f27e","line":576,"in_reply_to":"5a2ca52d_59f7be8a","updated":"2015-10-17 01:44:11.000000000","message":"Done.\nMade it so that it will look like \n/entity/conductors/\u003cconductor_name\u003e, how does this look ?","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"7abeaa0e3a9791a01a1a5bbf35bac5ea33715c59","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        return (misc.decode_json(lock_data), lock_stat,"},{"line_number":565,"context_line":"                misc.decode_json(job_data), job_stat)"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"    def register_entity(self, entity_info):"},{"line_number":568,"context_line":"        entity_type \u003d entity_info.kind"},{"line_number":569,"context_line":"        if entity_type \u003d\u003d \u0027conductor\u0027:"},{"line_number":570,"context_line":"            entity_path \u003d k_paths.join(self.entity_path, entity_type)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_0018751c","line":567,"updated":"2015-10-19 18:24:54.000000000","message":"Change \u0027entity_info\u0027 -\u003e \u0027entity\u0027 to be consistent with the parent abstractmethod.","commit_id":"7e0ada4f4ceca1947be733c80bbdd3bea500a5d5"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"7abeaa0e3a9791a01a1a5bbf35bac5ea33715c59","unresolved":false,"context_lines":[{"line_number":578,"context_line":"                                ephemeral\u003dTrue)"},{"line_number":579,"context_line":"        else:"},{"line_number":580,"context_line":"            raise excp.NotImplementedError("},{"line_number":581,"context_line":"                \"Not implemented for other entity type...\")"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    @base.check_who"},{"line_number":584,"context_line":"    def consume(self, job, who):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_008e3578","line":581,"updated":"2015-10-19 18:24:54.000000000","message":"How about the following:\n\n\"Not implemented for other entity type \u0027%s\u0027\" % entity_type\n\nThat way when someone logs/reads this exception they can at least figure out what the bad entity kind was.","commit_id":"7e0ada4f4ceca1947be733c80bbdd3bea500a5d5"}],"taskflow/jobs/base.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"fd4ccbdd42842ec124894ee638051356833bc9b9","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        "},{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_conductor(conduct_info):"},{"line_number":391,"context_line":"        \"\"\"Register a conductor to the jobboard(\u0027s backend)\"\"\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    @abc.abstractproperty"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_28f6cf8f","line":390,"updated":"2015-10-13 22:10:03.000000000","message":"What about calling this `register_entity(self, entity_info)`\n\nor maybe better named `register_associate` (I\u0027m not sure on a good name, ha).\n\nSo that it can be used to associate arbitrary entities (primarily conductors) with the jobboard?","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"6c0e99a220c27bbd100e69ca3d815c7f524d548a","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        "},{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_conductor(conduct_info):"},{"line_number":391,"context_line":"        \"\"\"Register a conductor to the jobboard(\u0027s backend)\"\"\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    @abc.abstractproperty"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_5338373d","line":390,"in_reply_to":"5a2ca52d_28f6cf8f","updated":"2015-10-15 20:24:38.000000000","message":"Done","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"fd4ccbdd42842ec124894ee638051356833bc9b9","unresolved":false,"context_lines":[{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_conductor(conduct_info):"},{"line_number":391,"context_line":"        \"\"\"Register a conductor to the jobboard(\u0027s backend)\"\"\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    @abc.abstractproperty"},{"line_number":394,"context_line":"    def connected(self):"},{"line_number":395,"context_line":"        \"\"\"Returns if this jobboard is connected.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_68036774","line":392,"updated":"2015-10-13 22:10:03.000000000","message":"Do u want a iterator over registered \u0027entities\u0027 as well?","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"6c0e99a220c27bbd100e69ca3d815c7f524d548a","unresolved":false,"context_lines":[{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_conductor(conduct_info):"},{"line_number":391,"context_line":"        \"\"\"Register a conductor to the jobboard(\u0027s backend)\"\"\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    @abc.abstractproperty"},{"line_number":394,"context_line":"    def connected(self):"},{"line_number":395,"context_line":"        \"\"\"Returns if this jobboard is connected.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_330a5b7a","line":392,"in_reply_to":"5a2ca52d_68036774","updated":"2015-10-15 20:24:38.000000000","message":"So far, I just need to implement the entity to be conductor. Later we can revisit the iterator over registered \u0027entities\u0027.","commit_id":"41d485c9c6b75449d90a0240df1b6b3c4e3d2b47"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"3f925b970be684d449561a2ac67151fedf12dbdf","unresolved":false,"context_lines":[{"line_number":385,"context_line":"        :param who: string that names the entity performing the trashing,"},{"line_number":386,"context_line":"            this must be the same name that was used for claiming this job."},{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        "},{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_entity(entity_info):"},{"line_number":391,"context_line":"        \"\"\"Register an entity to the jobboard(\u0027s backend), e.g: a conductor\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_dc49b361","line":388,"updated":"2015-10-15 21:55:51.000000000","message":"Whitespace, and make method signature:\n\n  @abc.abstractmethod\n  def register_entity(self, entity_info):","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"3a6e0ea3358687c5256668d776874679fae07bac","unresolved":false,"context_lines":[{"line_number":385,"context_line":"        :param who: string that names the entity performing the trashing,"},{"line_number":386,"context_line":"            this must be the same name that was used for claiming this job."},{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        "},{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_entity(entity_info):"},{"line_number":391,"context_line":"        \"\"\"Register an entity to the jobboard(\u0027s backend), e.g: a conductor\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_42a37a00","line":388,"in_reply_to":"5a2ca52d_dc49b361","updated":"2015-10-15 22:53:34.000000000","message":"Done","commit_id":"abfa7dd7bbc349c08d9a7f8474535d85520be62c"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"dedc0cbcf4d7f75b57cbc6856a8788ef74bd4ba8","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_entity(self, entity_info):"},{"line_number":391,"context_line":"        \"\"\"Register an entity to the jobboard(\u0027s backend), e.g: a conductor\"\"\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    @abc.abstractproperty"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_593ede28","line":390,"updated":"2015-10-16 22:21:35.000000000","message":"How about just name this:\n\n  def register_entity(self, entity)\n\nSince its now expecting a entity object/instance.","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"d11ab1acf3f5eb38e3c0f9d29fcdaa9826021ad2","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    @abc.abstractmethod"},{"line_number":390,"context_line":"    def register_entity(self, entity_info):"},{"line_number":391,"context_line":"        \"\"\"Register an entity to the jobboard(\u0027s backend), e.g: a conductor\"\"\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    @abc.abstractproperty"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_6aaf362a","line":390,"in_reply_to":"5a2ca52d_593ede28","updated":"2015-10-17 01:44:11.000000000","message":"Done","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"}],"taskflow/types/entity.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"1b35ffa4b8fcc8253f573168af6261bd4f5bb56c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class Entity(object):"},{"line_number":19,"context_line":"    def __init__(self, type, name, metadata):"},{"line_number":20,"context_line":"        self.type \u003d type"},{"line_number":21,"context_line":"        self.name \u003d name"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_a2192ed9","line":18,"updated":"2015-10-15 23:12:27.000000000","message":"Cool a docstring would be great :)","commit_id":"33763b8276cffd185ca60a4e6fd62ea8ce162a88"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"deab4c2f033e214acbe70cf263ee3b4df4310752","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class Entity(object):"},{"line_number":19,"context_line":"    def __init__(self, type, name, metadata):"},{"line_number":20,"context_line":"        self.type \u003d type"},{"line_number":21,"context_line":"        self.name \u003d name"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_f98faa72","line":18,"in_reply_to":"5a2ca52d_a2192ed9","updated":"2015-10-16 22:15:14.000000000","message":"Done","commit_id":"33763b8276cffd185ca60a4e6fd62ea8ce162a88"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9477d9235ea7e8152d6b153892239129147c3b07","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class Entity(object):"},{"line_number":19,"context_line":"    def __init__(self, type, name, metadata):"},{"line_number":20,"context_line":"        self.type \u003d type"},{"line_number":21,"context_line":"        self.name \u003d name"},{"line_number":22,"context_line":"        self.metadata \u003d metadata"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_a0fa6573","line":19,"updated":"2015-10-16 15:29:46.000000000","message":"Also thinking we should call this \u0027kind\u0027 vs \u0027type\u0027 since type is a keyword in python and might confuse people if we use it. Seem ok?","commit_id":"33763b8276cffd185ca60a4e6fd62ea8ce162a88"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"deab4c2f033e214acbe70cf263ee3b4df4310752","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class Entity(object):"},{"line_number":19,"context_line":"    def __init__(self, type, name, metadata):"},{"line_number":20,"context_line":"        self.type \u003d type"},{"line_number":21,"context_line":"        self.name \u003d name"},{"line_number":22,"context_line":"        self.metadata \u003d metadata"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_195dc614","line":19,"in_reply_to":"5a2ca52d_a0fa6573","updated":"2015-10-16 22:15:14.000000000","message":"Done","commit_id":"33763b8276cffd185ca60a4e6fd62ea8ce162a88"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"dedc0cbcf4d7f75b57cbc6856a8788ef74bd4ba8","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    "},{"line_number":21,"context_line":"    Now only supports e_type of \u0027conductor\u0027."},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":"    def __init__(self, e_type, name, metadata):"},{"line_number":24,"context_line":"        self.type \u003d e_type"},{"line_number":25,"context_line":"        self.name \u003d name"},{"line_number":26,"context_line":"        self.metadata \u003d metadata"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_b9637241","line":23,"updated":"2015-10-16 22:21:35.000000000","message":"Ya hmmm, how about just name this \u0027kind\u0027 instead of \u0027type\u0027 and worrying about \u0027e_type\u0027 and all this.","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"d11ab1acf3f5eb38e3c0f9d29fcdaa9826021ad2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    "},{"line_number":21,"context_line":"    Now only supports e_type of \u0027conductor\u0027."},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":"    def __init__(self, e_type, name, metadata):"},{"line_number":24,"context_line":"        self.type \u003d e_type"},{"line_number":25,"context_line":"        self.name \u003d name"},{"line_number":26,"context_line":"        self.metadata \u003d metadata"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_8a6c1209","line":23,"in_reply_to":"5a2ca52d_b9637241","updated":"2015-10-17 01:44:11.000000000","message":"Done","commit_id":"64849339d9ff19f4d56fa9a540a03cf478666ee6"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"36be46c0fdd077a990088b3fc9fa0149b6079280","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#    Copyright (C) 2015 Yahoo! Inc. All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_1e2b2a84","line":3,"updated":"2015-10-18 01:34:20.000000000","message":"seems a copy/paste :)","commit_id":"b675eea18cf8eff4488ca2e9c405ce492223bfbc"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"b700aa72f56b769edd890ed607f511f5a4d99f0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#    Copyright (C) 2015 Yahoo! Inc. All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_de87f2d5","line":3,"in_reply_to":"3a29b11f_1e2b2a84","updated":"2015-10-18 02:22:45.000000000","message":"I actually changed the year. Am I suppose to change to a different company name or something ? Let me know.","commit_id":"b675eea18cf8eff4488ca2e9c405ce492223bfbc"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"c8bef06767ce47cfa5a87273dde416aa2fdbbcc8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#    Copyright (C) 2015 Yahoo! Inc. All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_692f03a2","line":3,"in_reply_to":"3a29b11f_3e586656","updated":"2015-10-18 21:29:03.000000000","message":"Yes. Did not know if the company should go to the repo owner\u0027s company or the actual commiter\u0027s company. Seems to be the latter case..","commit_id":"b675eea18cf8eff4488ca2e9c405ce492223bfbc"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"0a56a1f8d597ad3ac4e7aad68f7f8ecd8a9a5b69","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#    Copyright (C) 2015 Yahoo! Inc. All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_3e586656","line":3,"in_reply_to":"3a29b11f_de87f2d5","updated":"2015-10-18 03:24:55.000000000","message":"I thought you work for rackspace?","commit_id":"b675eea18cf8eff4488ca2e9c405ce492223bfbc"}]}
