Refactoriser la fonction restore_default_values #10

Closed
opened 2021-08-25 15:11:22 +02:00 by Sulley · 1 comment
Owner

Le code actuel oblige à maintenir un tableau avec la liste de toutes les variables utilisées:

def restore_default_values():
    clear_logs()

    remove_preview_img_and_clear_canvas()

    for sv in string_var_list:
        sv.set('')

    for bv in bool_var_list:
        bv.set(FALSE)

    for b in combo_box_list:
        b.current(0)

    initialize_vars(default_var_map)

L'idée serait de traiter ces variables par introspection. Cela permettrait d'avoir un code plus court et de pouvoir se passer du tableau de variables.

Le code actuel oblige à maintenir un tableau avec la liste de toutes les variables utilisées: ``` def restore_default_values(): clear_logs() remove_preview_img_and_clear_canvas() for sv in string_var_list: sv.set('') for bv in bool_var_list: bv.set(FALSE) for b in combo_box_list: b.current(0) initialize_vars(default_var_map) ``` L'idée serait de traiter ces variables par introspection. Cela permettrait d'avoir un code plus court et de pouvoir se passer du tableau de variables.
Author
Owner

C'est fait.

    def restore_default_values(self):
        ''' Clear logs, preview and reset all the default values

            Remarks :
                - Why erase input and output file path ?
        '''
        for attribute, value in self.__dict__.items():
            if(isinstance(value, tk.StringVar) and attribute.startswith('strvar_')):
                value.set('')
            if(isinstance(value, tk.BooleanVar) and attribute.startswith('is_') and attribute.endswith('_checked')):
                value.set(False)
            if(isinstance(value, ttk.Combobox) and attribute.endswith('_combobox')):
                value.current(0)

        self.clear_logs()
        self.remove_preview_image_and_clear_canvas()
        self.initialize_vars(self.default_var_map)
C'est fait. ``` def restore_default_values(self): ''' Clear logs, preview and reset all the default values Remarks : - Why erase input and output file path ? ''' for attribute, value in self.__dict__.items(): if(isinstance(value, tk.StringVar) and attribute.startswith('strvar_')): value.set('') if(isinstance(value, tk.BooleanVar) and attribute.startswith('is_') and attribute.endswith('_checked')): value.set(False) if(isinstance(value, ttk.Combobox) and attribute.endswith('_combobox')): value.current(0) self.clear_logs() self.remove_preview_image_and_clear_canvas() self.initialize_vars(self.default_var_map) ```
Sulley added the
enhancement
label 2021-08-30 08:17:39 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Sulley/ReBook#10
No description provided.