wysyłanie plików z rozszerzeniem *.pdf z danego katalogu

0

Dzień dobry,
Nie umiem programować. Proszę o pomoc w modyfikacji poniższego kodu, aby wysyłał wszystkie pliki z danego katalogu na dysku, które mają rozszerzenie *.pdf oraz *.PDF.
Obecnie wysyła pliki, z danego katalogu na dysku, których nazwa zaczyna się na XX i XY (if plik.startswith(("XX", "XY")):).
Z góry dziękuję za pomoc.

import os
from os.path import join, getsize
import sys
import smtplib
import glob
import fnmatch
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
from email import Charset
import time
import logging
import ConfigParser
config = ConfigParser.RawConfigParser()
config.read('/home/test/test.conf')
adres_serwera = config.get('serwer', 'adres_serwera')
logdir = config.get('log', 'logdir')
mail_from = config.get('mail', 'mail_nadawcy')
mail_password = config.get('mail', 'mail_haslo')
mail_temat_test = config.get('mail', 'mail_temat_test')
mail_tekst = config.get('mail', 'mail_tekst')
przedst = config.get('kontr', 'adress_file')
home_dir = config.get('kontr', 'home_dir')
'''print adres_serwera
print logdir
print mail_password
print mail_from
print mail_temat
print mail_tekst
print kontr'''
dzisiaj = time.strftime('%Y%m%d')
wiersz = []
fp = open(mail_tekst, 'rb')
mail_tekst = fp.read().
fp.close()
logfile = dzisiaj+"_list.log"
if not os.path.exists(logdir):
  os.mkdir(logdir)
logfile = logdir+logfile
if not os.path.exists(logfile):
  print "NIE MA PLIKU LOGOW, tworze plik".
  logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s', filename=logfile, filemode='w', level=logging.DEBUG)
else:.
  logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s', filename=logfile, filemode='a', level=logging.DEBUG)
s = smtplib.SMTP_SSL()
s.connect(adres_serwera,465)
s.login(mail_from, mail_password)
def sendMail(to, subject, text, files=[],server=adres_serwera):
    assert type(to)==list
    assert type(files)==list
   msg = MIMEMultipart()
    msg['From'] = mail_from
    msg['To'] = COMMASPACE.join(to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject
    msg.attach( MIMEText(text, 'plain', 'UTF-8'))
    for file in files:
        part = MIMEBase('application', "octet-stream")
        part.set_payload( open(file,"rb").read() )
        Encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="%s"'
        % os.path.basename(file))
        msg.attach(part)
s.sendmail(mail_from, to, msg.as_string() )
file = open(przedst, "r")
for nr,line in enumerate(file): 
  line = line.strip()
  string = line
  if line:
    wiersz.append(line)  
    folder, mail = wiersz[nr].split(",") 
print mail
    for path, dirs, files in os.walk(home_dir+folder): 
      print path, files
      pliki = [] 
      pliki.append(path) 
      lista_plikow=[]
      for plik in files: 
      if plik.startswith(("XX", "XY")):
plik = pliki[0]+os.sep+plik 
lista_plikow.append(plik)
      print lista_plikow
      if len(lista_plikow) == 0:
         temat = 0
      elif len(lista_plikow) == 1:.
        try:
         sendMail([mail], mail_temat_test, mail_tekst ,lista_plikow)
        except smtplib.SMTPConnectError, komunikat:
         logging.warning(komunikat)
        except smtplib.SMTPAuthenticationError, komunikat:
         logging.warning(komunikat)
        except smtplib.SMTPRecipientsRefused, komunikat:
         logging.warning(komunikat)
        except smtplib.SMTPResponseException, komunikat:
         logging.warning(komunikat)
        else:
         for plik in lista_plikow:
           to_log = "wyslano wiadomosc do: "+mail+" z plikiem "+plik
           print to_log
        else:.
        try:
         sendMail([mail], mail_temat_test, mail_tekst ,lista_plikow)
        except smtplib.SMTPConnectError, komunikat:
         logging.warning(komunikat)
        except smtplib.SMTPAuthenticationError, komunikat:
         logging.warning(komunikat)
        except smtplib.SMTPRecipientsRefused, komunikat:
         logging.warning(komunikat)
        except smtplib.SMTPResponseException, komunikat:
         logging.warning(komunikat)
        else:
         for plik in lista_plikow:
           to_log = "wyslano wiadomosc do: "+mail+" z plikiem "+plik
           print to_log
s.close()
4

.endswith((".pdf", ".PDF")):

4

Spróbowałbym zmienić tak jak napisał kolega wyżej, ewentualnie żeby nie przejmować się wielkością znaków zrobićw lini 81 coś w stylu

if plik.lower().endswith((".pdf")):
0
silver1 napisał(a):

Spróbowałbym zmienić tak jak napisał kolega wyżej, ewentualnie żeby nie przejmować się wielkością znaków zrobićw lini 81 coś w stylu

if plik.lower().endswith((".pdf")):

Dziękuję "silver1".
Mogę Cię prosić jeszcze o podpowiedź, co musiał bym dodać w kodzie, który zamieściłem, żeby wysyłał wszystko z katalogu z wyjątkiem plików z rozszerzeniem *.pdf ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1