vendredi 4 mai 2012

mysqlimport

Le fichier doit porter le nom de la table à l'extension près. Ici les options utilisées sont :
  • --delete pour vider la table avant l'import
  • --fields-terminated-by pour le séparateur entre les champs
  • --lines-terminated-by pour le caractère de fin de ligne (ici DOS/WINDOWS)

mysqlimport 
--fields-terminated-by=\; 
--lines-terminated-by="\\r\\n" 
-v 
--delete 
-utest -ptest -hlocalhost BASE TABLE.csv

python, conversion d'un fichier d'iso8859 en utf8

#!/bin/python

import sys

if len(sys.argv) != 3:
    print 'usage: python iso8859toutf8.py [infile] [outfile]'
    sys.exit(0)

with open(sys.argv[2], 'w') as fout:
    with open(sys.argv[1], 'r') as fin:
        data = fin.read().decode('iso8859')
        while data:
            fout.write(data.encode('utf8'))
            data = fin.read().decode('iso8859')

mardi 24 avril 2012

python, envoi d'un mail avec un fichier en attachement


import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email import Encoders

msg = MIMEText('le texte du message')
msg['From']='crontab-do-not-reply@example.com'
msg['To']='destinataire1@example.com,destinataire2@example.com'
msg['Subject']='le titre du message'

texte = MIMEText(u'Le \xe9but du message', 'plain', 'utf-8')
msg.attach(texte)

content = MIMEBase('text', 'csv')
content.set_payload(csvbuffer)
Encoders.encode_base64(content)
content.add_header('Content-Disposition', 'attachment', filename='fichier.csv')
msg.attach(content)

smtp = smtplib.SMTP(mailhost)
smtp.sendmail('crontab-do-not-reply@example.com', ['destinataire1@example.com', 
                'destinataire2@example.com'], msg.as_string())
smtp.quit()

python, envoi d'un mail texte


import smtplib
from email.MIMEText import MIMEText

msg = MIMEText('le texte du message')
msg['From']='crontab-do-not-reply@example.com'
msg['To']='destinataire1@example.com,destinataire2@example.com'
msg['Subject']='le titre du message'

smtp = smtplib.SMTP(mailhost)
smtp.sendmail('crontab-do-not-reply@example.com', ['destinataire1@example.com', 
                'destinataire2@example.com'], msg.as_string())
smtp.quit()

mardi 10 avril 2012

Quelle est la plus longue...

... ligne ! Elle peut être donnée via l'option méconnue -L de la commande wc...
$ find . -name '*.java' | sed -e 's/.*\///' | wc -L
73