Code Duplication    Length = 24-24 lines in 2 locations

mutis/astro.py 2 locations

@@ 641-664 (lines=24) @@
638
    selected_date = None
639
    selected_flux = None
640
    
641
    def submit_textbox(text):
642
        nonlocal mod, knots, knots_names, knots_values, knots_jyears, knots_dates, knots_fluxes
643
644
        log.debug('Submited with:')
645
        log.debug(f'   selected_knot {selected_knot}')
646
        log.debug(f'   selected_ind {selected_ind}')
647
        log.debug(f'   selected_flux {selected_flux}')
648
        log.debug(f'   selected_date {selected_date}')
649
650
        if selected_knot is not None:        
651
            mod.loc[selected_ind, 'label'] = text.upper().strip(' ')
652
653
            knots = dict(tuple(mod.groupby('label')))
654
            knots_names = list(knots.keys())
655
            knots_values = list(knots.values())
656
            knots_jyears = {k:Time(knots[k]['date'].to_numpy()).jyear for k in knots}
657
            knots_dates = {k:knots[k]['date'].to_numpy() for k in knots}
658
            knots_fluxes = {k:knots[k]['Flux (Jy)'].to_numpy() for k in knots}
659
660
            print(f"Updated index {selected_ind} to {text.upper()}")
661
        else:
662
            pass
663
        
664
        draw_all()
665
666
    def line_select_callback(eclick, erelease):
667
        nonlocal selected_knot,selected_date, selected_flux, selected_ind
@@ 379-402 (lines=24) @@
376
    selected_y = None
377
378
379
    def submit_textbox(text):
380
        nonlocal mod, knots, knots_names, knots_values, knots_jyears, knots_X, knots_Y
381
382
        log.debug('Submited with:')
383
        log.debug(f'   selected_knot {selected_knot}')
384
        log.debug(f'   selected_ind {selected_ind}')
385
        log.debug(f'   selected_x {selected_x}')
386
        log.debug(f'   selected_y {selected_y}')
387
388
        if selected_knot is not None:        
389
            mod.loc[selected_ind, 'label'] = text.upper().strip(' ')
390
391
            knots = dict(tuple(mod.groupby('label')))
392
            knots_names = list(knots.keys())
393
            knots_values = list(knots.values())
394
            knots_jyears = {k:Time(knots[k]['date'].to_numpy()).jyear for k in knots}
395
            knots_X = {k:knots[k]['X'].to_numpy() for k in knots}
396
            knots_Y = {k:knots[k]['Y'].to_numpy() for k in knots}
397
398
            log.debug(f"Updated index {selected_ind} to {text.upper()}")
399
        else:
400
            pass
401
402
        draw_all(slider_date.val)
403
404
405
    def line_select_callback(eclick, erelease):