jasvazquez

Update Google Drive form

Oct 7th, 2013
974
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/python2
  2. # coding=UTF-8
  3.  
  4. # Obtenemos los nombres de los campos siguiendo los consejos de http://goo.gl/yhE6S y ejecutando
  5. # eltos=new Array();$("div[class='ss-form-entry'] *[name]").each(function(){eltos.push($(this).attr('name'))}); eltos=eltos.filter (function (v, i, a) { return a.indexOf (v) == i }); eltos.join('","')
  6.  
  7. import csv
  8. import requests
  9. import urllib
  10.  
  11. FICHERO_DATOS='./datos-reales.csv'
  12. URL_FORMULARIO='https://docs.google.com/forms/d/13ixWKXXXXXXXXXXXXXXmoxcWQ2a63NBHq2hD-_Fjg/formResponse'
  13.  
  14. #URL_FORMULARIO='https://docs.google.com/forms/d/1zdw3bIp_uZ2iDYDhQ0idnXHuD6t2spArCY7qJYmbHHA/formResponse'
  15.  
  16. ifile  = open(FICHERO_DATOS, "rb")
  17. reader = csv.reader(ifile)
  18.  
  19. rownum = 0
  20. for row in reader:
  21.     # Save header row.
  22.     if rownum == 0:
  23.         header = row
  24.     else:
  25.         colnum = 0
  26.         payload={}
  27.         for col in row:
  28.             if colnum>0:
  29.             payload[header[colnum]]=col
  30.             colnum += 1
  31.            
  32.     f = requests.post(url=URL_FORMULARIO, data=payload)
  33.     if "Este contenido no ha sido creado ni aprobado por Google" in f.text:
  34.         print "--"
  35.         print "Error enviando los datos; revisa los nombres de los campos"
  36.         print payload
  37.         print "--"
  38.     else:
  39.         print ".",
  40.     rownum += 1
  41.  
  42. ifile.close()
RAW Paste Data