)]}'
{"higgins/db/sqlalchemy/models.py":[{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"484a6b33c45f14c65cdfccc5242e9c4ab7c3f0e0","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        return d"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def save(self, session\u003dNone):"},{"line_number":88,"context_line":"        import higgins.db.sqlalchemy.api as db_api"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if session is None:"},{"line_number":91,"context_line":"            session \u003d db_api.get_session()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_1c314c0c","line":88,"range":{"start_line":88,"start_character":8,"end_line":88,"end_character":50},"updated":"2016-06-06 05:34:05.000000000","message":"Why do we have import statement here?","commit_id":"e9137fe43494530a498212fee3224a21d9a8bf8e"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"adc53bff7ba1621a33624e86f77471b4366506ae","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        return d"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def save(self, session\u003dNone):"},{"line_number":88,"context_line":"        import higgins.db.sqlalchemy.api as db_api"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if session is None:"},{"line_number":91,"context_line":"            session \u003d db_api.get_session()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_b2693f8e","line":88,"range":{"start_line":88,"start_character":8,"end_line":88,"end_character":50},"in_reply_to":"7aa08908_1c314c0c","updated":"2016-06-06 06:19:50.000000000","message":"I don\u0027t know why. But other projects do the it the same way in models.py and other files in the db directory. \nI used to ask the same question and it seems people have accepted it as a custom","commit_id":"e9137fe43494530a498212fee3224a21d9a8bf8e"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"13eebcd0b3bc51c8b7f6e88fa6f578ba5056bc8b","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        return d"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def save(self, session\u003dNone):"},{"line_number":88,"context_line":"        import higgins.db.sqlalchemy.api as db_api"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if session is None:"},{"line_number":91,"context_line":"            session \u003d db_api.get_session()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_16562729","line":88,"range":{"start_line":88,"start_character":8,"end_line":88,"end_character":50},"in_reply_to":"7aa08908_522618bb","updated":"2016-06-06 15:46:39.000000000","message":"It seems we have to import it here, otherwise, there is error:\n\n2016-06-06 10:41:43.090 23089 INFO eventlet.wsgi.server [req-61d153b3-4e98-4dff-85e8-8f6718718468 - - - - -] Traceback (most recent call last):\n  File \"/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py\", line 481, in handle_one_response\n    result \u003d self.application(self.environ, start_response)\n  File \"/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive.py\", line 56, in __call__\n    return self.application(environ, start_response)\n  File \"/home/ubuntu/higgins/higgins/api/middleware/parsable_error.py\", line 59, in __call__\n    app_iter \u003d self.app(environ, replacement_start_response)\n  File \"/usr/local/lib/python2.7/dist-packages/pecan/core.py\", line 829, in __call__\n    return super(Pecan, self).__call__(environ, start_response)\n  File \"/usr/local/lib/python2.7/dist-packages/pecan/core.py\", line 678, in __call__\n    self.invoke_controller(controller, args, kwargs, state)\n  File \"/usr/local/lib/python2.7/dist-packages/pecan/core.py\", line 572, in invoke_controller\n    result \u003d controller(*args, **kwargs)\n  File \"/home/ubuntu/higgins/higgins/api/controllers/v1/higgins_services.py\", line 125, in get_all\n    sort_dir\u003d\u0027asc\u0027)\n  File \"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/base.py\", line 181, in wrapper\n    result \u003d fn(cls, context, *args, **kwargs)\n  File \"/home/ubuntu/higgins/higgins/objects/higgins_service.py\", line 83, in list\n    db_higgins_services \u003d cls.dbapi.get_higgins_service_list(\n  File \"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py\", line 240, in __getattr__\n    self._load_backend()\n  File \"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py\", line 235, in _load_backend\n    backend_mod \u003d importutils.import_module(backend_path)\n  File \"/usr/local/lib/python2.7/dist-packages/oslo_utils/importutils.py\", line 73, in import_module\n    __import__(import_str)\n  File \"/home/ubuntu/higgins/higgins/db/sqlalchemy/api.py\", line 28, in \u003cmodule\u003e\n    from higgins.db.sqlalchemy import models\n  File \"/home/ubuntu/higgins/higgins/db/sqlalchemy/models.py\", line 33, in \u003cmodule\u003e\n    import higgins.db.sqlalchemy.api as db_api\nAttributeError: \u0027module\u0027 object has no attribute \u0027api\u0027","commit_id":"e9137fe43494530a498212fee3224a21d9a8bf8e"},{"author":{"_account_id":11034,"name":"Yanyan Hu","email":"huyanyan84@gmail.com","username":"yanyanhu"},"change_message_id":"5aabee3acb37ecf1c837e98e74bfdc98b150e646","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        return d"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def save(self, session\u003dNone):"},{"line_number":88,"context_line":"        import higgins.db.sqlalchemy.api as db_api"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if session is None:"},{"line_number":91,"context_line":"            session \u003d db_api.get_session()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_522618bb","line":88,"range":{"start_line":88,"start_character":8,"end_line":88,"end_character":50},"in_reply_to":"7aa08908_b2693f8e","updated":"2016-06-06 07:51:59.000000000","message":"Hi, WangJian, I have the same feeling as Madhuri... There are some discussion about import inside functions in stackoverflow. Although there is no consensus for this issue, most people suggest to import module at the beginning of the file if there is no special requirement for importing inside function. So maybe we can avoid this kind of usage by reorganizing the code slightly? Thanks :)","commit_id":"e9137fe43494530a498212fee3224a21d9a8bf8e"}]}
