)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"90ca471761e25a3f69ccca74dcf335ffc0b3cd6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3aaa91ec_9c0b152a","line":14,"updated":"2016-06-23 14:42:35.000000000","message":"Can you add: \nDepends-On: I5f4ec97b2082c8a6b3ccebe36b2a343fa4a67d19","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8a42deb59d49567eccf92f51a7a4616cdf99951a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch set adds support for continuous audit"},{"line_number":10,"context_line":"type and interval field to watcher-dashboard."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I5f4ec97b2082c8a6b3ccebe36b2a343fa4a67d19"},{"line_number":13,"context_line":"Change-Id: Ic05d7c5573413745e0d561b09b4ccc54e015b1cb"},{"line_number":14,"context_line":"Implements: blueprint continuously-optimization"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aa78d24_19ad0a9b","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":53},"updated":"2016-07-07 15:00:49.000000000","message":"Depends-On: I1152c9c6d9379e250ba46adbc58789d8b13bfd5a instead","commit_id":"32491b1087fb867a9cd04200342d6d2bc86070bc"}],"watcher_dashboard/api/watcher.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":49,"context_line":"class Audit(base.APIDictWrapper):"},{"line_number":50,"context_line":"    _attrs \u003d (\u0027uuid\u0027, \u0027created_at\u0027, \u0027modified_at\u0027, \u0027deleted_at\u0027,"},{"line_number":51,"context_line":"              \u0027deadline\u0027, \u0027state\u0027, \u0027type\u0027, \u0027audit_template_uuid\u0027,"},{"line_number":52,"context_line":"              \u0027audit_template_name\u0027, \u0027period\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def __init__(self, apiresource, request\u003dNone):"},{"line_number":55,"context_line":"        super(Audit, self).__init__(apiresource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_487ee219","line":52,"range":{"start_line":52,"start_character":38,"end_line":52,"end_character":44},"updated":"2016-07-06 14:50:40.000000000","message":"it has been renamed as \u0027interval\u0027 in Watcher so can you make the necessary changes?","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self._request \u003d request"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def create(cls, request, audit_template_uuid, type, deadline, period):"},{"line_number":60,"context_line":"        \"\"\"Create an audit in Watcher"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        :param request: request object"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_48a542a0","line":59,"range":{"start_line":59,"start_character":66,"end_line":59,"end_character":72},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        :param deadline: audit deadline:"},{"line_number":72,"context_line":"        :type  deadline: string"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        :param period: Audit period"},{"line_number":75,"context_line":"        :type  period: int"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        :return: the created Audit object"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_88abaa74","line":74,"range":{"start_line":74,"start_character":29,"end_line":74,"end_character":35},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":"        return watcherclient(request).audit.create("},{"line_number":81,"context_line":"            audit_template_uuid\u003daudit_template_uuid, type\u003dtype,"},{"line_number":82,"context_line":"            deadline\u003ddeadline, period\u003dperiod)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    @classmethod"},{"line_number":85,"context_line":"    def list(cls, request, audit_template_filter):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_08ae9a80","line":82,"range":{"start_line":82,"start_character":38,"end_line":82,"end_character":44},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"}],"watcher_dashboard/content/audits/forms.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                   }),"},{"line_number":44,"context_line":"                                   required\u003dTrue)"},{"line_number":45,"context_line":"    period_continuous \u003d forms.IntegerField(initial\u003d3600,"},{"line_number":46,"context_line":"                                           label\u003d_(\"Period\"),"},{"line_number":47,"context_line":"                                           help_text\u003d_(\"Period in seconds for \""},{"line_number":48,"context_line":"                                                       \"CONTINUOUS audit\"),"},{"line_number":49,"context_line":"                                           widget\u003dforms.TextInput(attrs\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_3f33f315","line":46,"range":{"start_line":46,"start_character":52,"end_line":46,"end_character":58},"updated":"2016-06-23 15:19:55.000000000","message":"can you also specify the unit? like:\nPeriod (in seconds)","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                               \u0027class\u0027: \u0027switched\u0027,"},{"line_number":51,"context_line":"                                               \u0027data-switch-on\u0027: \u0027audit_type\u0027,"},{"line_number":52,"context_line":"                                               \u0027data-audit_type-continuous\u0027:"},{"line_number":53,"context_line":"                                               _(\"Period\")}),"},{"line_number":54,"context_line":"                                           required\u003dTrue)"},{"line_number":55,"context_line":"    period_oneshot \u003d forms.IntegerField(initial\u003d0,"},{"line_number":56,"context_line":"                                        label\u003d_(\"Period\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_62a842dc","line":53,"range":{"start_line":53,"start_character":50,"end_line":53,"end_character":56},"updated":"2016-06-23 15:19:55.000000000","message":"ditto","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                               \u0027data-audit_type-continuous\u0027:"},{"line_number":53,"context_line":"                                               _(\"Period\")}),"},{"line_number":54,"context_line":"                                           required\u003dTrue)"},{"line_number":55,"context_line":"    period_oneshot \u003d forms.IntegerField(initial\u003d0,"},{"line_number":56,"context_line":"                                        label\u003d_(\"Period\"),"},{"line_number":57,"context_line":"                                        help_text\u003d_(\"For ONESHOT audit_type\""},{"line_number":58,"context_line":"                                                    \"period is not used\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_22bd9ab7","line":55,"range":{"start_line":55,"start_character":48,"end_line":55,"end_character":49},"updated":"2016-06-23 15:19:55.000000000","message":"Can\u0027t the initial value be None instead?","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"c3d3b544d10d0db74fb958b6ad4675bcc474af21","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                               \u0027data-audit_type-continuous\u0027:"},{"line_number":53,"context_line":"                                               _(\"Period\")}),"},{"line_number":54,"context_line":"                                           required\u003dTrue)"},{"line_number":55,"context_line":"    period_oneshot \u003d forms.IntegerField(initial\u003d0,"},{"line_number":56,"context_line":"                                        label\u003d_(\"Period\"),"},{"line_number":57,"context_line":"                                        help_text\u003d_(\"For ONESHOT audit_type\""},{"line_number":58,"context_line":"                                                    \"period is not used\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_313322ad","line":55,"range":{"start_line":55,"start_character":48,"end_line":55,"end_character":49},"in_reply_to":"3aaa91ec_22bd9ab7","updated":"2016-06-23 16:16:38.000000000","message":"I think no, because in the spec period can not be None.","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8868d2a9b6b2c7e5595cfd0cd92c9eb6cc20bb2a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                               \u0027data-audit_type-continuous\u0027:"},{"line_number":53,"context_line":"                                               _(\"Period\")}),"},{"line_number":54,"context_line":"                                           required\u003dTrue)"},{"line_number":55,"context_line":"    period_oneshot \u003d forms.IntegerField(initial\u003d0,"},{"line_number":56,"context_line":"                                        label\u003d_(\"Period\"),"},{"line_number":57,"context_line":"                                        help_text\u003d_(\"For ONESHOT audit_type\""},{"line_number":58,"context_line":"                                                    \"period is not used\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_86ae1b96","line":55,"range":{"start_line":55,"start_character":48,"end_line":55,"end_character":49},"in_reply_to":"3aaa91ec_313322ad","updated":"2016-06-23 16:30:46.000000000","message":"If you have a look at https://review.openstack.org/#/c/321411/6/watcher/db/sqlalchemy/models.py I see it can be nullable although there is a default value.\nAlso, I just made another run through the specs and can\u0027t find anything about whether the period should be nullable or not, so I would assume we can put it to null. What do you think?","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                                               _(\"Period\")}),"},{"line_number":54,"context_line":"                                           required\u003dTrue)"},{"line_number":55,"context_line":"    period_oneshot \u003d forms.IntegerField(initial\u003d0,"},{"line_number":56,"context_line":"                                        label\u003d_(\"Period\"),"},{"line_number":57,"context_line":"                                        help_text\u003d_(\"For ONESHOT audit_type\""},{"line_number":58,"context_line":"                                                    \"period is not used\"),"},{"line_number":59,"context_line":"                                        widget\u003dforms.TextInput(attrs\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_5fb99f78","line":56,"range":{"start_line":56,"start_character":49,"end_line":56,"end_character":55},"updated":"2016-06-23 15:19:55.000000000","message":"ditto","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                                            \u0027class\u0027: \u0027switched\u0027,"},{"line_number":62,"context_line":"                                            \u0027data-switch-on\u0027: \u0027audit_type\u0027,"},{"line_number":63,"context_line":"                                            \u0027data-audit_type-oneshot\u0027:"},{"line_number":64,"context_line":"                                            _(\"Period\")}),"},{"line_number":65,"context_line":"                                        required\u003dTrue)"},{"line_number":66,"context_line":"    failure_url \u003d \u0027horizon:admin:audits:index\u0027"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_22891a76","line":64,"range":{"start_line":64,"start_character":47,"end_line":64,"end_character":53},"updated":"2016-06-23 15:19:55.000000000","message":"ditto","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":33,"context_line":"class CreateForm(forms.SelfHandlingForm):"},{"line_number":34,"context_line":"    audit_template \u003d forms.ChoiceField(label\u003d_(\"Audit Template\"),"},{"line_number":35,"context_line":"                                       required\u003dTrue)"},{"line_number":36,"context_line":"    audit_type \u003d forms.ChoiceField(label\u003d_(\"Audit Type\"),"},{"line_number":37,"context_line":"                                   choices\u003d[(None, _(\"Select Audit Type\")),"},{"line_number":38,"context_line":"                                            (\u0027oneshot\u0027, _(\u0027ONESHOT\u0027)),"},{"line_number":39,"context_line":"                                            (\u0027continuous\u0027, _(\u0027CONTINUOUS\u0027))],"},{"line_number":40,"context_line":"                                   widget\u003dforms.Select(attrs\u003d{"},{"line_number":41,"context_line":"                                       \u0027class\u0027: \u0027switchable\u0027,"},{"line_number":42,"context_line":"                                       \u0027data-slug\u0027: \u0027audit_type\u0027"},{"line_number":43,"context_line":"                                   }),"},{"line_number":44,"context_line":"                                   required\u003dTrue)"},{"line_number":45,"context_line":"    period_continuous \u003d forms.IntegerField(initial\u003d3600,"},{"line_number":46,"context_line":"                                           label\u003d_(\"Period\"),"},{"line_number":47,"context_line":"                                           help_text\u003d_(\"Period in seconds for \""},{"line_number":48,"context_line":"                                                       \"CONTINUOUS audit\"),"},{"line_number":49,"context_line":"                                           widget\u003dforms.TextInput(attrs\u003d{"},{"line_number":50,"context_line":"                                               \u0027class\u0027: \u0027switched\u0027,"},{"line_number":51,"context_line":"                                               \u0027data-switch-on\u0027: \u0027audit_type\u0027,"},{"line_number":52,"context_line":"                                               \u0027data-audit_type-continuous\u0027:"},{"line_number":53,"context_line":"                                               _(\"Period\")}),"},{"line_number":54,"context_line":"                                           required\u003dTrue)"},{"line_number":55,"context_line":"    period_oneshot \u003d forms.IntegerField(initial\u003d0,"},{"line_number":56,"context_line":"                                        label\u003d_(\"Period\"),"},{"line_number":57,"context_line":"                                        help_text\u003d_(\"For ONESHOT audit_type\""},{"line_number":58,"context_line":"                                                    \"period is not used\"),"},{"line_number":59,"context_line":"                                        widget\u003dforms.TextInput(attrs\u003d{"},{"line_number":60,"context_line":"                                            \u0027readonly\u0027: \u0027readonly\u0027,"},{"line_number":61,"context_line":"                                            \u0027class\u0027: \u0027switched\u0027,"},{"line_number":62,"context_line":"                                            \u0027data-switch-on\u0027: \u0027audit_type\u0027,"},{"line_number":63,"context_line":"                                            \u0027data-audit_type-oneshot\u0027:"},{"line_number":64,"context_line":"                                            _(\"Period\")}),"},{"line_number":65,"context_line":"                                        required\u003dTrue)"},{"line_number":66,"context_line":"    failure_url \u003d \u0027horizon:admin:audits:index\u0027"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def __init__(self, request, *args, **kwargs):"},{"line_number":69,"context_line":"        super(CreateForm, self).__init__(request, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_d03c5cca","line":66,"range":{"start_line":36,"start_character":0,"end_line":66,"end_character":8},"updated":"2016-06-23 15:19:55.000000000","message":"IMHO, specifying periods in seconds is not user-friendly enough here. As an easy solution, I would argue we can use django\u0027s DurationField (see https://docs.djangoproject.com/en/1.8/ref/forms/fields/#django.forms.DurationField) to simplify the notation which we can then transform into seconds under the hood and vice-versa","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    def handle(self, request, data):"},{"line_number":96,"context_line":"        try:"},{"line_number":97,"context_line":"            params \u003d {\u0027audit_template_uuid\u0027: data[\u0027audit_template\u0027]}"},{"line_number":98,"context_line":"            params[\u0027type\u0027] \u003d data[\u0027audit_type\u0027].upper()"},{"line_number":99,"context_line":"            if data[\u0027audit_type\u0027] \u003d\u003d \u0027continuous\u0027:"},{"line_number":100,"context_line":"                params[\u0027period\u0027] \u003d data[\u0027period_continuous\u0027]"},{"line_number":101,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_7f0d7be7","line":98,"range":{"start_line":98,"start_character":47,"end_line":98,"end_character":55},"updated":"2016-06-23 15:19:55.000000000","message":"why not using uppercased values straight from the beginning?","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"c3d3b544d10d0db74fb958b6ad4675bcc474af21","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    def handle(self, request, data):"},{"line_number":96,"context_line":"        try:"},{"line_number":97,"context_line":"            params \u003d {\u0027audit_template_uuid\u0027: data[\u0027audit_template\u0027]}"},{"line_number":98,"context_line":"            params[\u0027type\u0027] \u003d data[\u0027audit_type\u0027].upper()"},{"line_number":99,"context_line":"            if data[\u0027audit_type\u0027] \u003d\u003d \u0027continuous\u0027:"},{"line_number":100,"context_line":"                params[\u0027period\u0027] \u003d data[\u0027period_continuous\u0027]"},{"line_number":101,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_111c2669","line":98,"range":{"start_line":98,"start_character":47,"end_line":98,"end_character":55},"in_reply_to":"3aaa91ec_7f0d7be7","updated":"2016-06-23 16:16:38.000000000","message":"I tried to do it , but it does not work . Perhaps the \"forms\" can not handle caps .","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                                       \u0027data-slug\u0027: \u0027audit_type\u0027"},{"line_number":43,"context_line":"                                   }),"},{"line_number":44,"context_line":"                                   required\u003dTrue)"},{"line_number":45,"context_line":"    period \u003d forms.DurationField(initial\u003d\"01:00:00\","},{"line_number":46,"context_line":"                                 label\u003d_(\"Period (format hh:mm:ss)\"),"},{"line_number":47,"context_line":"                                 help_text\u003d_(\"Period in format hh:mm:ss for \""},{"line_number":48,"context_line":"                                             \"CONTINUOUS audit\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_48cc226a","line":45,"range":{"start_line":45,"start_character":4,"end_line":45,"end_character":10},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                   }),"},{"line_number":44,"context_line":"                                   required\u003dTrue)"},{"line_number":45,"context_line":"    period \u003d forms.DurationField(initial\u003d\"01:00:00\","},{"line_number":46,"context_line":"                                 label\u003d_(\"Period (format hh:mm:ss)\"),"},{"line_number":47,"context_line":"                                 help_text\u003d_(\"Period in format hh:mm:ss for \""},{"line_number":48,"context_line":"                                             \"CONTINUOUS audit\"),"},{"line_number":49,"context_line":"                                 widget\u003dforms.TextInput(attrs\u003d{"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_e8b22ee4","line":46,"range":{"start_line":46,"start_character":42,"end_line":46,"end_character":48},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"}],"watcher_dashboard/test/api_tests/watcher_tests.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        audit \u003d self.api_audits.first()"},{"line_number":211,"context_line":"        audit_template_id \u003d self.api_audit_templates.first()[\u0027uuid\u0027]"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        deadline \u003d self.api_audits.first()[\u0027deadline\u0027]"},{"line_number":214,"context_line":"        _type \u003d self.api_audits.first()[\u0027type\u0027]"},{"line_number":215,"context_line":"        period \u003d self.api_audits.first()[\u0027period\u0027]"},{"line_number":216,"context_line":"        audit_template_uuid \u003d audit_template_id"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_9ff7878a","line":213,"range":{"start_line":213,"start_character":19,"end_line":213,"end_character":42},"updated":"2016-06-23 15:19:55.000000000","message":"this is the same as the audit variable declared line 210","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"7d48b2aeb3f30e6eab2c1bcfc6a3e446f22ffd3b","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        audit \u003d self.api_audits.first()"},{"line_number":211,"context_line":"        audit_template_id \u003d self.api_audit_templates.first()[\u0027uuid\u0027]"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        deadline \u003d self.api_audits.first()[\u0027deadline\u0027]"},{"line_number":214,"context_line":"        _type \u003d self.api_audits.first()[\u0027type\u0027]"},{"line_number":215,"context_line":"        period \u003d self.api_audits.first()[\u0027period\u0027]"},{"line_number":216,"context_line":"        audit_template_uuid \u003d audit_template_id"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_66016f05","line":213,"range":{"start_line":213,"start_character":19,"end_line":213,"end_character":42},"in_reply_to":"3aaa91ec_9ff7878a","updated":"2016-06-23 17:28:33.000000000","message":"Done","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        audit_template_id \u003d self.api_audit_templates.first()[\u0027uuid\u0027]"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        deadline \u003d self.api_audits.first()[\u0027deadline\u0027]"},{"line_number":214,"context_line":"        _type \u003d self.api_audits.first()[\u0027type\u0027]"},{"line_number":215,"context_line":"        period \u003d self.api_audits.first()[\u0027period\u0027]"},{"line_number":216,"context_line":"        audit_template_uuid \u003d audit_template_id"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_1f32775f","line":214,"range":{"start_line":214,"start_character":16,"end_line":214,"end_character":39},"updated":"2016-06-23 15:19:55.000000000","message":"ditto","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"7d48b2aeb3f30e6eab2c1bcfc6a3e446f22ffd3b","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        audit_template_id \u003d self.api_audit_templates.first()[\u0027uuid\u0027]"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        deadline \u003d self.api_audits.first()[\u0027deadline\u0027]"},{"line_number":214,"context_line":"        _type \u003d self.api_audits.first()[\u0027type\u0027]"},{"line_number":215,"context_line":"        period \u003d self.api_audits.first()[\u0027period\u0027]"},{"line_number":216,"context_line":"        audit_template_uuid \u003d audit_template_id"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_4606f31d","line":214,"range":{"start_line":214,"start_character":16,"end_line":214,"end_character":39},"in_reply_to":"3aaa91ec_1f32775f","updated":"2016-06-23 17:28:33.000000000","message":"Done","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"f23150cbf4070232013e3c7cebe36cba9e18b264","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        deadline \u003d self.api_audits.first()[\u0027deadline\u0027]"},{"line_number":214,"context_line":"        _type \u003d self.api_audits.first()[\u0027type\u0027]"},{"line_number":215,"context_line":"        period \u003d self.api_audits.first()[\u0027period\u0027]"},{"line_number":216,"context_line":"        audit_template_uuid \u003d audit_template_id"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        watcherclient \u003d self.stub_watcherclient()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_5f387f3d","line":215,"range":{"start_line":215,"start_character":17,"end_line":215,"end_character":40},"updated":"2016-06-23 15:19:55.000000000","message":"ditto","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"7d48b2aeb3f30e6eab2c1bcfc6a3e446f22ffd3b","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        deadline \u003d self.api_audits.first()[\u0027deadline\u0027]"},{"line_number":214,"context_line":"        _type \u003d self.api_audits.first()[\u0027type\u0027]"},{"line_number":215,"context_line":"        period \u003d self.api_audits.first()[\u0027period\u0027]"},{"line_number":216,"context_line":"        audit_template_uuid \u003d audit_template_id"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        watcherclient \u003d self.stub_watcherclient()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_860c5b3c","line":215,"range":{"start_line":215,"start_character":17,"end_line":215,"end_character":40},"in_reply_to":"3aaa91ec_5f387f3d","updated":"2016-06-23 17:28:33.000000000","message":"Done","commit_id":"85c93d09401cac117be5d4fbc6c9a971b2f655c3"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            audit_template_uuid\u003daudit_template_uuid,"},{"line_number":222,"context_line":"            type\u003d_type,"},{"line_number":223,"context_line":"            deadline\u003ddeadline,"},{"line_number":224,"context_line":"            period\u003dperiod).AndReturn(audit)"},{"line_number":225,"context_line":"        self.mox.ReplayAll()"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        ret_val \u003d api.watcher.Audit.create("}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_68bf5eaa","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":18},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"}],"watcher_dashboard/test/test_data/watcher_data.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"9555e65b308b9a07f4aba6ed2d7f01cbcf5df9cf","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        \u0027deadline\u0027: None,"},{"line_number":122,"context_line":"        \u0027type\u0027: \u0027ONESHOT\u0027,"},{"line_number":123,"context_line":"        \u0027audit_template_uuid\u0027: \u002711111111-1111-1111-1111-111111111111\u0027,"},{"line_number":124,"context_line":"        \u0027period\u0027: 0,"},{"line_number":125,"context_line":"    }"},{"line_number":126,"context_line":"    TEST.api_audits.add(audit_dict)"},{"line_number":127,"context_line":"    _audit_dict \u003d copy.deepcopy(audit_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_a8e306d8","line":124,"range":{"start_line":124,"start_character":9,"end_line":124,"end_character":15},"updated":"2016-07-06 14:50:40.000000000","message":"ditto","commit_id":"e83631e74c57c76f5fa5f69da221822860c9bce4"}]}
