Added README and reorganized directory structure (breaks code)
[hooke.git] / hooke / liboutlet.py
1 #!/usr/bin/env python
2
3 '''
4 Basic outlet object
5
6 Copyright (C) 2008 Alberto Gomez-Casado (University of Twente).
7
8 This program is released under the GNU General Public License version 2.
9 '''
10
11
12 import re
13
14
15 class Outlet(object):
16     
17     def __init__(self):
18         self.buffer=[]
19         #relations is still unused
20         self.relations=[]
21     
22     def push(self, args):
23         #queue new entry
24         self.buffer.append(args)
25
26     def pop(self):
27         #delete last entry
28         return self.buffer.pop();
29
30     def printbuf(self):
31         j=1;
32         for i in self.buffer:
33             print j, i
34             j=j+1
35
36     def delete(self, number):
37         #delete entry matching given index
38         if len(self.buffer)>int(number)-1 and int(number)>0:
39             self.buffer.pop(int(number)-1)              
40
41     def empty(self):
42         self.buffer=[]
43         
44     def read_last(self):
45         return self.buffer[len(self.buffer)-1]
46     
47     def read_first(self):
48         return self.buffer[0]
49
50     def read_type(self,dtype):
51         #returns entries matching a given type (force, distance, point...)        
52         aux=[]
53         index=0
54         if dtype=='all':
55                 return self.buffer
56         for i in self.buffer:
57                 if re.match(dtype+'*',i):
58                         aux.append(i)
59         return aux
60     
61