Example #1
0
def link_item_to_selection():
    if links_api and wxlinks_api and _select_editor():
        filename, id_ = wxgui_api.get_selected_editor_identification()
        _select_items(False)

        if filename in links_api.get_supported_open_databases():
            log.debug('Simulate link item to selection')
            # Databases are blocked in simulator._do_action
            core_api.release_databases()
            wxlinks_api.simulate_link_to_selection(filename, id_)
        else:
            # Databases are blocked in simulator._do_action
            core_api.release_databases()
            return False
    else:
        # Databases are blocked in simulator._do_action
        core_api.release_databases()
        return False
Example #2
0
def link_item_to_selection():
    if links_api and wxlinks_api and _select_editor():
        filename, id_ = wxgui_api.get_selected_editor_identification()
        _select_items(False)

        if filename in links_api.get_supported_open_databases():
            log.debug('Simulate link item to selection')
            # Databases are blocked in simulator._do_action
            core_api.release_databases()
            wxlinks_api.simulate_link_to_selection(filename, id_)
        else:
            # Databases are blocked in simulator._do_action
            core_api.release_databases()
            return False
    else:
        # Databases are blocked in simulator._do_action
        core_api.release_databases()
        return False
Example #3
0
def edit_editor_rules():
    if organism_api and wxscheduler_api and wxscheduler_basicrules_api and \
                                                            _select_editor():
        filename, id_ = wxgui_api.get_selected_editor_identification()

        # It should also be checked if the database supports
        #  organism_basicrules (bug #330)
        if filename in organism_api.get_supported_open_databases():
            wxscheduler_api.simulate_expand_rules_panel(filename, id_)
            wxscheduler_api.simulate_remove_all_rules(filename, id_)

            rules = []

            for n in xrange(random.randint(0, 8)):
                r = random.randint(0, 16)

                if r == 0:
                    rule = \
                          wxscheduler_basicrules_api.create_random_occur_once_rule()
                elif r == 1:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_interval_rule()
                elif r == 2:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_day_rule()
                elif r == 3:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_week_rule()
                elif r == 4:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_weekdays_rule()
                elif r == 5:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_rule()
                elif r == 6:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_inverse_rule()
                elif r == 7:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_weekday_rule()
                elif r == 8:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_weekday_inverse_rule()
                elif r == 9:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_rule()
                elif r == 10:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_inverse_rule()
                elif r == 11:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_weekday_rule()
                elif r == 12:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_weekday_inverse_rule()
                elif r == 13:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_synodic_month_rule()
                elif r == 14:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_yearly_rule()
                elif r == 15:
                    rule = \
                         wxscheduler_basicrules_api.create_random_except_once_rule()
                else:
                    rule = \
                        wxscheduler_basicrules_api.create_random_except_every_interval_rule()

                rules.append(rule)

            log.debug('Simulate replace item rules')
            # Databases are blocked in simulator._do_action
            core_api.release_databases()

            for rule in rules:
                if rule['rule'] in ('occur_once_local', 'occur_once_UTC'):
                    wxscheduler_basicrules_api.simulate_create_occur_once_rule(
                        filename, id_, rule)
                elif rule['rule'] in ('occur_regularly_local',
                                      'occur_regularly_UTC'):
                    if rule['#'][6][0] == '1d':
                        wxscheduler_basicrules_api.simulate_create_occur_every_day_rule(
                            filename, id_, rule)
                    elif rule['#'][6][0] == '1w':
                        wxscheduler_basicrules_api.simulate_create_occur_every_week_rule(
                            filename, id_, rule)
                    elif rule['#'][6][0] == 'sy':
                        wxscheduler_basicrules_api.simulate_create_occur_every_synodic_month_rule(
                            filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_every_interval_rule(
                            filename, id_, rule)
                elif rule['rule'] in ('occur_regularly_group_local',
                                      'occur_regularly_group_UTC'):
                    if rule['#'][6][0] == 'sw':
                        wxscheduler_basicrules_api.simulate_create_occur_selected_weekdays_rule(
                            filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_number_direct_local',
                                      'occur_monthly_number_direct_UTC'):
                    if rule['#'][7][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_rule(
                            filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_rule(
                            filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_number_inverse_local',
                                      'occur_monthly_number_inverse_UTC'):
                    if rule['#'][7][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_inverse_rule(
                            filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_inverse_rule(
                            filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_weekday_direct_local',
                                      'occur_monthly_weekday_direct_UTC'):
                    if rule['#'][8][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_weekday_rule(
                            filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_weekday_rule(
                            filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_weekday_inverse_local',
                                      'occur_monthly_weekday_inverse_UTC'):
                    if rule['#'][8][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_weekday_inverse_rule(
                            filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_weekday_inverse_rule(
                            filename, id_, rule)
                elif rule['rule'] in ('occur_yearly_local',
                                      'occur_yearly_UTC'):
                    wxscheduler_basicrules_api.simulate_create_occur_yearly_rule(
                        filename, id_, rule)
                elif rule['rule'] in ('except_once_local', 'except_once_UTC'):
                    wxscheduler_basicrules_api.simulate_create_except_once_rule(
                        filename, id_, rule)
                elif rule['rule'] in ('except_regularly_local',
                                      'except_regularly_UTC'):
                    wxscheduler_basicrules_api.simulate_create_except_every_interval_rule(
                        filename, id_, rule)
        else:
            # Databases are blocked in simulator._do_action
            core_api.release_databases()
            return False
    else:
        # Databases are blocked in simulator._do_action
        core_api.release_databases()
        return False
Example #4
0
    def _toggle(self, event):
        filename, id_ = wxgui_api.get_selected_editor_identification()

        if filename:
            self.plugin.get_link_manager(filename, id_).toggle_focus()
Example #5
0
    def _focus(self, event):
        filename, id_ = wxgui_api.get_selected_editor_identification()

        if filename:
            self.plugin.get_scheduler(filename, id_).set_focus()
Example #6
0
    def _toggle(self, event):
        filename, id_ = wxgui_api.get_selected_editor_identification()

        if filename:
            self.plugin.get_scheduler(filename, id_).toggle_focus()
Example #7
0
def edit_editor_rules():
    if organism_api and wxscheduler_api and wxscheduler_basicrules_api and \
                                                            _select_editor():
        filename, id_ = wxgui_api.get_selected_editor_identification()

        # It should also be checked if the database supports
        #  organism_basicrules (bug #330)
        if filename in organism_api.get_supported_open_databases():
            wxscheduler_api.simulate_expand_rules_panel(filename, id_)
            wxscheduler_api.simulate_remove_all_rules(filename, id_)

            rules = []

            for n in xrange(random.randint(0, 8)):
                r = random.randint(0, 16)

                if r == 0:
                    rule = \
                          wxscheduler_basicrules_api.create_random_occur_once_rule()
                elif r == 1:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_interval_rule()
                elif r == 2:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_day_rule()
                elif r == 3:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_week_rule()
                elif r == 4:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_weekdays_rule()
                elif r == 5:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_rule()
                elif r == 6:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_inverse_rule()
                elif r == 7:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_weekday_rule()
                elif r == 8:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_selected_months_weekday_inverse_rule()
                elif r == 9:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_rule()
                elif r == 10:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_inverse_rule()
                elif r == 11:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_weekday_rule()
                elif r == 12:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_month_weekday_inverse_rule()
                elif r == 13:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_every_synodic_month_rule()
                elif r == 14:
                    rule = \
                        wxscheduler_basicrules_api.create_random_occur_yearly_rule()
                elif r == 15:
                    rule = \
                         wxscheduler_basicrules_api.create_random_except_once_rule()
                else:
                    rule = \
                        wxscheduler_basicrules_api.create_random_except_every_interval_rule()

                rules.append(rule)

            log.debug('Simulate replace item rules')
            # Databases are blocked in simulator._do_action
            core_api.release_databases()

            for rule in rules:
                if rule['rule'] in ('occur_once_local', 'occur_once_UTC'):
                    wxscheduler_basicrules_api.simulate_create_occur_once_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_regularly_local',
                                                        'occur_regularly_UTC'):
                    if rule['#'][6][0] == '1d':
                        wxscheduler_basicrules_api.simulate_create_occur_every_day_rule(
                                                        filename, id_, rule)
                    elif rule['#'][6][0] == '1w':
                        wxscheduler_basicrules_api.simulate_create_occur_every_week_rule(
                                                        filename, id_, rule)
                    elif rule['#'][6][0] == 'sy':
                        wxscheduler_basicrules_api.simulate_create_occur_every_synodic_month_rule(
                                                        filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_every_interval_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_regularly_group_local',
                                                'occur_regularly_group_UTC'):
                    if rule['#'][6][0] == 'sw':
                        wxscheduler_basicrules_api.simulate_create_occur_selected_weekdays_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_number_direct_local',
                                            'occur_monthly_number_direct_UTC'):
                    if rule['#'][7][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_rule(
                                                        filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_number_inverse_local',
                                        'occur_monthly_number_inverse_UTC'):
                    if rule['#'][7][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_inverse_rule(
                                                        filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_inverse_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_weekday_direct_local',
                                        'occur_monthly_weekday_direct_UTC'):
                    if rule['#'][8][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_weekday_rule(
                                                        filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_weekday_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_monthly_weekday_inverse_local',
                                        'occur_monthly_weekday_inverse_UTC'):
                    if rule['#'][8][0] == '1m':
                        wxscheduler_basicrules_api.simulate_create_occur_every_month_weekday_inverse_rule(
                                                        filename, id_, rule)
                    else:
                        wxscheduler_basicrules_api.simulate_create_occur_selected_months_weekday_inverse_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('occur_yearly_local',
                                                        'occur_yearly_UTC'):
                    wxscheduler_basicrules_api.simulate_create_occur_yearly_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('except_once_local', 'except_once_UTC'):
                    wxscheduler_basicrules_api.simulate_create_except_once_rule(
                                                        filename, id_, rule)
                elif rule['rule'] in ('except_regularly_local',
                                                    'except_regularly_UTC'):
                    wxscheduler_basicrules_api.simulate_create_except_every_interval_rule(
                                                        filename, id_, rule)
        else:
            # Databases are blocked in simulator._do_action
            core_api.release_databases()
            return False
    else:
        # Databases are blocked in simulator._do_action
        core_api.release_databases()
        return False
Example #8
0
    def _focus(self, event):
        filename, id_ = wxgui_api.get_selected_editor_identification()

        if filename:
            self.plugin.get_link_manager(filename, id_).set_focus()