1
2
3
5 """
6 The base class for all packetloaders.
7 """
8
9 - def __init__(self, data = None, **settings):
10 """
11 @type data: str or buffer
12 @param settings: Settings set for this packetloader
13 """
14 self.settings = settings
15 self.initialize()
16 if data is not None:
17 self.read(data)
18
19 - def new(self, loaderClass, *arg, **kw):
20 """
21 Creates a new loader from loaderClass and passes the
22 current settings to it
23
24 @type loaderClass: _BaseLoader
25 """
26 kw.update(self.settings)
27 kw['parent'] = self
28 newLoader = loaderClass(*arg, **kw)
29 return newLoader
30
32 """
33 Initializer for this loader
34 """
35
36 - def read(self, data):
37 """
38 Parses 'data' and sets the properties of the
39 packetloader.
40 @type data: str or buffer
41 """
42 raise NotImplementedError('read() method not implemented (%s)' % self.__class__)
43
45 """
46 Generate the raw representation of the packetloader.
47 """
48 raise NotImplementedError('generate() method not implemented')
49
51 - def read(self, data):
53
56