El siguiente código se utiliza para dejar una bitácora de información procesada en un sistema integral y posterior envío a una solución SAP.
Ahora bien, al principio valida que exista un nuevo cliente y si existe un nuevo cliente envía las facturas pendientes de envío a SAP.
Lo que deseo es cambiar la validación en donde solo valide si existe un nuevo cliente, en caso de que no exista aún así envíe la información de la facturas y no quede limitado a la creación del nuevo cliente
gracias por la ayuda:
import sys,os,time,dircache,re,traceback,datetime
from ftplib import FTP
host = 'x.x.x.x'
user1 = 'usuario'
pass1 = 'contraseña'
remdir = '/'
dircli = '/export//files/SAP/Clientes/'
dirfac = '/export//files/SAP/Facturas/'
dirsap = '/export//files/SAP/'
b = []
varsynC = []
deldirectorio = dircache.listdir(dircli)
delarchivo= open(dirsap+'DirCli','r').readlines()
p = []
varsynO = []
deldirectorio2 = dircache.listdir(dirfac)
delarchivo2= open(dirsap+'DirFac','r').readlines()
#-------------------------
def desflemado(dfls):
for c in range(len(dfls)):
dfls[c]=dfls[c].split('n',1)[0]
#-------------------------
def grabar(archivo,variable):
f= open (archivo,'w')
for w in variable:
f.write(w+'n')
f.close()
#-------------------------
def handleDownload(block):
file.write(block)
print ".",
#---------------------- busqueda de fecha de mes
def mes(abril,mez):
for a in abril:
if a[12:14] == mez:
print a+' es de '+ mez
#----------------------
desflemado(delarchivo)
#----------------------busqueda de
for y in deldirectorio:
if delarchivo.count(y) == 0:
b.append(y)
#----------------------ftp
for cont in b:
try:
try:
ftp = FTP(host,user1,pass1)
ftp.cwd(remdir)
fupload = open(dircli+cont,'rb')
ftp.storlines('STOR '+cont,fupload)
fupload.close()
varsynC.append(cont)
finally:
ftp.quit()
except:
traceback.print_exc()
rbc = open(dirsap+'bitacoraC','r').readlines()
rsc = open(dirsap+'DirCli','r').readlines()
desflemado(rbc)
desflemado(rsc)
#--------------------------
for r in varsynC:
rsc.append(r)
rbc.append(r+' fue subido exitosamente '+datetime.datetime.now().__str__())
#--------------------------
grabar(dirsap+'bitacoraC',rbc)
grabar(dirsap+'DirCli',rsc)
###################################################################################
if len(b) != 0:
time.sleep(1000)
#----------------------
desflemado(delarchivo2)
#----------------------busqueda de
for z in deldirectorio2:
if delarchivo2.count(z) == 0:
p.append(z)
#----------------------ftp
for kont in p:
try:
try:
ftp = FTP(host,user1,pass1)
ftp.cwd(remdir)
fupload = open(dirfac+kont,'rb')
ftp.storlines('STOR '+kont,fupload)
fupload.close()
varsynO.append(kont)
finally:
ftp.quit()
except:
traceback.print_exc()
rbc2 = open(dirsap+'bitacoraF','r').readlines()
rsc2 = open(dirsap+'DirFac','r').readlines()
desflemado(rbc2)
desflemado(rsc2)
#--------------------------
for p in varsynO:
rsc2.append(p)
rbc2.append(p+' fue subido exitosamente '+datetime.datetime.now().__str__())
#--------------------------
grabar(dirsap+'bitacoraF',rbc2)
grabar(dirsap+'DirFac',rsc2)