Пример #1
0
def main():

    log.init(None, 'debug')

    f = FlickrStore(None,userid='x',password='******',
                    permissions='xxx',
                    authtoken='xxx-x')

    def got_flickr_result(result):
        print "flickr", result
        for photo in result.getiterator('photo'):
            title = photo.get('title').encode('utf-8')
            if len(title) == 0:
                title = u'untitled'

            for k,item in photo.items():
                print k, item

            url = "http://farm%s.static.flickr.com/%s/%s_%s.jpg" % (
                        photo.get('farm').encode('utf-8'),
                        photo.get('server').encode('utf-8'),
                        photo.get('id').encode('utf-8'),
                        photo.get('secret').encode('utf-8'))
            #orginal_url = "http://farm%s.static.flickr.com/%s/%s_%s_o.jpg" % (
            #            photo.get('farm').encode('utf-8'),
            #            photo.get('server').encode('utf-8'),
            #            photo.get('id').encode('utf-8'),
            #            photo.get('originalsecret').encode('utf-8'))
            print photo.get('id').encode('utf-8'), title, url

    def got_upnp_result(result):
        print "upnp", result

    def got_error(error):
        print error
Пример #2
0
    def setup_logger(self):
        '''Initializes log's system based on config.

         .. note:: the COHEN_DEBUG environment variable overwrites all level
                   settings in here
         '''
        try:
            subsystems = self.config.get('logging')['subsystem']
            if isinstance(subsystems, dict):
                subsystems = [subsystems]
            for subsystem in subsystems:
                try:
                    if subsystem['active'] == 'no':
                        continue
                except (KeyError, TypeError):
                    pass
                self.info(f'setting log-level for subsystem ' +
                          f'{subsystem["name"]} to {subsystem["level"]}')
                logging.getLogger(subsystem['name'].lower()).setLevel(
                    subsystem['level'].upper())
        except (KeyError, TypeError):
            subsystem_log = self.config.get('subsystem_log', {})
            for subsystem, level in list(subsystem_log.items()):
                logging.getLogger(subsystem.lower()).setLevel(level.upper())

        log.init(self.log_file, self.log_level)
        self.warning(f'Coherence UPnP framework version {__version__} ' +
                     f'starting [log level: {self.log_level}]...')
Пример #3
0
    def init_logging(self):
        logmode = self.config.get('logging').get('level','warning')
        _debug = []

        try:
            subsystems = self.config.get('logging')['subsystem']
        except KeyError:
            subsystems = []

        if isinstance(subsystems,dict):
            subsystems = [subsystems]
        for subsystem in subsystems:
            try:
                if subsystem['active'] == 'no':
                    continue
            except (KeyError,TypeError):
                pass
            self.info( "setting log-level for subsystem %s to %s" % (subsystem['name'],subsystem['level']))
            _debug.append('%s:%d' % (subsystem['name'].lower(), log.human2level(subsystem['level'])))

        if len(_debug) > 0:
            _debug = ','.join(_debug)
        else:
            _debug = '*:%d' % log.human2level(logmode)

        logfile = self.config.get('logging').get('logfile',None)
        if logfile != None:
            logfile = unicode(logfile)

        log.init(logfile, _debug)
