Code Duplication    Length = 24-28 lines in 2 locations

Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/core/task/artifacts.py 2 locations

@@ 234-261 (lines=28) @@
231
        self._set_kwargs(episode, kwargs)
232
        return True
233
234
    def store_movie(self, data, action, guid, p_key=None, p_movie=None, **kwargs):
235
        key = (guid.service, guid.id)
236
237
        movies = dict_path(self.artifacts, [
238
            data,
239
            action,
240
            'movies'
241
        ])
242
243
        # Check for duplicate history addition
244
        if self._is_duplicate(data, action, p_key):
245
            return False
246
247
        # Build movie
248
        if key in movies:
249
            movie = movies[key]
250
        else:
251
            movie = self._build_request(guid, p_movie, **kwargs)
252
253
            if movie is None:
254
                return False
255
256
            # Store `movie` in artifacts
257
            movies[key] = movie
258
259
        # Set `kwargs` on `movie`
260
        self._set_kwargs(movie, kwargs)
261
        return True
262
263
    @classmethod
264
    def _build_request(cls, guid, p_item, **kwargs):
@@ 163-186 (lines=24) @@
160
    # Artifact storage
161
    #
162
163
    def store_show(self, data, action, guid, p_show=None, **kwargs):
164
        key = (guid.service, guid.id)
165
166
        shows = dict_path(self.artifacts, [
167
            data,
168
            action,
169
            'shows'
170
        ])
171
172
        # Build show
173
        if key in shows:
174
            show = shows[key]
175
        else:
176
            show = self._build_request(guid, p_show, **kwargs)
177
178
            if show is None:
179
                return False
180
181
            # Store `show` in artifacts
182
            shows[key] = show
183
184
        # Set `kwargs` on `show`
185
        self._set_kwargs(show, kwargs)
186
        return True
187
188
    def store_episode(self, data, action, guid, identifier, p_key=None, p_show=None, p_episode=None, **kwargs):
189
        key = (guid.service, guid.id)