Publié dans Python

Lister les nouveaux fichiers et supprimer les anciens dans un repertoire avec python


Si vous sauvegardez des fichiers logs  dans un répertoire vous aurez peut être envi un jour de faire le ménage  en supprimant les anciens fichiers et garder les nouveaux.Je suis plus ou moins dans le même contexte et j’ai écrit un script en python qui fait mon bonheur.Si jamais ça peut vous être utile temps mieux :-).

# Supprimer les anciens fichiers .dat et garder les n plus récents
import os
path = '/Users/elwan7/fichier_dat/'
nombre_fichier_recent = 5

os.chdir(path)
fichiers = sorted(os.listdir(os.getcwd()), key=os.path.getmtime)
fichiers_dat = []
for element in fichiers:
    if element.endswith('.dat'):
        fichiers_dat.append(element)

liste_nouveau = fichiers_dat[-nombre_fichier_recent:]
file_to_delete = fichiers_dat
for r in liste_nouveau:
    file_to_delete.remove(r)
if file_to_delete:
    for i in file_to_delete:
        os.remove("{}".format(path + '/' + i))

Publié dans Python, Serveurs

Installation de Odoo 8.0 (ex openerp) sur ubuntu 14.04 LTS


Odoo est un PGI(progiciel de gestion intégré) qui peut regrouper l’ensemble des fonctions(gestion de stock,comptabilité,vente,RH,CRM,…) d’une entreprise dans un seul programme informatique dans le but de facilité l’interaction avec les différents départements, d’éviter la redondance d’informations pour ne citer que cela .Dans la liste des PGI encore appelé ERP(en anglais) nous pouvons distinguer les EPR opensources(odoo,openbravo,trython,…) et propriétaires(SAP,SAGE,GEAC…),ainsi dans cette article nous allons parler du plus célèbre des ERP opensource. Nous n’allons pas parler de l’aspect fonctionnel pour le moment.Ainsi si vous lisez ces lignes je suppose que vous êtes déjà imprégné sur le sujet et que vous avez décidé de passez à l’installation pour vous familiarisez avec ce système.L’installation peut se faire de plusieurs façons mais nous avons choisi l’installation depuis les sources qui facilite le développement et l’intégration de nouveau module et le déboggage en cas de problème. Pour en savoir plus sur les autres méthodes d’installation vous pouvez visitez la documentation officielle ici

Pre-requis

Nouvelle installation de Ubuntu-server 14.04 si vous n’avez pas l’image vous pouvez aller le télécharger au niveau du site officiel Ici.
L’installation de la machine GNU/Linux ne sera pas détaillée dans ce tutoriel merci de votre compréhension :-p .
N’oubliez pas d’installer openssh-server pour accéder à votre machine à distance(optionnel).

Première étape :

Installation de git et des dépendances

sudo apt-get install git

sudo apt-get install graphviz ghostscript postgresql-client \
python-dateutil python-feedparser python-matplotlib \
python-ldap python-libxslt1 python-lxml python-mako \
python-openid python-psycopg2 python-pybabel python-pychart \
python-pydot python-pyparsing python-reportlab python-simplejson \
python-tz python-vatnumber python-vobject python-webdav \
python-werkzeug python-xlwt python-yaml python-imaging

sudo apt-get install gcc python-dev mc bzr python-setuptools python-babel \
python-feedparser python-reportlab-accel python-zsi python-openssl \
python-egenix-mxdatetime python-jinja2 python-unittest2 python-mock \
python-docutils lptools make python-psutil python-paramiko poppler-utils \
python-pdftools antiword

installer le paquet wkhtmltopdf qui permet d’avoir des rapports en pdf ainsi il faut installer le paquet manuellement au moment au j’écris ces lignes la version disponible dans les depots de Ubuntu n’est pas compatible avec odoo 8.Voici le lien directe pour telecharger la version de Ubuntu Trusty ici

ensuite installer le paquet avec la commande suivante

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

Deuxième étapes :

Installation et configuration de la base de donnee

sudo apt-get install postgresql
creation de l’utilisateur odoo pour la base de donnée
sudo -u postgres createuser -s odoo

Troisième étapes :

Récupérer le code source de odoo depuis github
wget -O- https://raw.githubusercontent.com/odoo/odoo/8.0/odoo.py | python

Quatrième étapes :

exécuter le serveur
cd odoo
./openerp-server

Maintenant si tout se passe bien notre application sera disponible à l’url suivant http://localhost:8069