Пример #4
0
  def __init__(self, config=None):
    # initialize only once
    if self.__initialized:
      return
    self.__initialized = True

    # supers
    log.Loggable.__init__(self)

    self.config = config or {}

    self.devices = []
    self.children = {}
    self._callbacks = {}
    self.active_backends = {}
    self.available_plugins = None

    self.external_address = None
    self.urlbase = None
    self.web_server_port = int(config.get('serverport', 0))

    """ Services """
    self.ctrl = None
    self.dbus = None
    self.json = None
    self.msearch = None
    self.ssdp_server = None
    self.transcoder_manager = None
    self.web_server = None

    """ initializes logsystem
        a COHEN_DEBUG environment variable overwrites
        all level settings here
    """
    try:
      logmode = config.get('logging').get('level', 'warning')
    except (KeyError, AttributeError):
      logmode = config.get('logmode', 'warning')

    try:
      subsystems = config.get('logging')['subsystem']
      if isinstance(subsystems, dict):
        subsystems = [subsystems]
      for subsystem in subsystems:
        try:
          if subsystem['active'] == 'no':
            continue
        except (KeyError, TypeError):
          pass
        self.info("setting log-level for subsystem %s to %s", subsystem['name'], subsystem['level'])
        logging.getLogger(subsystem['name'].lower()).setLevel(subsystem['level'].upper())
    except (KeyError, TypeError):
      subsystem_log = config.get('subsystem_log', {})
      for subsystem, level in list(subsystem_log.items()):
        logging.getLogger(subsystem.lower()).setLevel(level.upper())
    try:
      logfile = config.get('logging').get('logfile', None)
      if logfile is not None:
        logfile = str(logfile)
    except (KeyError, AttributeError, TypeError):
      logfile = config.get('logfile', None)
    log.init(logfile, logmode.upper())

    self.warning("Coherence UPnP framework version %s starting...", __version__)

    network_if = config.get('interface')
    if network_if:
      self.hostname = get_ip_address('%s' % network_if)
    else:
      try:
        self.hostname = socket.gethostbyname(socket.gethostname())
      except socket.gaierror:
        self.warning("hostname can't be resolved, maybe a system misconfiguration?")
        self.hostname = '127.0.0.1'

    if self.hostname.startswith('127.'):
      """ use interface detection via routing table as last resort """
      def catch_result(hostname):
        self.hostname = hostname
        self.setup_part2()
      d = defer.maybeDeferred(get_host_address)
      d.addCallback(catch_result)
    else:
      self.setup_part2()
Пример #5
0
    def __init__(self, config=None):
        # initialize only once
        if self.__initialized:
            return
        self.__initialized = True

        # supers
        log.LogAble.__init__(self)
        EventDispatcher.__init__(self)
        self.register_event(
            'coherence_device_detection_completed',
            'coherence_device_removed',
            'coherence_root_device_removed',
        )

        self.config = config or {}

        self.available_plugins = None

        self.external_address = None
        self.urlbase = None
        self.web_server_port = int(config.get('serverport', 8080))

        # initializes log's system, a COHEN_DEBUG environment
        # variable overwrites all level settings here.
        try:
            logmode = config.get('logging').get('level', 'warning')
        except (KeyError, AttributeError):
            logmode = config.get('logmode', 'warning')
        try:
            subsystems = config.get('logging')['subsystem']
            if isinstance(subsystems, dict):
                subsystems = [subsystems]
            for subsystem in subsystems:
                try:
                    if subsystem['active'] == 'no':
                        continue
                except (KeyError, TypeError):
                    pass
                self.info(f'setting log-level for subsystem '
                          f'{subsystem["name"]} to {subsystem["level"]}')
                logging.getLogger(subsystem['name'].lower()).setLevel(
                    subsystem['level'].upper())
        except (KeyError, TypeError):
            subsystem_log = config.get('subsystem_log', {})
            for subsystem, level in list(subsystem_log.items()):
                logging.getLogger(subsystem.lower()).setLevel(level.upper())
        try:
            logfile = config.get('logging').get('logfile', None)
            if logfile is not None:
                logfile = str(logfile)
        except (KeyError, AttributeError, TypeError):
            logfile = config.get('logfile', None)
        log.init(logfile, logmode.upper())

        self.warning(f'Coherence UPnP framework version {__version__} '
                     f'starting [log level: {logmode}]...')

        network_if = config.get('interface')
        if network_if:
            self.hostname = get_ip_address(f'{network_if}')
        else:
            try:
                self.hostname = socket.gethostbyname(socket.gethostname())
            except socket.gaierror:
                self.warning('hostname can\'t be resolved, '
                             'maybe a system misconfiguration?')
                self.hostname = '127.0.0.1'

        if self.hostname.startswith('127.'):
            # use interface detection via routing table as last resort
            def catch_result(hostname):
                self.hostname = hostname
                self.setup_part2()

            d = defer.maybeDeferred(get_host_address)
            d.addCallback(catch_result)
        else:
            self.setup_part2()