)]}'
{"doc/source/configuration.rst":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":158,"context_line":"          project_name: demo"},{"line_number":159,"context_line":"          username: demo"},{"line_number":160,"context_line":"          password: 0penstack"},{"line_number":161,"context_line":"        region_name: RegionOne"},{"line_number":162,"context_line":"        cli_logging:"},{"line_number":163,"context_line":"          logging: TRUE"},{"line_number":164,"context_line":"          file: /tmp/openstackclient_demo.log"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ed33fcf4","line":161,"updated":"2015-07-24 20:40:40.000000000","message":"I think setting debug or verbose_level in the clouds.yaml might change logging too, no positive.\n\nI wonder about the name cli_logging.  I\u0027d like to hear other opinions on that.","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":158,"context_line":"          project_name: demo"},{"line_number":159,"context_line":"          username: demo"},{"line_number":160,"context_line":"          password: 0penstack"},{"line_number":161,"context_line":"        region_name: RegionOne"},{"line_number":162,"context_line":"        cli_logging:"},{"line_number":163,"context_line":"          logging: TRUE"},{"line_number":164,"context_line":"          file: /tmp/openstackclient_demo.log"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ecbd17d8","line":161,"in_reply_to":"3a50d1a3_ed33fcf4","updated":"2015-07-27 10:23:27.000000000","message":"I have implemented this on the basis of the concept, like following:\n\n When both --log-file/--verbose/--debug and --os-cloud are specified, it give priority to --os-cloud.\n\nThis is a way of thinking same as existing parameters.\n\n When both --os-username/--os-password/--os-auth-url/--os-project-name and --os-cloud are specified, it give priority to --os-cloud.\n\nShould I distinguish cli_logging(I\u0027ll change this name) from debug or verbose_level in the clouds.yaml?","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":176,"context_line":"          log_level: debug"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":":dfn:`logging`: True|False"},{"line_number":179,"context_line":"    If it is not set, or set false, or other values are set, the logging disable."},{"line_number":180,"context_line":":dfn:`file`: \u003c/path/file-name\u003e"},{"line_number":181,"context_line":"    Set full-path of CLI logging file."},{"line_number":182,"context_line":":dfn:`log_level`: info|debug"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ad4c1477","line":179,"updated":"2015-07-24 20:40:40.000000000","message":"How about just \u0027If set to `True`, logging is enabled.`","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":176,"context_line":"          log_level: debug"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":":dfn:`logging`: True|False"},{"line_number":179,"context_line":"    If it is not set, or set false, or other values are set, the logging disable."},{"line_number":180,"context_line":":dfn:`file`: \u003c/path/file-name\u003e"},{"line_number":181,"context_line":"    Set full-path of CLI logging file."},{"line_number":182,"context_line":":dfn:`log_level`: info|debug"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_6ccd875c","line":179,"in_reply_to":"3a50d1a3_ad4c1477","updated":"2015-07-27 10:23:27.000000000","message":"That sounds nice.\nI modify that according to your comment.","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":180,"context_line":":dfn:`file`: \u003c/path/file-name\u003e"},{"line_number":181,"context_line":"    Set full-path of CLI logging file."},{"line_number":182,"context_line":":dfn:`log_level`: info|debug"},{"line_number":183,"context_line":"    If log level is not set, or other value set, that set warning level(default)."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"The recorded information includes following;"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_6d560c08","line":183,"updated":"2015-07-24 20:40:40.000000000","message":"Wouldn\u0027t error be an option?","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":180,"context_line":":dfn:`file`: \u003c/path/file-name\u003e"},{"line_number":181,"context_line":"    Set full-path of CLI logging file."},{"line_number":182,"context_line":":dfn:`log_level`: info|debug"},{"line_number":183,"context_line":"    If log level is not set, or other value set, that set warning level(default)."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"The recorded information includes following;"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_eccaf719","line":183,"in_reply_to":"3a50d1a3_6d560c08","updated":"2015-07-27 10:23:27.000000000","message":"Thank you for your comment.\nI\u0027d like to add \u0027error\u0027 option,","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"and, more info messages."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"If log level is \"debug\"t, following items are logged;"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"* cloud name"},{"line_number":202,"context_line":"* user name"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ed4a1c55","line":199,"updated":"2015-07-24 20:40:40.000000000","message":"extraneous \u0027t\u0027 after \"debug\"","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"and, more info messages."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"If log level is \"debug\"t, following items are logged;"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"* cloud name"},{"line_number":202,"context_line":"* user name"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ecf1976b","line":199,"in_reply_to":"3a50d1a3_ed4a1c55","updated":"2015-07-27 10:23:27.000000000","message":"Done","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":224,"context_line":"*  -q, --quiet"},{"line_number":225,"context_line":"*  --debug"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"If both `--log-file` and `--os-cloud` are specified, the `--os-cloud` option takes priority."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_2d6804ba","line":227,"updated":"2015-07-24 20:40:40.000000000","message":"The command line option --log-file should take precedence.","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a2ccebf20fd1aa0a0ba018eabe46080c8db7749f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1a4dcd0f_d22e3b8b","updated":"2015-08-07 03:47:15.000000000","message":"i cleaned up the language and formatting for this doc update","commit_id":"6f93f04bbf23050912748aa432810cec6f130097"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"2bb6f4dabc22dfa578a2776288f77acab093b128","unresolved":false,"context_lines":[{"line_number":174,"context_line":"          level: debug"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":":dfn:`logging`: ``True`` | ``False``"},{"line_number":177,"context_line":"    If set to ``True``, logging is enabled."},{"line_number":178,"context_line":":dfn:`file`: ``\u003c/path/file-name\u003e``"},{"line_number":179,"context_line":"    Full path to logging file."},{"line_number":180,"context_line":":dfn:`level`: ``error`` | ``info`` | ``debug``"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_9155f1fa","line":177,"updated":"2015-08-08 16:01:24.000000000","message":"Nothing gets done if log_file is not set, so this is not needed.","commit_id":"0dafbdd69cd80cb55db4a0b566f2610392e115b9"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"2bb6f4dabc22dfa578a2776288f77acab093b128","unresolved":false,"context_lines":[{"line_number":176,"context_line":":dfn:`logging`: ``True`` | ``False``"},{"line_number":177,"context_line":"    If set to ``True``, logging is enabled."},{"line_number":178,"context_line":":dfn:`file`: ``\u003c/path/file-name\u003e``"},{"line_number":179,"context_line":"    Full path to logging file."},{"line_number":180,"context_line":":dfn:`level`: ``error`` | ``info`` | ``debug``"},{"line_number":181,"context_line":"    If log level is not set, ``warning`` will be used."},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_d1a379b0","line":179,"updated":"2015-08-08 16:01:24.000000000","message":"The undocumented existing value is log_file","commit_id":"0dafbdd69cd80cb55db4a0b566f2610392e115b9"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"2bb6f4dabc22dfa578a2776288f77acab093b128","unresolved":false,"context_lines":[{"line_number":178,"context_line":":dfn:`file`: ``\u003c/path/file-name\u003e``"},{"line_number":179,"context_line":"    Full path to logging file."},{"line_number":180,"context_line":":dfn:`level`: ``error`` | ``info`` | ``debug``"},{"line_number":181,"context_line":"    If log level is not set, ``warning`` will be used."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"If log level is ``info``, the following information is recorded:"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_71cf0556","line":181,"updated":"2015-08-08 16:01:24.000000000","message":"The undocumented existing value for this is verbose_level","commit_id":"0dafbdd69cd80cb55db4a0b566f2610392e115b9"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"2bb6f4dabc22dfa578a2776288f77acab093b128","unresolved":false,"context_lines":[{"line_number":218,"context_line":"*  `-q, --quiet`"},{"line_number":219,"context_line":"*  `--debug`"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"If both `--log-file` and `--os-cloud` are specified, the log is output to both"},{"line_number":222,"context_line":"files."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_42646248","line":221,"updated":"2015-08-08 16:01:24.000000000","message":"I\u0027d like to not say this for now.  It is a bit confusing because it makes it sound as if the --os-cloud option sets logging and I\u0027d like to combine the functionality of log-file for both the cli option and configuration.","commit_id":"0dafbdd69cd80cb55db4a0b566f2610392e115b9"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"863f3527883749689f6db449e7f4c2504c957595","unresolved":false,"context_lines":[{"line_number":175,"context_line":":dfn:`log_file`: ``\u003c/path/file-name\u003e``"},{"line_number":176,"context_line":"    Full path to logging file."},{"line_number":177,"context_line":":dfn:`log_level`: ``error`` | ``info`` | ``debug``"},{"line_number":178,"context_line":"    If log level is not set, ``warning`` will be used."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"If log level is ``info``, the following information is recorded:"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a4dcd0f_991c1c6c","line":178,"updated":"2015-08-08 16:05:23.000000000","message":"well, I kept that.  I think the \u0027error\u0027, \u0027info, \u0027debug\u0027 is a lot more user friendly than 1, 2, 3","commit_id":"e23dd6de5854fcc8ff76fe1b51eb46162770d9cc"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f83d92c46b58efd45f68ba85d5bf5283e97ae42f","unresolved":false,"context_lines":[{"line_number":175,"context_line":":dfn:`log_file`: ``\u003c/path/file-name\u003e``"},{"line_number":176,"context_line":"    Full path to logging file."},{"line_number":177,"context_line":":dfn:`log_level`: ``error`` | ``info`` | ``debug``"},{"line_number":178,"context_line":"    If log level is not set, ``warning`` will be used."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"If log level is ``info``, the following information is recorded:"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"da20952f_3f26bd68","line":178,"in_reply_to":"1a4dcd0f_991c1c6c","updated":"2015-09-03 17:41:28.000000000","message":"If warning is a valid value, it needs to be listed here.","commit_id":"e23dd6de5854fcc8ff76fe1b51eb46162770d9cc"}],"doc/source/man/openstack.rst":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":132,"context_line":":option:`-q, --quiet`"},{"line_number":133,"context_line":"    suppress output except warnings and errors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":":option:`--debug`"},{"line_number":136,"context_line":"    show tracebacks on errors"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"COMMANDS"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_1cee9cec","line":135,"updated":"2015-07-24 20:40:40.000000000","message":"For OSC, debug sets verbosity to 3","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":132,"context_line":":option:`-q, --quiet`"},{"line_number":133,"context_line":"    suppress output except warnings and errors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":":option:`--debug`"},{"line_number":136,"context_line":"    show tracebacks on errors"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"COMMANDS"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ec4d179a","line":135,"in_reply_to":"3a50d1a3_1cee9cec","updated":"2015-07-27 10:23:27.000000000","message":"I\u0027d like to add \u0027:option:`-v -v -v`\u0027 between line.135 and line.136","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Logging Settings"},{"line_number":256,"context_line":"----------------"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"By setting as follows, each user can specify a log-file."},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_4dac70ed","line":257,"updated":"2015-07-24 20:40:40.000000000","message":"Maybe just a link to the log settings in configuration","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Logging Settings"},{"line_number":256,"context_line":"----------------"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"By setting as follows, each user can specify a log-file."},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_2c545f1f","line":257,"in_reply_to":"3a50d1a3_4dac70ed","updated":"2015-07-27 10:23:27.000000000","message":"I modify that according to your comment.","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"2bb6f4dabc22dfa578a2776288f77acab093b128","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    suppress output except warnings and errors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":":option:`--debug`"},{"line_number":136,"context_line":":option:`-v -v -v`"},{"line_number":137,"context_line":"    show tracebacks on errors"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"COMMANDS"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_b1f4adf0","line":136,"updated":"2015-08-08 16:01:24.000000000","message":"The --debug sets verbosity to 3, but setting verbosity to 3 doesn\u0027t enable traceback.","commit_id":"0dafbdd69cd80cb55db4a0b566f2610392e115b9"}],"openstackclient/common/context.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3a50d1a3_6efcf13e","updated":"2015-07-20 04:09:08.000000000","message":"I would like to see DocStrings for all public interfaces.\n\nas it stands, I have no idea how to use these functions without having to go through each line of code.","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3a50d1a3_251009a8","in_reply_to":"3a50d1a3_6efcf13e","updated":"2015-07-21 10:26:28.000000000","message":"Thank you for your comment!\n\nThat is as you pointed out. I want to add \"DocStrings\".","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"CLI_LOG_MESSAGE_FORMAT \u003d \u0027%(asctime)s.%(msecs)03d %(process)d \u0027 \\"},{"line_number":19,"context_line":"                         \u0027%(levelname)s %(name)s [%(clouds_name)s \u0027 \\"},{"line_number":20,"context_line":"                         \u0027%(username)s %(project_name)s] %(message)s\u0027"},{"line_number":21,"context_line":"CLI_LOG_DATE_FORMAT \u003d \u0027%Y-%m-%d %H:%M:%S\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_4e9a5516","line":18,"updated":"2015-07-20 04:09:08.000000000","message":"make this private","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"CLI_LOG_MESSAGE_FORMAT \u003d \u0027%(asctime)s.%(msecs)03d %(process)d \u0027 \\"},{"line_number":19,"context_line":"                         \u0027%(levelname)s %(name)s [%(clouds_name)s \u0027 \\"},{"line_number":20,"context_line":"                         \u0027%(username)s %(project_name)s] %(message)s\u0027"},{"line_number":21,"context_line":"CLI_LOG_DATE_FORMAT \u003d \u0027%Y-%m-%d %H:%M:%S\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_2a0d3837","line":18,"in_reply_to":"3a50d1a3_4e9a5516","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":18,"context_line":"CLI_LOG_MESSAGE_FORMAT \u003d \u0027%(asctime)s.%(msecs)03d %(process)d \u0027 \\"},{"line_number":19,"context_line":"                         \u0027%(levelname)s %(name)s [%(clouds_name)s \u0027 \\"},{"line_number":20,"context_line":"                         \u0027%(username)s %(project_name)s] %(message)s\u0027"},{"line_number":21,"context_line":"CLI_LOG_DATE_FORMAT \u003d \u0027%Y-%m-%d %H:%M:%S\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def _add_handler(logger, handler):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_ee9ec106","line":21,"updated":"2015-07-20 04:09:08.000000000","message":"make this private","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"CLI_LOG_MESSAGE_FORMAT \u003d \u0027%(asctime)s.%(msecs)03d %(process)d \u0027 \\"},{"line_number":19,"context_line":"                         \u0027%(levelname)s %(name)s [%(clouds_name)s \u0027 \\"},{"line_number":20,"context_line":"                         \u0027%(username)s %(project_name)s] %(message)s\u0027"},{"line_number":21,"context_line":"CLI_LOG_DATE_FORMAT \u003d \u0027%Y-%m-%d %H:%M:%S\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def _add_handler(logger, handler):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_8a1ecc61","line":21,"in_reply_to":"3a50d1a3_ee9ec106","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    return handler"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"def setup_cli_logging(OSShell, cloud_config):"},{"line_number":61,"context_line":"        cli_log_level \u003d logging.WARNING"},{"line_number":62,"context_line":"        cli_log_file \u003d None"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_8e461dbe","line":60,"updated":"2015-07-20 04:09:08.000000000","message":"change OSShell to just \u0027shell\u0027","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    return handler"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"def setup_cli_logging(OSShell, cloud_config):"},{"line_number":61,"context_line":"        cli_log_level \u003d logging.WARNING"},{"line_number":62,"context_line":"        cli_log_file \u003d None"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_aa19487b","line":60,"in_reply_to":"3a50d1a3_8e461dbe","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"def setup_cli_logging(OSShell, cloud_config):"},{"line_number":61,"context_line":"        cli_log_level \u003d logging.WARNING"},{"line_number":62,"context_line":"        cli_log_file \u003d None"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        def _get_value(cc, attr, str):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_ae02f93c","line":61,"updated":"2015-07-20 04:09:08.000000000","message":"the indenting in this function is off, everything is +4 spaces","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"def setup_cli_logging(OSShell, cloud_config):"},{"line_number":61,"context_line":"        cli_log_level \u003d logging.WARNING"},{"line_number":62,"context_line":"        cli_log_file \u003d None"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        def _get_value(cc, attr, str):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_2a2458ad","line":61,"in_reply_to":"3a50d1a3_ae02f93c","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        def _get_logging(cc, str):"},{"line_number":74,"context_line":"            return _get_value(cc, \u0027cli_logging\u0027, str)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        if _get_config(cloud_config, \u0027cli_logging\u0027) \\"},{"line_number":77,"context_line":"           and _get_logging(cloud_config, \u0027logging\u0027) is True:"},{"line_number":78,"context_line":"            cli_log_file \u003d _get_logging(cloud_config, \u0027file\u0027)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_4e7ed5e5","line":76,"updated":"2015-07-20 04:09:08.000000000","message":"avoid using \\, use () instead","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        def _get_logging(cc, str):"},{"line_number":74,"context_line":"            return _get_value(cc, \u0027cli_logging\u0027, str)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        if _get_config(cloud_config, \u0027cli_logging\u0027) \\"},{"line_number":77,"context_line":"           and _get_logging(cloud_config, \u0027logging\u0027) is True:"},{"line_number":78,"context_line":"            cli_log_file \u003d _get_logging(cloud_config, \u0027file\u0027)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_ca3b74d0","line":76,"in_reply_to":"3a50d1a3_4e7ed5e5","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            return _get_value(cc, \u0027cli_logging\u0027, str)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        if _get_config(cloud_config, \u0027cli_logging\u0027) \\"},{"line_number":77,"context_line":"           and _get_logging(cloud_config, \u0027logging\u0027) is True:"},{"line_number":78,"context_line":"            cli_log_file \u003d _get_logging(cloud_config, \u0027file\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        if cli_log_file:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_0e88cde6","line":77,"updated":"2015-07-20 04:09:08.000000000","message":"is \"is True\" needed here? it should evaluate to True for anything that\u0027s not None","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            return _get_value(cc, \u0027cli_logging\u0027, str)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        if _get_config(cloud_config, \u0027cli_logging\u0027) \\"},{"line_number":77,"context_line":"           and _get_logging(cloud_config, \u0027logging\u0027) is True:"},{"line_number":78,"context_line":"            cli_log_file \u003d _get_logging(cloud_config, \u0027file\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        if cli_log_file:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_e56ea195","line":77,"in_reply_to":"3a50d1a3_0e88cde6","updated":"2015-07-21 10:26:28.000000000","message":"I want to treat \"logging\" as Boolean, but it can set other words, too. \n\nit seems to be a better method, I\u0027ll have a think about it.","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                _add_handler(OSShell.cli_logger, cli_log_handler)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"class LogContext(object):"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def __init__(self, clouds_name\u003dNone, project_name\u003dNone, username\u003dNone):"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_ce8665b9","line":107,"updated":"2015-07-20 04:09:08.000000000","message":"This class can be private","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                _add_handler(OSShell.cli_logger, cli_log_handler)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"class LogContext(object):"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def __init__(self, clouds_name\u003dNone, project_name\u003dNone, username\u003dNone):"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_452d1545","line":107,"in_reply_to":"3a50d1a3_ce8665b9","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        }"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"class LogContextFormatter(logging.Formatter):"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_6e9391fb","line":124,"updated":"2015-07-20 04:09:08.000000000","message":"this class can be made private","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        }"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"class LogContextFormatter(logging.Formatter):"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_252a492d","line":124,"in_reply_to":"3a50d1a3_6e9391fb","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":124,"context_line":"class LogContextFormatter(logging.Formatter):"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.context \u003d kwargs.pop(\u0027context\u0027, None)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        logging.Formatter.__init__(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_4e657543","line":127,"updated":"2015-07-20 04:09:08.000000000","message":"nit: remove new line","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":124,"context_line":"class LogContextFormatter(logging.Formatter):"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.context \u003d kwargs.pop(\u0027context\u0027, None)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        logging.Formatter.__init__(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_851b1d1b","line":127,"in_reply_to":"3a50d1a3_4e657543","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.context \u003d kwargs.pop(\u0027context\u0027, None)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        logging.Formatter.__init__(self, *args, **kwargs)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def format(self, record):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_ae543954","line":129,"updated":"2015-07-20 04:09:08.000000000","message":"nit: remove new line","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.context \u003d kwargs.pop(\u0027context\u0027, None)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        logging.Formatter.__init__(self, *args, **kwargs)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def format(self, record):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_a51659ef","line":129,"in_reply_to":"3a50d1a3_ae543954","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fa0f59ae8285b3fa9b14af39fce8132f608a4849","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    def _get_logging(cc, str):"},{"line_number":89,"context_line":"        return _get_value(cc, \u0027cli_logging\u0027, str)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    if (_get_config(cloud_config, \u0027cli_logging\u0027)"},{"line_number":92,"context_line":"       and str(_get_logging(cloud_config, \u0027logging\u0027)).lower() \u003d\u003d \"true\"):"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        cli_log_file \u003d _get_logging(cloud_config, \u0027file\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_6dc92cac","line":91,"updated":"2015-07-24 20:40:40.000000000","message":"Hmm, this is tricky because the CLI options will map to cloud_config.debug and cloud_config.verbose_level.  Maybe we should not try to do logging for a particular application here or we should change the names of the CLI options.","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"31d223af959aea510ded57bb8da90f18764f3e17","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    def _get_logging(cc, str):"},{"line_number":89,"context_line":"        return _get_value(cc, \u0027cli_logging\u0027, str)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    if (_get_config(cloud_config, \u0027cli_logging\u0027)"},{"line_number":92,"context_line":"       and str(_get_logging(cloud_config, \u0027logging\u0027)).lower() \u003d\u003d \"true\"):"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        cli_log_file \u003d _get_logging(cloud_config, \u0027file\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_4c0d2b3d","line":91,"in_reply_to":"3a50d1a3_6dc92cac","updated":"2015-07-27 10:23:27.000000000","message":"I understand. \n\nI\u0027ll have a think about it.","commit_id":"6a9faaf2a2424a40571f215318be32caec47cdda"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a2ccebf20fd1aa0a0ba018eabe46080c8db7749f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"_LOG_MESSAGE_FORMAT \u003d (\u0027%(asctime)s.%(msecs)03d %(process)d \u0027"},{"line_number":19,"context_line":"                       \u0027%(levelname)s %(name)s [%(clouds_name)s \u0027"},{"line_number":20,"context_line":"                       \u0027%(username)s %(project_name)s] %(message)s\u0027)"},{"line_number":21,"context_line":"_LOG_DATE_FORMAT \u003d (\u0027%Y-%m-%d %H:%M:%S\u0027)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def setup_handler_logging_level(handler_type, level):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_d245db42","line":21,"updated":"2015-08-07 03:47:15.000000000","message":"no need for ()\u0027s here","commit_id":"6f93f04bbf23050912748aa432810cec6f130097"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a2ccebf20fd1aa0a0ba018eabe46080c8db7749f","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    log_level \u003d logging.WARNING"},{"line_number":76,"context_line":"    log_file \u003d None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    ope_log \u003d cloud_config.config.get(\u0027operation_log\u0027, None)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if ope_log:"},{"line_number":81,"context_line":"        log_enable \u003d str(ope_log.get(\u0027logging\u0027)).lower()"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_12aee3e5","line":78,"updated":"2015-08-07 03:47:15.000000000","message":"changed ope_log to operation_log, because there\u0027s no reason to shorten it","commit_id":"6f93f04bbf23050912748aa432810cec6f130097"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"2bb6f4dabc22dfa578a2776288f77acab093b128","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            instance of the cloud specified by --os-cloud"},{"line_number":44,"context_line":"            in the configuration file"},{"line_number":45,"context_line":"        :return: None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        Following is a sample config file."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        cloud.yaml"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_d676f3d7","line":46,"updated":"2015-08-08 16:01:24.000000000","message":"I\u0027m just going to remove this for now to avoid the duplication.","commit_id":"0dafbdd69cd80cb55db4a0b566f2610392e115b9"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f83d92c46b58efd45f68ba85d5bf5283e97ae42f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # setup the logging level"},{"line_number":52,"context_line":"        get_log_level \u003d cloud_config.config.get(\u0027log_level\u0027)"},{"line_number":53,"context_line":"        if get_log_level:"},{"line_number":54,"context_line":"            log_level \u003d {"},{"line_number":55,"context_line":"                \u0027error\u0027: logging.ERROR,"},{"line_number":56,"context_line":"                \u0027info\u0027: logging.INFO,"},{"line_number":57,"context_line":"                \u0027debug\u0027: logging.DEBUG,"}],"source_content_type":"text/x-python","patch_set":9,"id":"da20952f_834d2b9b","line":54,"updated":"2015-09-03 17:41:28.000000000","message":"Again, need to include warning","commit_id":"e23dd6de5854fcc8ff76fe1b51eb46162770d9cc"}],"openstackclient/shell.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"f9e1f2930e2f6ad19446605e63fcf07995960249","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    return pw"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class CliLogContext(object):"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def __init__(self, clouds_name\u003dNone, project_name\u003dNone, username\u003dNone):"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        self.clouds_name \u003d clouds_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_e7111cb1","line":70,"updated":"2015-06-04 19:35:11.000000000","message":"It\u0027d be nice if you could pull these out into another file to reduce the churn on shell.py which is pretty bad.","commit_id":"95e99ee56c3e3725fd6107499c01217615ae1be7"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"0e64002e870a8fdfab2485c60158f8c0c738615b","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # For only CLI logging"},{"line_number":133,"context_line":"        self.cli_logger \u003d logging.getLogger(\"cli_logger\")"},{"line_number":134,"context_line":"        self.cli_logger.setLevel(logging.DEBUG)"},{"line_number":135,"context_line":"        self.cli_logger.propagate \u003d False"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def run(self, argv):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_ea6038d1","line":134,"updated":"2015-06-09 12:10:44.000000000","message":"I\u0027m probably just not awake enough to understand why level is set to debug here.","commit_id":"0052955db8874c03726ebff72f7db2106e8e3f38"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"72ee57e80dc4156511f2c8c63866e1949347ebb0","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # For only CLI logging"},{"line_number":133,"context_line":"        self.cli_logger \u003d logging.getLogger(\"cli_logger\")"},{"line_number":134,"context_line":"        self.cli_logger.setLevel(logging.DEBUG)"},{"line_number":135,"context_line":"        self.cli_logger.propagate \u003d False"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def run(self, argv):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_dc2e358b","line":134,"in_reply_to":"3afb71cf_ea6038d1","updated":"2015-06-10 10:52:13.000000000","message":"I\u0027ll have a think about it.","commit_id":"0052955db8874c03726ebff72f7db2106e8e3f38"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"0e64002e870a8fdfab2485c60158f8c0c738615b","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        cli_log_level \u003d logging.WARNING"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        def _get_value(cc, attr, str):"},{"line_number":350,"context_line":"            return getattr(cc, attr).get(str, None)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        def _get_auth(cc, str):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8af0a4ff","line":349,"updated":"2015-06-09 12:10:44.000000000","message":"Is there some reason these methods and the file handler weren\u0027t pushed to context.py?","commit_id":"0052955db8874c03726ebff72f7db2106e8e3f38"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"72ee57e80dc4156511f2c8c63866e1949347ebb0","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        cli_log_level \u003d logging.WARNING"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        def _get_value(cc, attr, str):"},{"line_number":350,"context_line":"            return getattr(cc, attr).get(str, None)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        def _get_auth(cc, str):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_82c976ae","line":349,"in_reply_to":"3afb71cf_8af0a4ff","updated":"2015-06-10 10:52:13.000000000","message":"I thought setup should be in this file.\nbut, there is no problem to set file handler in context.py.\nI\u0027ll change this.","commit_id":"0052955db8874c03726ebff72f7db2106e8e3f38"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        iso8601_log.setLevel(logging.ERROR)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        # For only CLI logging"},{"line_number":162,"context_line":"        self.cli_logger \u003d logging.getLogger(\"cli_logger\")"},{"line_number":163,"context_line":"        self.cli_logger.setLevel(logging.ERROR)"},{"line_number":164,"context_line":"        self.cli_logger.propagate \u003d False"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_6e81518f","line":162,"updated":"2015-07-20 04:09:08.000000000","message":"check if self.options.log_file: before entering here?","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        return clientmanager.build_plugin_option_parser(parser)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def initialize_app(self, argv, opt\u003dNone):"},{"line_number":254,"context_line":"        \"\"\"Global app init bits:"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        * set up API versions"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_8e2cddac","line":253,"updated":"2015-07-20 04:09:08.000000000","message":"i don\u0027t understand why this was added","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        return clientmanager.build_plugin_option_parser(parser)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def initialize_app(self, argv, opt\u003dNone):"},{"line_number":254,"context_line":"        \"\"\"Global app init bits:"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        * set up API versions"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_202a372d","line":253,"in_reply_to":"3a50d1a3_8e2cddac","updated":"2015-07-21 10:26:28.000000000","message":"I added this(opt) to output cmd-line options.\n\nbut, this argument is not good. I\u0027ll have a think about it.","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":297,"context_line":"            argparse\u003dself.options,"},{"line_number":298,"context_line":"        )"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        # Set up Every time record log in file and logging start"},{"line_number":301,"context_line":"        context.setup_cli_logging(self, self.cloud)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        self.log.info(\"START with options: %s\", opt)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_8e037d0f","line":300,"updated":"2015-07-20 04:09:08.000000000","message":"s/Every/every","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":297,"context_line":"            argparse\u003dself.options,"},{"line_number":298,"context_line":"        )"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        # Set up Every time record log in file and logging start"},{"line_number":301,"context_line":"        context.setup_cli_logging(self, self.cloud)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        self.log.info(\"START with options: %s\", opt)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_0027fb64","line":300,"in_reply_to":"3a50d1a3_8e037d0f","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        )"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        # Set up Every time record log in file and logging start"},{"line_number":301,"context_line":"        context.setup_cli_logging(self, self.cloud)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        self.log.info(\"START with options: %s\", opt)"},{"line_number":304,"context_line":"        self.log.debug(\"options: %s\", self.options)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_51043414","line":301,"updated":"2015-07-20 04:09:08.000000000","message":"check if self.options.log_file: before entering here?","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        )"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        # Set up Every time record log in file and logging start"},{"line_number":301,"context_line":"        context.setup_cli_logging(self, self.cloud)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        self.log.info(\"START with options: %s\", opt)"},{"line_number":304,"context_line":"        self.log.debug(\"options: %s\", self.options)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_af8393cb","line":301,"in_reply_to":"3a50d1a3_51043414","updated":"2015-07-21 10:26:28.000000000","message":"I think that it is not necessary.\n\nWhen both --log-file and --os-cloud are specified, it give priority to --os-cloud.\n\nThis is a way of thinking same as existing parameters.\n\nWhen both --os-username/--os-password/--os-auth-url/--os-project-name and --os-cloud are specified, it give priority to --os-cloud.","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a2ccebf20fd1aa0a0ba018eabe46080c8db7749f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        self.client_manager \u003d None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Operation log"},{"line_number":100,"context_line":"        self.ope_log_debug \u003d False"},{"line_number":101,"context_line":"        self.commnad_options \u003d None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def configure_logging(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_72ec072a","line":100,"updated":"2015-08-07 03:47:15.000000000","message":"changed to enable_operation_logging","commit_id":"6f93f04bbf23050912748aa432810cec6f130097"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a2ccebf20fd1aa0a0ba018eabe46080c8db7749f","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Operation log"},{"line_number":100,"context_line":"        self.ope_log_debug \u003d False"},{"line_number":101,"context_line":"        self.commnad_options \u003d None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def configure_logging(self):"},{"line_number":104,"context_line":"        \"\"\"Configure logging for the app"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_92ef531d","line":101,"updated":"2015-08-07 03:47:15.000000000","message":"changed to command_options","commit_id":"6f93f04bbf23050912748aa432810cec6f130097"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"75be5022cbe35adc6288a83527d5bb4f456d2a87","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                self.log.error(traceback.format_exc(e))"},{"line_number":177,"context_line":"            else:"},{"line_number":178,"context_line":"                self.log.error(\u0027Exception raised: \u0027 + str(e))"},{"line_number":179,"context_line":"                if self.enable_operation_logging:"},{"line_number":180,"context_line":"                    self.operation_log.error(traceback.format_exc(e))"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            return ret_val"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a4dcd0f_4cfed406","line":179,"updated":"2015-08-08 18:56:44.000000000","message":"i\u0027m wondering if we need this now? can\u0027t we just check self.options.log_file?","commit_id":"e23dd6de5854fcc8ff76fe1b51eb46162770d9cc"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"3e696f0e240401bcf339bd506bae18a479b6927a","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                self.log.error(traceback.format_exc(e))"},{"line_number":177,"context_line":"            else:"},{"line_number":178,"context_line":"                self.log.error(\u0027Exception raised: \u0027 + str(e))"},{"line_number":179,"context_line":"                if self.enable_operation_logging:"},{"line_number":180,"context_line":"                    self.operation_log.error(traceback.format_exc(e))"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            return ret_val"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a4dcd0f_ec3b2037","line":179,"in_reply_to":"1a4dcd0f_4cfed406","updated":"2015-08-08 21:13:25.000000000","message":"well, I guess self.cloud.config.get(\u0027log_file\u0027), but I think it is easier to leave this for now.  This could be implemented another way, but this works. I have code out there where I did this differently but they way it should be done is this should be on if self.cloud.get(\u0027debug\u0027) \u003d\u003d True, but getting debug out of the config file is broken right now.","commit_id":"e23dd6de5854fcc8ff76fe1b51eb46162770d9cc"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f83d92c46b58efd45f68ba85d5bf5283e97ae42f","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                \u0027interface\u0027: None,"},{"line_number":295,"context_line":"                \u0027auth_type\u0027: auth_type,"},{"line_number":296,"context_line":"                },"},{"line_number":297,"context_line":"            )"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        self.cloud \u003d cc.get_one_cloud("},{"line_number":300,"context_line":"            cloud\u003dself.options.cloud,"}],"source_content_type":"text/x-python","patch_set":9,"id":"da20952f_be8ba667","line":297,"updated":"2015-09-03 17:41:28.000000000","message":"indention is off here","commit_id":"e23dd6de5854fcc8ff76fe1b51eb46162770d9cc"}],"openstackclient/tests/common/test_context.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def tearDown(self):"},{"line_number":27,"context_line":"        super(TestContext, self).tearDown()"},{"line_number":28,"context_line":"        if os.path.exists(\"/tmp/test_cli_log_fil\"):"},{"line_number":29,"context_line":"            os.remove(\"/tmp/test_cli_log_fil\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_setup_handler(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_b113385c","line":28,"updated":"2015-07-20 04:09:08.000000000","message":"file*","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def tearDown(self):"},{"line_number":27,"context_line":"        super(TestContext, self).tearDown()"},{"line_number":28,"context_line":"        if os.path.exists(\"/tmp/test_cli_log_fil\"):"},{"line_number":29,"context_line":"            os.remove(\"/tmp/test_cli_log_fil\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_setup_handler(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_8f501760","line":28,"in_reply_to":"3a50d1a3_b113385c","updated":"2015-07-21 10:26:28.000000000","message":"Done","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0a9169401e78c57e74b6e529d1f5328fe20e4833","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    def tearDown(self):"},{"line_number":27,"context_line":"        super(TestContext, self).tearDown()"},{"line_number":28,"context_line":"        if os.path.exists(\"/tmp/test_cli_log_fil\"):"},{"line_number":29,"context_line":"            os.remove(\"/tmp/test_cli_log_fil\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_setup_handler(self):"},{"line_number":32,"context_line":"        logger \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_f11f8059","line":29,"updated":"2015-07-20 04:09:08.000000000","message":"save \"/tmp/test_cli_log_fil\" as a module level variable, so you don\u0027t have to repeat it every time.\n\n  TEST_CLI_LOG_FILE \u003d \"/tmp/test_cli_log_file\"","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"},{"author":{"_account_id":14162,"name":"Daisuke Fujita","email":"fuzita.daisuke@jp.fujitsu.com","username":"daisukefujita"},"change_message_id":"391269b3e3b5629d589f1bf2a5c46c5d7bf4f37a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    def tearDown(self):"},{"line_number":27,"context_line":"        super(TestContext, self).tearDown()"},{"line_number":28,"context_line":"        if os.path.exists(\"/tmp/test_cli_log_fil\"):"},{"line_number":29,"context_line":"            os.remove(\"/tmp/test_cli_log_fil\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_setup_handler(self):"},{"line_number":32,"context_line":"        logger \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_8f08172f","line":29,"in_reply_to":"3a50d1a3_f11f8059","updated":"2015-07-21 10:26:28.000000000","message":"Thank you for your comment.\n\nI modify that according to your comment.","commit_id":"383cfdf97a70665e5ee98bf651d35b96aaa94587"}]}
