Exemple #1
0
    def add_points(self, skillset, points, record_points=False):
        skillset = skillset.upper()

        if skillset not in self._points_per_skillset:
            logger.warning(
                'Not adding points to skillset %s, no achievements requiring it.',
                skillset)
            return

        previous_points = self._points_per_skillset.copy()
        self._points_per_skillset[skillset] += points
        if record_points:
            self._record_points(skillset, points)

        logger.info('Skillset %s incremented by %r, now at %r', skillset,
                    points, self._points_per_skillset[skillset])

        for achievement in self._achievements.values():
            if skillset not in achievement.points_needed_per_skillset:
                # Filter the achievements that won't get achieved by
                # this skillset.
                continue

            if not self.achieved(
                    achievement,
                    previous_points) and self.achieved(achievement):
                self.emit('achievement-achieved', achievement)
                if record_points:
                    self._record_achievement(skillset, achievement)
Exemple #2
0
 def set_legacy_hack_mode(klass, enabled):
     try:
         # Compatible with EOS <= 3.7
         if (klass.get_shell_version() < '3.36'):
             klass.set_hack_mode_shell(enabled)
         else:
             klass.set_hack_property(klass.SETTINGS_HACK_MODE_KEY, enabled)
     except GLib.Error:
         logger.info('Can not enable the hack mode by default. Maybe the '
                     'hack extension is not there or it is updated.')
Exemple #3
0
        def _report_time_func(*args, **kwargs):
            start_time = time.time()

            result = func(*args, **kwargs)

            end_time = time.time()
            logger.info('%s : %3.3fms', str(func),
                        (end_time - start_time) * 1000.0)

            return result
Exemple #4
0
    def is_hack_extension_installed(klass, isEnabled=False):
        info = klass.get_extension_info(klass._OLD_HACK_EXTENSION)

        if 'state' in info:
            logger.info('Old hack extension installed, not checking new')
            return True

        info = klass.get_extension_info(klass._HACK_EXTENSION)

        if 'state' not in info:
            return False

        # These are  the possible states of an extension
        #     ENABLED: 1
        #     DISABLED: 2
        #     ERROR: 3
        #     OUT_OF_DATE: 4
        #     DOWNLOADING: 5
        #     INITIALIZED: 6

        if isEnabled:
            return info['state'] == 1

        return True