def _selectParseHeader(self, header): """Find an authentication scheme in a case-insensitive way.""" log.debug("Finding an authenticator for {0}".format(header)) scheme, elements = header.split(' ', 1) for fact in self._credentialFactories: if fact.scheme.lower() == scheme.lower(): log.debug("Found an authenticator: {0}".format(fact)) return (fact, elements) log.warn("No matching authenticator found for {0}".format(scheme)) return (None, None)
def _printMessage(self, msg, screenNameWidth=14): if self.config["long"]: fmt = "--- {0.user.screen_name:{2}} {0.created_at} [{0.id}]\n" \ " {1}" paddingLen = 4 else: fmt = "{0.user.screen_name:{2}} {1}" paddingLen = screenNameWidth + 2 width = self.config.parent["COLUMNS"] - paddingLen log.trace("Formatting {0} at {1} characters.".format( "long message" if self.config["long"] else "message", width)) joiner = "\n" + (" " * paddingLen) text = joiner.join(greedyWrap(msg.text, width)) try: print fmt.format(msg, text, screenNameWidth) except UnicodeEncodeError, uee: # Ignore messages with Unicode errors. Sahri Charlie. log.warn("Unicode error printing message {0.id}".format(msg))
def requestAvatarId(self, cred): log.debug("{0} is requesting an avatar ID.".format(cred.identifier)) try: entity = yield self.svc.getEntity(cred.identifier) keyInfo = yield entity.listKeys() keys = [] for keyId in keyInfo.iterkeys(): try: key = yield entity.getKey(keyId) except KeyNotFound, knf: # Weidness afoot log.warn("Key disappeared! {0}".format(keyId)) else: log.debug("{0} {2} {1}".format(key.id, keyId, "==" if key.id == keyId else "!=")) keys.append(key) except EntityNotFound: raise self.UnauthorizedLogin("Invalid entity", cred.identifier) if not self._verifySignatureByKeys(cred, keys): raise self.UnauthorizedLogin("Invalid signature") returnValue(cred.identifier)