Pokazywanie postów oznaczonych etykietą python. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą python. Pokaż wszystkie posty

poniedziałek, 7 października 2013

Read linux dmesg with date

Simple script to read dmesg from linux (contains real date no miliseconds)
----------------------------------------------------------------------------------------------------------
#!/usr/bin/python
import sys
import re
import time
import datetime
import fileinput
import os

try:
  uptime = open('/proc/uptime','r')
except IOError as (errno, strerror):
  print "Wystapil blad otwarcia pliku :\n %s\n" % (strerror)

czas = time.time()

uptime_seconds = czas-float(uptime.readline().split()[0])

p = os.popen('dmesg')

for line in p.readlines():

  re1='.*?'
  re2='(\\d+)'
  re3='(\\.)'
  re4='(\\d+)'

  rg = re.compile(re1+re2+re3+re4,re.IGNORECASE|re.DOTALL)
  m = rg.search(line)
  if m:
      int1=float(m.group(1)+m.group(2)+m.group(3))
      szukaj=(m.group(1)+m.group(2)+m.group(3))
      czas = uptime_seconds + int1
      czas = datetime.datetime.fromtimestamp(int(czas)).strftime('%Y-%m-%d %H:%M:%S')
   
      zwrot = re.sub(szukaj,czas,line.rstrip(),1)

      print zwrot

sobota, 24 grudnia 2011

MySQL - connection class in python

Simple class allowing connect to mysql databse and gather/insert data into it.

Import class system and MySQLdb


import sys
import MySQLdb


Connect to database - if an error occures display message and exit.


def __init__(self,host,user,password,database):
self.database_connect(host,user,password,database)
return

def database_connect(self,host,user,password,database):
try:
self.conn = MySQLdb.connect(host=host, user=user, passwd=password, db=database)
except MySQLdb.Error, e:
print "Connection error\n%d: %s\n" % (e.args[0],e.args[1])
sys.exit(1)
return

Try to connect to database and return cursor.


def cursor_return(self):
try:
self.conn.ping()
except:
self.database_connect()
return self.conn.cursor()


Get one result from database.


def result_return(self,query):
kursor = self.cursor_return()
try:
kursor.execute(query)
except MySQLdb.Error, e:
print "Query error\n%s\n%d: %s\n" % (query,e.args[0],e.args[1])
sys.exit(1)

result = kursor.fetchone()
kursor.close()
return result


Get results from database.


def results_return(self,query):
kursor = self.cursor_return()
try:
kursor.execute(query)
except MySQLdb.Error, e:
print "Query error\n%s\n%d: %s\n" % (query,e.args[0],e.args[1])
sys.exit(1)

results = kursor.fetchall()
kursor.close()
return results


Execute query.


def execute_query(self,query):
kursor = self.cursor_return()
try:
kursor.execute(query)
except MySQLdb.Error, e:
print "Query error\n%s\n%d: %s\n" % (query,e.args[0],e.args[1])
sys.exit(1)
kursor.close()
return


How to us it?



import DBMySQL

c=DBMySQL.DataBase("hostname","username","password","database_example")

t = c.results_return("SELECT id,title FROM films;")

for (i,j) in t:
print "%s %s " % (i,j)



1 Transporter
2 Taxi 1
3 Taxi 2
4 Taxi 3
5 Alien 2
6 Alien 1
7 Alien 3
8 Alien 4
9 The Thing
10 Reservoir dogs

Source code