genuinefafa

Obtener los tickets en diferentes Trac

Jun 27th, 2012
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. import os
  2. import sqlite3
  3.  
  4. TRAC_DIRECTORY = "/var/devel/trac"
  5. DB_DIRECTORY = "/db/trac.db"
  6. OUTPUT_FILENAME = "/home/fernando/tracs.csv"
  7. OUTPUT_PATTERN = "%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s\n"
  8.  
  9. SQL_ACTIVE_TICKETS = "SELECT id, type, time, changetime, component, severity, priority, status, replace(summary, ',', '.'), milestone  FROM ticket"
  10.  
  11. def processTrac(tracName):
  12.     ''' Procesamos un trac dado. '''
  13.     print "Procesando el TRAC " + tracName
  14.    
  15.     databaseFile = TRAC_DIRECTORY + "/" + tracName + DB_DIRECTORY
  16.     conn = sqlite3.connect( databaseFile )
  17.     c = conn.cursor()
  18.    
  19.     c.execute( SQL_ACTIVE_TICKETS )
  20.     row = c.fetchone()
  21.    
  22.     while row != None:
  23.         output_str = OUTPUT_PATTERN % (row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], tracName )
  24.         f.write( output_str.encode('UTF-8') )
  25.         row = c.fetchone()    
  26.        
  27.  
  28. def mustIgnore( dirName ):
  29.     ''' Determia si se debe procesar o no un directorio '''
  30.     if dirName[0] == ".":
  31.         return True
  32.     else:
  33.         return False
  34.        
  35. # Iteramos por todos los trac del directorio y los vamos procesando
  36. f = open( OUTPUT_FILENAME, "w" )
  37.  
  38. dirList = os.listdir(TRAC_DIRECTORY)
  39. for fname in dirList:
  40.     if not mustIgnore(fname):
  41.         processTrac( fname )
  42.        
  43. f.close()
Advertisement
Add Comment
Please, Sign In to add comment