Trees | Indices | Help |
|
---|
|
1 #-*- coding: utf8 -* 2 # 3 # Max E. Kuznecov ~syhpoon <syhpoon@syhpoon.name> 2008 4 # 5 # This file is part of XYZCommander. 6 # XYZCommander is free software: you can redistribute it and/or modify 7 # it under the terms of the GNU Lesser Public License as published by 8 # the Free Software Foundation, either version 3 of the License, or 9 # (at your option) any later version. 10 # XYZCommander is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU Lesser Public License for more details. 14 # You should have received a copy of the GNU Lesser Public License 15 # along with XYZCommander. If not, see <http://www.gnu.org/licenses/>. 16 17 from libxyz.exceptions import XYZValueError 1820 """ 21 Fixed-sized list 22 """ 237925 super(Queue, self).__init__() 26 27 try: 28 self.maxsize = int(maxsize) 29 except ValueError: 30 raise XYZValueError(_(u"Max-size must be of integer type"))31 32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3335 """ 36 Push a new item to queue. If queue already contains maxsize elements 37 replace the oldest one. 38 """ 39 40 if self.maxsize <= 0: 41 return 42 elif len(self) == self.maxsize: 43 del(self[0]) 44 45 self.append(item)46 47 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4850 """ 51 Pop item from the beginning of the queue 52 Raise IndexError if queue is empty 53 """ 54 55 return super(Queue,self).pop(0)56 57 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58 65 66 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Aug 3 02:02:16 2009 | http://epydoc.sourceforge.net |