)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"61d17900e9629e36dbb1b6de49cff7cefc831b5b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add importutils.import_any method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Method refactored from several dashboard projects."},{"line_number":10,"context_line":"Inclusion in oslo.utils.importutils will enable remove the duplicated"},{"line_number":11,"context_line":"code."},{"line_number":12,"context_line":"Replaced original RuntimeError expection with ImportError to be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_bba4f307","line":9,"range":{"start_line":9,"start_character":49,"end_line":9,"end_character":50},"updated":"2016-03-24 03:01:01.000000000","message":"better with some links to the common code.","commit_id":"9224ccaa7e472dbf27d3b185ca22470f52cabec3"}],"oslo_utils/importutils.py":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"61d17900e9629e36dbb1b6de49cff7cefc831b5b","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            return module"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    raise ImportError(\u0027Unable to import any modules from the list %s\u0027 %"},{"line_number":110,"context_line":"                      str(args))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_5bef971d","line":110,"range":{"start_line":110,"start_character":30,"end_line":110,"end_character":32},"updated":"2016-03-24 03:01:01.000000000","message":"I\u0027m not sure we should raise ImportError, If yes, we should edit method\u0027s docstring indicate what exception will be raised.","commit_id":"9224ccaa7e472dbf27d3b185ca22470f52cabec3"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"6703307c0479764bfea366013739fda40340da29","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    .. versionadded:: 3.8"},{"line_number":104,"context_line":"    \"\"\""},{"line_number":105,"context_line":"    if not modules:"},{"line_number":106,"context_line":"        raise ImportError(\u0027No modules specified for import\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    for module_name in modules:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_34a93e25","line":105,"updated":"2016-03-30 23:05:19.000000000","message":"So one way to avoid this is to do the following:\n\n  def import_any(module, *modules):\n\nThen in the iteration u can do\n\n   for module_name in (module,) + modules:\n\nThen u don\u0027t need this import error to be raised because one (or more) argument is always required.","commit_id":"18e008495337979fac853f031f75fda7781acc79"}]}
