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)
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.')
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
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