1 class Offer(): |
1 class Offer(): |
|
2 """One Offer for sending. |
|
3 This class is used to send a message via a provider. |
|
4 """ |
2 def __init__(self, name, provider, route, typ): |
5 def __init__(self, name, provider, route, typ): |
|
6 """ Constructor for Offer class. |
|
7 |
|
8 :param string name: name is the name in database for the offer |
|
9 :param `iro.offer.provider.Provider` provider: A valid provider object. |
|
10 :param sting route: used to the the right send function via :meth:`iro.offer.provider.Provider.getSendFunc`. |
|
11 :param sting typ: used to the the right send function via :meth:`iro.offer.provider.Provider.getSendFunc`. |
|
12 |
|
13 |
|
14 .. automethod:: __call__ |
|
15 .. automethod:: __eq__ |
|
16 .. automethod:: __neq__ |
|
17 .. automethod:: __repr__ |
|
18 """ |
3 self.name = name |
19 self.name = name |
4 self.route = route |
20 self.route = route |
5 self.provider = provider |
21 self.provider = provider |
6 self.typ = typ |
22 self.typ = typ |
7 self.sendfunc = provider.getSendFunc(typ, route) |
23 self.sendfunc = provider.getSendFunc(typ, route) |
8 |
24 |
9 def __call__(self, recipient, message): |
25 def __call__(self, recipient, message): |
|
26 """send a message to a recipient. This method uses :meth:`iro.offer.provider.Provider.send` |
|
27 |
|
28 :param recipient: one recipient |
|
29 :param `iro.model.message.Message` message: message to send |
|
30 """ |
10 return self.sendfunc(recipient, message) |
31 return self.sendfunc(recipient, message) |
11 |
32 |
12 def __eq__(self,o): |
33 def __eq__(self,o): |
|
34 """return ``True``, if o is equal.""" |
13 return (self.name == o.name) and (self.route == o.route) and (self.provider == o.provider) and (self.typ == o.typ) |
35 return (self.name == o.name) and (self.route == o.route) and (self.provider == o.provider) and (self.typ == o.typ) |
14 |
36 |
15 def __neq__(self,o): |
37 def __neq__(self,o): |
|
38 """return ``True``, if ``o`` is not equal (see :meth:`__eq__`).""" |
16 return not self.__eq__(o) |
39 return not self.__eq__(o) |
17 |
40 |
18 def __repr__(self): |
41 def __repr__(self): |
19 return "<Offer(%s,%s:%s,%s)>"%(self.name,self.provider,self.route,self.typ) |
42 """string representation of this class for debugging purpose. |
20 |
43 |
|
44 :return: ``<Offer(name, provider, route, typ)>`` """ |
|
45 return "<Offer(%s, %s, %s, %s)>"%(self.name,self.provider,self.route,self.typ) |
|
46 |