Exemple #1
0
 def load(self):
     self.values = getattr(self, 'values', {})
     log.info('Loading config: %s' % CONFIGPATH)
     if os.path.isfile(CONFIGPATH):
         with open(CONFIGPATH, 'r') as handle:
             self.values.update(json.load(handle))
     return self.values
Exemple #2
0
 def save(self):
     log.info('Saving config: %s' % CONFIGPATH)
     os.makedirs(os.path.dirname(CONFIGPATH), exist_ok=True)
     self.set('pkmeter', 'positions',
              [w.position() for w in self.pkmeter.widgets])
     with open(CONFIGPATH, 'w') as handle:
         json.dump(self.values, handle, indent=2, sort_keys=True)
Exemple #3
0
 def load(self):
     self.values = getattr(self, 'values', {})
     log.info('Loading config: %s' % CONFIGPATH)
     if os.path.isfile(CONFIGPATH):
         with open(CONFIGPATH, 'r') as handle:
             self.values.update(json.load(handle))
     return self.values
Exemple #4
0
 def open_current_image(self, widget):
     url = 'https://plus.google.com/photos/%(userid)s/albums/%(albumid)s/%(photoid)s' % {
         'userid': self.data['user']['id'],
         'albumid': self.data['album']['id'],
         'photoid': self.data['photo']['id'],
     }
     log.info('Opening Picasa Image: %s', url)
     webbrowser.open(url)
Exemple #5
0
def fetch_plex_instance(pkmeter, username=None, password=None, host=None):
    username = username or pkmeter.config.get('plexserver', 'username', from_keyring=True)
    password = password or pkmeter.config.get('plexserver', 'password', from_keyring=True)
    host = host or pkmeter.config.get('plexserver', 'host', '')
    if username:
        log.info('Logging into MyPlex with user %s', username)
        user = MyPlexAccount.signin(username, password)
        return user.resource(host).connect()
    log.info('Connecting to Plex host: %s', host)
    return PlexServer(host)
Exemple #6
0
def fetch_plex_instance(pkmeter, username=None, password=None, host=None):
    username = username or pkmeter.config.get(
        'plexserver', 'username', from_keyring=True)
    password = password or pkmeter.config.get(
        'plexserver', 'password', from_keyring=True)
    host = host or pkmeter.config.get('plexserver', 'host', '')
    if username:
        log.info('Logging into MyPlex with user %s', username)
        user = MyPlexAccount.signin(username, password)
        return user.resource(host).connect()
    log.info('Connecting to Plex host: %s', host)
    return PlexServer(host)
Exemple #7
0
 def _validate(self, field, force=False):
     if not field.input:
         return
     try:
         value = field.input.get_value()
         if field.validator:
             result = field.validator(field, value)
             value = value if result is None else result
             log.info('Validation passed for %s.%s', self.namespace, field.name)
         status = '' if force else self.STATUS_OK
         self._set_field_status(field, status, '')
     except Exception as err:
         log.warn('Validation Error for %s.%s: %s', self.namespace, field.name, err)
         self._set_field_status(field, self.STATUS_ERROR, str(err))
     finally:
         log.info('Setting value %s.%s: %s', self.namespace, field.name, value)
         field.value = value
Exemple #8
0
 def _validate(self, field, force=False):
     if not field.input:
         return
     try:
         #self._set_field_status(field, self.STATUS_LOADING, '')
         value = field.input.get_value()
         if field.validator:
             result = field.validator(field, value)
             value = value if result is None else result
             log.info('Validation passed for %s.%s', self.namespace,
                      field.name)
         self._set_field_status(field, self.STATUS_OK, '')
     except Exception as err:
         log.warn('Validation Error for %s.%s: %s', self.namespace,
                  field.name, err)
         self._set_field_status(field, self.STATUS_ERROR, str(err))
     finally:
         log.info('Setting value %s.%s: %s', self.namespace, field.name,
                  value)
         field.value = value
