13/09/2013, 12:03
|
| | | Fecha de Ingreso: septiembre-2013
Mensajes: 1
Antigüedad: 11 años, 2 meses Puntos: 0 | |
Usar el atributo de una clase en un metodo, fuera de la clase Bueno soy nueva por aca, mi duda es como dice el titulo.
Como puedo usar una variable de una clase en un método, estoy levantando un servicio de SMPP
Código:
def Active(idEventSms):
x=SMPP(idEventSms)
x.run()
y=x.message()
reactor.run()
return y
class SMPP(object):
def __init__(self,idEventSms,config=None):
if config is None:
logging.basicConfig(level=logging.DEBUG)
self.idEventSms=int(idEventSms)
self.Event=None
host='host'
port=0000
username='user'
password='pass'
self.smpp=None
config = SMPPClientConfig(host=host, port=port, username=username, password=password)
self.config = config
@defer.inlineCallbacks
def run(self):
try:
self.smpp = yield SMPPClientTransceiver(self.config,self.handleMsg).connectAndBind()
yield self.smpp.getDisconnectedDeferred()
except Exception, e:
print "ERROR: %s" % str(e)
finally:
reactor.stop()
def handleMsg(self, smpp, pdu):
"""
NOTE: you can return a Deferred here
"""
print "Received pdu %s" % pdu
def message(self):
"""
NOTE: you can return a Deferred here
"""
submit_pdu = SubmitSM(
#service_type,
#source_addr_ton=SOURCE_ADDR_TON,
#source_addr_npi,
source_addr=ESME_NUM,
#dest_addr_ton=DEST_ADDR_TON,
#dest_addr_npi=DEST_ADDR_NPI,
destination_addr=self.phoneNumber,
esm_class=EsmClass(EsmClassMode.STORE_AND_FORWARD, EsmClassType.SMSC_DELIVERY_RECEIPT),
protocol_id=0,
#priority_flag,
#schedule_delivery_time,
#validity_period, registered_delivery=RegisteredDelivery(RegisteredDeliveryReceipt.SMSC_DELIVERY_RECEIPT_REQUESTED),
replace_if_present_flag=ReplaceIfPresentFlag.DO_NOT_REPLACE,
data_coding=DataCoding(DataCodingScheme.DEFAULT, DataCodingDefault.SMSC_DEFAULT_ALPHABET),
sm_default_msg_id=self.idEventSms,
short_message=self.bodySms)
a,f=self.smpp.sendEvent(str(self.idEventSms),self.idSmsFriend)
print a,f
self.smpp.sendDataRequest(submit_pdu)
self.smpp.getDisconnectedDeferred()
return self.smpp
Pero necesito que retorne el valor de smpp y retorna otra cosa que no es no quiero que al llamar el self.smpp, funcione desde cualquier parte fuera de la clase.
Gracias de antemano. |