iro/offer/offer.py
branchdevel
changeset 257 31114e40178d
parent 161 072ee139eb67
child 294 0e75bd39767d
equal deleted inserted replaced
256:530d6283c0e3 257:31114e40178d
     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