Exemple #9
0
 def enable(self):
     self.interval = self.get_interval()
     self.next_update = time.time()
     self.enabled = self.pkmeter.config.get(self.namespace, 'enabled', True)
     if not self.enabled:
         log.info('%s plugin disabled in preferences.' % self.name)
         return self.disable()
     if self.namespace not in self.pkmeter.actions:
         log.info('%s data not used in layout.' % self.name)
         return self.disable()
     if self.enabled:
         log.info('Enabling plugin %s with interval: %ss', self.name, self.interval)
         BasePlugin.update(self)
     return self.enabled
Exemple #10
0
 def enable(self):
     self.interval = self.get_interval()
     self.next_update = time.time()
     self.enabled = self.pkmeter.config.get(self.namespace, 'enabled', True)
     if not self.enabled:
         log.info('%s plugin disabled in preferences.' % self.name)
         return self.disable()
     if self.namespace not in self.pkmeter.actions:
         log.info('%s data not used in layout.' % self.name)
         return self.disable()
     if self.enabled:
         log.info('Enabling plugin %s with interval: %ss', self.name,
                  self.interval)
         BasePlugin.update(self)
     return self.enabled
Exemple #11
0
 def open_wunderground(self, widget):
     url = utils.rget(self.data, 'current_observation.ob_url',
                      'http://www.wunderground.com')
     #url = WEBSITE_URL % {'location':self.location}
     log.info('Opening WUnderground page: %s', url)
     webbrowser.open(url)
Exemple #12
0
 def reload(self):
     log.info('Reloading plugin %s.' % self.name)
     self.next_update = time.time()
Exemple #13
0
 def open_albums(self, widget):
     url = 'https://plus.google.com/photos/%s/albums' % self.data['user']['id']
     log.info('Opening Picasa Albums: %s', url)
     webbrowser.open(url)
Exemple #14
0
 def save(self):
     log.info('Saving config: %s' % CONFIGPATH)
     os.makedirs(os.path.dirname(CONFIGPATH), exist_ok=True)
     self.set('pkmeter', 'positions', [w.position() for w in self.pkmeter.widgets])
     with open(CONFIGPATH, 'w') as handle:
         json.dump(self.values, handle, indent=2, sort_keys=True)
Exemple #15
0
 def open_sonarr(self, widget):
     log.info('Opening Sonarr: %s', self.host)
     webbrowser.open(self.host)
Exemple #16
0
 def open_wunderground(self, widget):
     url = utils.rget(self.data, 'current_observation.ob_url', 'http://www.wunderground.com')
     #url = WEBSITE_URL % {'location':self.location}
     log.info('Opening WUnderground page: %s', url)
     webbrowser.open(url)
Exemple #17
0
 def open_gcal(self, widget):
     url = 'http://google.com/calendar'
     log.info('Opening Google Calendar: %s', url)
     webbrowser.open(url)
Exemple #18
0
 def open_system_monitor(self, widget):
     cmd = '/usr/bin/gnome-system-monitor -p'
     log.info('Opening system monitor: %s', cmd)
     Popen(shlex.split(cmd), stdout=DEVNULL, stderr=DEVNULL)
Exemple #19
0
 def open_gcal(self, widget):
     url = 'http://google.com/calendar'
     log.info('Opening Google Calendar: %s', url)
     webbrowser.open(url)
Exemple #20
0
 def open_system_monitor(self, widget):
     cmd = '/usr/bin/gnome-system-monitor -p'
     log.info('Opening system monitor: %s', cmd)
     Popen(shlex.split(cmd), stdout=DEVNULL, stderr=DEVNULL)
Exemple #21
0
 def open_sickbeard(self, widget):
     log.info('Opening Sickbeard: %s', self.host)
     webbrowser.open(self.host)
Exemple #22
0
 def open_sonarr(self, widget):
     log.info('Opening Sonarr: %s', self.host)
     webbrowser.open(self.host)