Code Duplication    Length = 24-24 lines in 2 locations

mutis/astro.py 2 locations

@@ 653-676 (lines=24) @@
650
    selected_date = None
651
    selected_flux = None
652
    
653
    def submit_textbox(text):
654
        nonlocal mod, knots, knots_names, knots_values, knots_jyears, knots_dates, knots_fluxes
655
656
        log.debug('Submited with:')
657
        log.debug(f'   selected_knot {selected_knot}')
658
        log.debug(f'   selected_ind {selected_ind}')
659
        log.debug(f'   selected_flux {selected_flux}')
660
        log.debug(f'   selected_date {selected_date}')
661
662
        if selected_knot is not None:        
663
            mod.loc[selected_ind, 'label'] = text.upper().strip(' ')
664
665
            knots = dict(tuple(mod.groupby('label')))
666
            knots_names = list(knots.keys())
667
            knots_values = list(knots.values())
668
            knots_jyears = {k:Time(knots[k]['date'].to_numpy()).jyear for k in knots}
669
            knots_dates = {k:knots[k]['date'].to_numpy() for k in knots}
670
            knots_fluxes = {k:knots[k]['Flux (Jy)'].to_numpy() for k in knots}
671
672
            print(f"Updated index {selected_ind} to {text.upper()}")
673
        else:
674
            pass
675
        
676
        draw_all()
677
678
    def line_select_callback(eclick, erelease):
679
        nonlocal selected_knot,selected_date, selected_flux, selected_ind
@@ 384-407 (lines=24) @@
381
    selected_y = None
382
383
384
    def submit_textbox(text):
385
        nonlocal mod, knots, knots_names, knots_values, knots_jyears, knots_X, knots_Y
386
387
        log.debug('Submited with:')
388
        log.debug(f'   selected_knot {selected_knot}')
389
        log.debug(f'   selected_ind {selected_ind}')
390
        log.debug(f'   selected_x {selected_x}')
391
        log.debug(f'   selected_y {selected_y}')
392
393
        if selected_knot is not None:        
394
            mod.loc[selected_ind, 'label'] = text.upper().strip(' ')
395
396
            knots = dict(tuple(mod.groupby('label')))
397
            knots_names = list(knots.keys())
398
            knots_values = list(knots.values())
399
            knots_jyears = {k:Time(knots[k]['date'].to_numpy()).jyear for k in knots}
400
            knots_X = {k:knots[k]['X'].to_numpy() for k in knots}
401
            knots_Y = {k:knots[k]['Y'].to_numpy() for k in knots}
402
403
            log.debug(f"Updated index {selected_ind} to {text.upper()}")
404
        else:
405
            pass
406
407
        draw_all(slider_date.val)
408
409
410
    def line_select_callback(eclick, erelease):