NB:

Si pendant le démarrage de l’application vous obtenez l’erreur suivante
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

la solution est :
export LC_CTYPE='en_US.utf8'
Et redémarrer l’application à nouveau .

Publié dans Langages, Linux, Python, Telecoms

Envoyer un sms avec votre ordinateur via bluetooth


Ceci est un script python qui permet d’envoyer un sms depuis son ordinateur via une connexion bluetooth avec un téléphone portable.Ceci ne représente pas grand chose…. mais je juge utile de le partager pour l’améliorer  😉

Donc avant toute chose sachez qu’on a deux méthodes d’envoi de sms avec les Commandes AT:

-Le mode Texte(140 caracteres)

-Le mode PDU(160 caracteres)

dans ce tuto le mode Texte sera utilise pour en savoir plus sur les sms suivez ce lien…. en anglais  😛

Prerequis

    • système d’exploitation Linux(Ubuntu)

 

  • Installer Python

 

 

  • Installer les Modules  python-bluetooth  python-bluez

 

 

  • Un téléphone Portable compatible mode texte

 

 

  • Une clé bluetooth a défaut d’un périphérie natif sur votre ordinateur

 

 

  • Un tout petit peu de connaissance en Python 🙂

 

 

Script

 #!/usr/bin/python # -*- encoding: utf-8 -*- import bluetooth #entrer le nom du peripherie bluetooth target_name =raw_input("entrer le nom de votre periphérie:\n") target_address = None #recherche des périphéries bluetooth disponibles nearby_devices = bluetooth.discover_devices() #recherche le nom de votre périphérie dans la liste des adresses disponibles for bdaddr in nearby_devices: if target_name == bluetooth.lookup_name( bdaddr ): target_address = bdaddr break #si la périphérie est trouvée on se lance dans le processus de connexion au téléphone grâce au protocole RFCOMM #on a besoin d'un canal de communication et de l'adresse du périphérie if target_address is not None: bt_addr = target_address channel =  bluetooth.find_service(address=bt_addr, uuid=bluetooth.DIALUP_NET_CLASS)[0]['port'] #channel = 1 #si la connexion est établie on entre le numéro du destinataire et le message a envoye(max 140 caracteres) dest =raw_input("Entrer le numéro du destinataire:\n") text =raw_input("Entrer votre message:\n") #connection au périphérie via RFCOMM sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM) sock.connect((bt_addr, channel)) # passe le modem en mode texte pour l'envoi de sms sock.send("AT+CMGF=1\r") sock.send("AT+CMGS=\"%s\"\r" % dest) # chr(032) -> ctrl + Z, séparateur de fin de sms sock.send("%s%s" % (text,chr(032))) #fermer la connexion sock.close() print "message bien envoyer" else: print 'aucun périphérie trouver'

Voila j’espere que vous y trouverais votre compte toutes remarques et améliorations du scripts est la bienvenue
🙂
be free be linux!!!

Publié dans Langages, Linux, Python

Script python pour redemarrer votre modem-routeur speedtouch


Suite aux nombreuses défaillances de la connexion internet fournit par mon FAI j’était souvent obligé d’aller redémarrer le modem-routeur(SpeedTouch 530) qui n’était pas dans ma chambre ce qui était ennuyant et les fatiguants vas-et-vient j’en pouvais plus 🙂 donc il m’est venu l’idée de créer un script en Python(the best 🙂 ) qui  le redémarre à distance 😛 j’espère qu’il vous sera utile et toute suggestion est la bienvenue 😉

!/usr/bin/env python
#importer le module pexpect et le module sys
import pexpect
import sys

#creer notre object de connexion
cnx=pexpect.spawn('telnet 192.168.1.254')

#creation du fichier mylog pour voir le comportement du script
fout = file('/tmp/mylog.txt','w')
cnx.logfile = fout

#recuperer le login et le mot de passe
cnx.expect('Username :')
cnx.sendline('Administrator\r')
cnx.expect('Password :')
cnx.sendline('Administrator\r')

#recuper le prompt

cnx.expect('=>')

#entre le commande pour redemarrer le modem

cnx.sendline(":system reboot\r")

#fermer la connexion
cnx.close

PS:par défaut le module pexpect n’est pas installé
pour l’installer

 wget http://pexpect.sourceforge.net/pexpect-2.3.tar.gz
 tar xzf pexpect-2.3.tar.gz
 cd pexpect-2.3
 sudo python ./setup.py install