annotate browser_side/jid.py @ 239:b911f2b43fd4

browser_side: added input history in the unibox: This functionality uses a file from the sat project: use the -I parameter of pyjsbuild to add sat library to your PYJSPATH. To ease also possible to use your sat source directory instead of the library, you just need to trick pyjsbuild with a symbolic link: SAT=~/workspace/sat if [[ ! -e $SAT/sat ]]; then ln -sf $SAT/src $SAT/sat; fi This will allow you to import like that in libervia.py: from sat.tools.frontend.misc import InputHistory And then you can build with: $PYJS/bin/pyjsbuild libervia --no-compile-inplace -m -I $SAT
author souliane <souliane@mailoo.org>
date Mon, 14 Oct 2013 20:54:13 +0200
parents 9763dec220ed
children 886b47896f3c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/usr/bin/python
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
3
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
4 """
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
5 Libervia: a Salut à Toi frontend
165
9763dec220ed dates update
Goffi <goffi@goffi.org>
parents: 131
diff changeset
6 Copyright (C) 2011, 2012, 2013 Jérôme Poisson <goffi@goffi.org>
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
7
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
8 This program is free software: you can redistribute it and/or modify
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
9 it under the terms of the GNU Affero General Public License as published by
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
10 the Free Software Foundation, either version 3 of the License, or
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
11 (at your option) any later version.
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
12
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
13 This program is distributed in the hope that it will be useful,
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
16 GNU Affero General Public License for more details.
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
17
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
18 You should have received a copy of the GNU Affero General Public License
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
20 """
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
21
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
22
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
23
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
24 class JID:
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
25 """This class help manage JID (Node@Domaine/Resource)"""
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
26
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
27 def __init__(self, jid):
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
28 self.__raw = str(jid)
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
29 self.__parse()
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
30
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
31 def __parse(self):
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
32 """find node domaine and resource"""
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
33 node_end=self.__raw.find('@')
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
34 if node_end<0:
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
35 node_end=0
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
36 domain_end=self.__raw.find('/')
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
37 if domain_end<1:
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
38 domain_end=len(self.__raw)
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
39 self.node=self.__raw[:node_end]
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
40 self.domain=self.__raw[(node_end+1) if node_end else 0:domain_end]
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
41 self.resource=self.__raw[domain_end+1:]
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
42 if not node_end:
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
43 self.bare=self.__raw
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
44 else:
19
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
45 self.bare=self.node+'@'+self.domain
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
46
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
47 def __str__(self):
e8e3704eb97f Added basic chat panel
Goffi <goffi@goffi.org>
parents: 13
diff changeset
48 return self.__raw.__str__()
13
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
49
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
50 def is_valid(self):
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
51 """return True if the jid is xmpp compliant"""
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
52 #FIXME: always return True for the moment
0110d4e1d816 microblog panel filtering
Goffi <goffi@goffi.org>
parents:
diff changeset
53 return True