Mercurial > libervia-web
view browser_side/jid.py @ 174:d97b0cba8b04
browser side: fix the line jump in unibox after entering something (work around a pyjamas bug)
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 13 Jan 2013 22:26:16 +0100 |
parents | 9763dec220ed |
children | 886b47896f3c |
line wrap: on
line source
#!/usr/bin/python # -*- coding: utf-8 -*- """ Libervia: a Salut à Toi frontend Copyright (C) 2011, 2012, 2013 Jérôme Poisson <goffi@goffi.org> This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. """ class JID: """This class help manage JID (Node@Domaine/Resource)""" def __init__(self, jid): self.__raw = str(jid) self.__parse() def __parse(self): """find node domaine and resource""" node_end=self.__raw.find('@') if node_end<0: node_end=0 domain_end=self.__raw.find('/') if domain_end<1: domain_end=len(self.__raw) self.node=self.__raw[:node_end] self.domain=self.__raw[(node_end+1) if node_end else 0:domain_end] self.resource=self.__raw[domain_end+1:] if not node_end: self.bare=self.__raw else: self.bare=self.node+'@'+self.domain def __str__(self): return self.__raw.__str__() def is_valid(self): """return True if the jid is xmpp compliant""" #FIXME: always return True for the moment return True