Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. import json
  2. import psycopg2
  3. import psycopg2.extras
  4. import random
  5.  
  6. SETTINGS_JSON = 'settings.json'
  7.  
  8. RANDOM_SOURCE_STR = 'abcdefghijklmnopqrstuvwxyz0123456789'
  9.  
  10.  
  11. def getRandomSfid(prefix):
  12. return prefix + ''.join([random.choice(RANDOM_SOURCE_STR) for x in xrange(15)])
  13.  
  14. settings = json.load(open(SETTINGS_JSON))
  15.  
  16. conn = psycopg2.connect(
  17. host=settings['host'],
  18. port=settings['port'],
  19. database=settings['database'],
  20. user=settings['user'],
  21. password=settings['password'])
  22. cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
  23.  
  24. for object in settings['objects']:
  25. cur.execute('SELECT id, sfid FROM "{0}" WHERE sfid IS NULL OR sfid = \'\''.format(object['name']))
  26.  
  27. targets = [{'id':row['id'], 'sfid': getRandomSfid(object['prefix'])} for row in cur]
  28. for target in targets:
  29. cur.execute('UPDATE "{0}" SET sfid=%s WHERE id=%s'.format(object['name']), [target['sfid'], target['id']])
  30. print(object['name'] + ':' + str(targets))
  31.  
  32. conn.commit()
  33. cur.close()
  34. conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement