Code Duplication    Length = 24-24 lines in 2 locations

mutis/astro.py 2 locations

@@ 551-574 (lines=24) @@
548
    selected_date = None
549
    selected_flux = None
550
    
551
    def submit_textbox(text):
552
        nonlocal mod, knots, knots_names, knots_values, knots_jyears, knots_dates, knots_fluxes
553
554
        log.debug('Submited with:')
555
        log.debug(f'   selected_knot {selected_knot}')
556
        log.debug(f'   selected_ind {selected_ind}')
557
        log.debug(f'   selected_flux {selected_flux}')
558
        log.debug(f'   selected_date {selected_date}')
559
560
        if selected_knot is not None:        
561
            mod.loc[selected_ind, 'label'] = text.upper()
562
563
            knots = dict(tuple(mod.groupby('label')))
564
            knots_names = list(knots.keys())
565
            knots_values = list(knots.values())
566
            knots_jyears = {k:Time(knots[k]['date'].to_numpy()).jyear for k in knots}
567
            knots_dates = {k:knots[k]['date'].to_numpy() for k in knots}
568
            knots_fluxes = {k:knots[k]['Flux (Jy)'].to_numpy() for k in knots}
569
570
            print(f"Updated index {selected_ind} to {text.upper()}")
571
        else:
572
            pass
573
        
574
        draw_all()
575
576
    def line_select_callback(eclick, erelease):
577
        nonlocal selected_knot,selected_date, selected_flux, selected_ind
@@ 314-337 (lines=24) @@
311
    selected_y = None
312
313
314
    def submit_textbox(text):
315
        nonlocal mod, knots, knots_names, knots_values, knots_jyears, knots_X, knots_Y
316
317
        log.debug('Submited with:')
318
        log.debug(f'   selected_knot {selected_knot}')
319
        log.debug(f'   selected_ind {selected_ind}')
320
        log.debug(f'   selected_x {selected_x}')
321
        log.debug(f'   selected_y {selected_y}')
322
323
        if selected_knot is not None:        
324
            mod.loc[selected_ind, 'label'] = text.upper()
325
326
            knots = dict(tuple(mod.groupby('label')))
327
            knots_names = list(knots.keys())
328
            knots_values = list(knots.values())
329
            knots_jyears = {k:Time(knots[k]['date'].to_numpy()).jyear for k in knots}
330
            knots_X = {k:knots[k]['X'].to_numpy() for k in knots}
331
            knots_Y = {k:knots[k]['Y'].to_numpy() for k in knots}
332
333
            print(f"Updated index {selected_ind} to {text.upper()}")
334
        else:
335
            pass
336
337
        draw_all(slider_date.val)
338
339
    def line_select_callback(eclick, erelease):
340
        nonlocal selected_knot,selected_x, selected_y, selected_ind