Mercurial > repos > yufei-luo > s_mart
view commons/tools/srptCreateTable.py @ 18:94ab73e8a190
Uploaded
author | m-zytnicki |
---|---|
date | Mon, 29 Apr 2013 03:20:15 -0400 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env python import os import sys import getopt import ConfigParser from commons.core.sql.DbMySql import DbMySql def help(): print print "usage: %s [ options ]" % ( sys.argv[0].split("/")[-1] ) print "options:" print " -h: this help" print " -f: name of the input file" print " -n: name of the MySQL table" print " -t: table type (fasta|align|path|set|match|map|TEclassif|cluster)" print " -o: overwrite (default=False)" print " -c: configuration file from TEdenovo or TEannot pipeline" print " -H: MySQL host (if no configuration file)" print " -U: MySQL user (if no configuration file)" print " -P: MySQL password (if no configuration file)" print " -D: MySQL database (if no configuration file)" print " -T: MySQL port (if no configuration file, default=3306)" print " -v: verbose (default=0/1)" print def main(): """ This program loads data from a file into a MySQL table. """ filename = "" tablename = "" filetype = "" overwrite = False configFileName = "" host = "" user = "" passwd = "" dbname = "" port = 0 verbose = 0 try: opts, args = getopt.getopt( sys.argv[1:], "hf:t:n:oc:H:U:P:D:T:v:" ) except getopt.GetoptError, err: sys.stderr.write( "%s\n" % str(err) ) help() sys.exit(1) for o,a in opts: if o == "-h": help() sys.exit(0) elif o == "-f": filename = a elif o == "-n": tablename = a elif o == "-t": filetype = a elif o == "-o": overwrite = True elif o == "-c": configFileName = a elif o == "-H": host = a elif o == "-U": user = a elif o == "-P": passwd = a elif o == "-D": dbname = a elif o == "-T": port = int(a) elif o == "-v": verbose = int(a) if filename == "" or tablename == "" or filetype == "": print "ERROR: missing compulsory options" help() sys.exit(1) if configFileName != "": config = ConfigParser.ConfigParser() config.readfp( open(configFileName) ) host = config.get("repet_env","repet_host") user = config.get("repet_env","repet_user") passwd = config.get("repet_env","repet_pw") dbname = config.get("repet_env","repet_db") port = config.get("repet_env","repet_port") if host == "" and os.environ.get( "REPET_HOST" ) != "": host = os.environ.get( "REPET_HOST" ) if user == "" and os.environ.get( "REPET_USER" ) != "": user = os.environ.get( "REPET_USER" ) if passwd == "" and os.environ.get( "REPET_PW" ) != "": passwd = os.environ.get( "REPET_PW" ) if dbname == "" and os.environ.get( "REPET_DB" ) != "": dbname = os.environ.get( "REPET_DB" ) if port == 0 and os.environ.get( "REPET_PORT" ) != "": port = int( os.environ.get( "REPET_PORT" ) ) if host == "": print "ERROR: missing host" sys.exit(1) if user == "": print "ERROR: missing user" sys.exit(1) if passwd == "": print "ERROR: missing password" sys.exit(1) if dbname == "": print "ERROR: missing db name" sys.exit(1) if port == 0: print "ERROR: missing port" sys.exit(1) db = DbMySql(user, host, passwd, dbname, port ) if not os.path.exists( filename ): print "ERROR: input file '%s' doesn't exist" % ( filename ) sys.exit(1) db.createTable( tablename, filetype, filename, overwrite) db.close() return 0 if __name__ == "__main__": main()