Advertisement
Guest User

Untitled

a guest
Dec 23rd, 2016
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.84 KB | None | 0 0
  1. import random
  2. import string
  3. import argparse
  4. import subprocess
  5. import MySQLdb
  6.  
  7. def save_to_db(addr_arr):
  8.     check_proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
  9.     tmp = check_proc.stdout.read()
  10.     if 'credentials.txt' in tmp:
  11.         credentials = open('credentials.txt','r')
  12.         credentials = credentials.read()
  13.         credentials = credentials.split(':')
  14.         hostname = credentials[0]
  15.         username = credentials[1]
  16.         password = credentials[2]
  17.         dbname = credentials[3]
  18.         database = MySQLdb.connect(hostname, username, password, dbname)
  19.         print("AUTOCONNECT OK")
  20.     else:
  21.         print("hostname: ")
  22.         hostname = raw_input('>')
  23.         print("username: ")
  24.         username = raw_input('>')
  25.         print("password: ")
  26.         password = raw_input('>')
  27.         print("dbname: ")
  28.         dbname = raw_input('>')
  29.         print("Do you want to remember this data? [y/n]")
  30.         save = raw_input('>')
  31.         if save == 'y':
  32.             credentials = open('credentials.txt','a')
  33.             credentials.write(str(hostname) + ":" + str(username) + ":" + str(password) + ":" + str(dbname))
  34.         database = MySQLdb.connect(hostname, username, password, dbname)
  35.         print("OK")
  36.  
  37.     print("Query: (INSERT INTO ____ (____) )")
  38.     userquery = input('>')
  39.     for i in range(len(addr_arr)):
  40.         DBquery = (str(userquery) + "VALUES " + str(url_list[i]))
  41.     cursor = db.cursor()
  42.  
  43.  
  44. def write_to_file(addr_arr):
  45.     urllist = open('urllist.md', 'a')
  46.     for addr in range(len(addr_arr)):
  47.         urllist.write(str(addr_arr[addr]) + "\n")  
  48.  
  49. def check_unique(rnd_url):
  50.     # Checks if directory of given name exists
  51.     check_proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
  52.     tmp = check_proc.stdout.read()
  53.     tof_arr = []
  54.     for i in rnd_url:
  55.         tof_arr.append(i in tmp)
  56.     retval = False in tof_arr
  57.     return retval
  58.  
  59. def rand_url_gen(leng, rounds):
  60.     rnd_url_list = []
  61.     for i in range(rounds):
  62.         rnd_url = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(leng)])
  63.         rnd_url_list.append(rnd_url)
  64.     return rnd_url_list
  65.  
  66. def makedir(url_name, rounds):
  67.     print("Generated addresses: " + str(url_name))
  68.     for i in range(rounds):
  69.         subprocess.call(['mkdir', url_name[i]])
  70.  
  71. def main():
  72.     parser = argparse.ArgumentParser()
  73.     parser.add_argument("num", help = "the length of desired url", type = int)
  74.     parser.add_argument("amount", help = "amount of desired addresses", type = int)
  75.     parser.add_argument("--dbs", help = "append addresses to database", dest="dbs", action="store_true")
  76.     parser.add_argument("--nd", help = "do not generate directories", dest="nd", action="store_true")
  77.     parser.set_defaults(dbs=False,help=True)
  78.     args = parser.parse_args()
  79.  
  80.     url_list = rand_url_gen(args.num, args.amount) 
  81.  
  82.     if check_unique(url_list) == True and args.nd:
  83.         makedir(url_list, args.amount)
  84.     else:
  85.         rand_url_gen(args.num, args.amount)
  86.  
  87.     write_to_file(url_list)
  88.  
  89.     if args.dbs:
  90.         # print("DB OK")
  91.         save_to_db(url_list)
  92.  
  93. if __name__ == "__main__":
  94.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement