Code Duplication    Length = 17-17 lines in 2 locations

sacred/observers/slack.py 2 locations

@@ 119-135 (lines=17) @@
116
        headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
117
        requests.post(self.webhook_url, data=json.dumps(data), headers=headers)
118
119
    def interrupted_event(self, interrupt_time, status):
120
        import requests
121
        if self.interrupted_text is None:
122
            return
123
124
        self.run['status'] = status
125
        self.run['interrupt_time'] = interrupt_time
126
        self.run['elapsed_time'] = td_format(interrupt_time -
127
                                             self.run['start_time'])
128
129
        data = {
130
            "username": self.bot_name,
131
            "icon_emoji": self.icon,
132
            "text": self.get_interrupted_text()
133
        }
134
        headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
135
        requests.post(self.webhook_url, data=json.dumps(data), headers=headers)
136
137
    def failed_event(self, fail_time, fail_trace):
138
        import requests
@@ 101-117 (lines=17) @@
98
    def get_failed_text(self):
99
        return self.failed_text.format(**self.run)
100
101
    def completed_event(self, stop_time, result):
102
        import requests
103
        if self.completed_text is None:
104
            return
105
106
        self.run['result'] = result
107
        self.run['stop_time'] = stop_time
108
        self.run['elapsed_time'] = td_format(stop_time -
109
                                             self.run['start_time'])
110
111
        data = {
112
            "username": self.bot_name,
113
            "icon_emoji": self.icon,
114
            "text": self.get_completed_text()
115
        }
116
        headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
117
        requests.post(self.webhook_url, data=json.dumps(data), headers=headers)
118
119
    def interrupted_event(self, interrupt_time, status):
120
        import requests