0
+ − 1 #!/usr/bin/python
+ − 2 # -*- coding: utf-8 -*-
+ − 3
+ − 4 """
+ − 5 helper class for making a SAT frontend
+ − 6 Copyright (C) 2009 Jérôme Poisson (goffi@goffi.org)
+ − 7
+ − 8 This program is free software: you can redistribute it and/or modify
+ − 9 it under the terms of the GNU General Public License as published by
+ − 10 the Free Software Foundation, either version 3 of the License, or
+ − 11 (at your option) any later version.
+ − 12
+ − 13 This program is distributed in the hope that it will be useful,
+ − 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 16 GNU General Public License for more details.
+ − 17
+ − 18 You should have received a copy of the GNU General Public License
+ − 19 along with this program. If not, see <http://www.gnu.org/licenses/>.
+ − 20 """
+ − 21
+ − 22 from tools.jid import JID
+ − 23
+ − 24
+ − 25 class QuickChatList ( dict ):
+ − 26 """This class is used to manage the list of chat windows.
+ − 27 It act as a dict, but create a chat window when the name is found for the first time."""
+ − 28
+ − 29 def __init__ ( self , host ):
+ − 30 dict . __init__ ( self )
+ − 31 self . host = host
+ − 32
+ − 33 def __getitem__ ( self , name_param ):
+ − 34 name = JID ( name_param ) . short
+ − 35 if not self . has_key ( name ):
+ − 36 #we have to create the chat win
+ − 37 self [ name ] = self . createChat ( name )
+ − 38 return dict . __getitem__ ( self , name )
+ − 39
+ − 40 def createChat ( self , name ):
+ − 41 raise NotImplementedError