2016-06-20 11 views
0

Ich habe die Lead-Generierung durch eingehende E-Mail durch den folgenden Code angepasst. Ich hole den Inhalt des Körpers in E-Mail und passend zu den Feldern, die in Blei vorhanden sind. Die Vorlage wird jedes Mal gleich sein, aber einige Male werden die Daten nicht präsentieren. Beispiel; Vorlage ist Anrufer Name: abcd Telefon: 1234567891 E-Mail: [email protected] Datum: 16/12/16 Die Daten in E-Mail-Körper wird immer gleich sein, aber manchmal wird die E-Mail nicht angezeigt oder andere. Die E-Mail wird nicht erzeugen, um zu führen. Ich will die Bedingung, dass über Daten dann präsentieren, dass Felder gefüllt werden sollten, andernfalls verließ es. Ca jemand mir helfen, wie diese Bedingung schreibenAnpassen der eingehenden Blei zum automatischen Füllen der Felder in Blei in Body E-Mail vorhanden

Mein Code:
def message_new (self, cr, uid, msg, custom_values ​​= None, context = None): _logger.info ("________________________ MESSAGE_NEW________________________") _logger .info (msg.get ('Thema', ''))

#myString = msg.get('subject', '') 
    #myString.index('Phone:') 
    #mobileNumber = myString[myString.index('Phone:')+6:myString.index('Phone:')+16] 
    myString = html2plaintext(msg.get('body', '')) 
    _logger.info(myString) 
    myString.index('Caller Name:') 
    newstring=myString.split("*") 
    _logger.info("--------------------------------------------------------") 
    _logger.info(newstring) 
    indx=newstring.index('Caller Name:') 
    mobileNumber = newstring[indx+1] 
    indx=newstring.index('Caller\nPhone:') 
    mobile=newstring[indx+1] 
    indx=newstring.index('City:') 
    city=newstring[indx+1] 
    indx=newstring.index('Branch Info:') 
    branch=newstring[indx+1] 
    indx=newstring.index('Caller\nEmail:') 
    emailstr=newstring[indx+1] 
    emailarr=emailstr.split("[") 
    email=emailarr[0] 
    indx=newstring.index('Caller\nRequirement:') 
    requirement=newstring[indx+1] 
    indx=newstring.index('Caller\nRequirement:') 
    requirement=newstring[indx+1] 
    indx=newstring.index('Call Date &\nTime:') 
    date=newstring[indx+1] 
    if context is None: 
     context = {} 
    data = {} 
    if isinstance(custom_values, dict): 
     data = custom_values.copy() 
    model = context.get('thread_model') or self._name 
    model_pool = self.pool[model] 
    fields = model_pool.fields_get(cr, uid, context=context) 

    if 'name' in fields and not data.get('name'): 
     data['name'] = requirement 
    if 'contact_name' in fields and not data.get('contact_name'): 
     data['contact_name'] = mobileNumber 
    if 'city' in fields and not data.get('city'): 
     data['city'] = city 
    if 'mobile' in fields and not data.get('mobile'): 
     data['mobile'] = mobile 
    if 'street' in fields and not data.get('street'): 
     data['street'] = branch 
    if 'email_from' in fields and not data.get('email_from'): 
     data['email_from'] = email 
    if 'x_date' in fields and not data.get('x_date'): 
     data['x_date'] = date 

    res_id = model_pool.create(cr, uid, data, context=context) 
    return res_id 

Antwort

1

Dies ist Ihr Zustand

wenn 'Caller \ nEmail:' in newstring: wenn newstring.index ('Caller \ nEmail : '): indx4 = newstring.index ('Caller \ nEmail:') emailstr = newstring [indx4 + 1] emailarr = emailstr.split ("[") email = emailarr [0] anderes: email = '' sonst: email = ''