Нема описа

adminestudiantes.py 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. # from sqlalchemy import metadata
  2. import sqlalchemy as db
  3. #########################
  4. # stack overflow:
  5. # Python sanitizing html from a string
  6. def escape(htmlstring):
  7. escapes = {'\"': '"',
  8. '\'': ''',
  9. '<': '&lt;',
  10. '>': '&gt;'}
  11. # This is done first to prevent escaping other escapes.
  12. htmlstring = htmlstring.replace('&', '&amp;')
  13. for seq, esc in escapes.iteritems():
  14. htmlstring = htmlstring.replace(seq, esc)
  15. return htmlstring
  16. #########################
  17. # connect to server
  18. engine = db.create_engine('mysql+pymysql://root:@0.0.0.0/registro_escolar_1')
  19. connection = engine.connect()
  20. # estudiantes = db.Table('estudiantes', metadata, autoload=True, autoload_with=engine)
  21. # usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
  22. def estudiantes():
  23. query = 'SELECT u.id, u.nombres, u.apellidos, u.email FROM usuarios u, estudiantes m WHERE u.id = m.user_id'
  24. result_db = connection.execute(query).fetchall()
  25. ###### headers
  26. headers = '['
  27. headers += '{"nombre":"Nombre"}'
  28. headers += ','
  29. headers += '{"nombre":"Grado"}'
  30. headers += ','
  31. headers += '{"nombre":"Email"}'
  32. headers += ','
  33. headers += '{"nombre":"Informacion"}'
  34. headers += ','
  35. headers += '{"nombre":"Editar"}'
  36. headers += ']'
  37. # headers = '[{"nombre":"Nombre"},{"nombre":"Posicion"},{"nombre":"Informacion"},{"nombre":"Editar"}]'
  38. ###### tabla
  39. tabla = '['
  40. i = 0
  41. len_result = len(result_db)
  42. for q in result_db:
  43. i = i+1
  44. tabla += '{'
  45. tabla += '"Nombre":"'+escape(q[1])+' '+escape(q[2])+'"'
  46. tabla += ','
  47. query = 'SELECT grado FROM estudiantes e WHERE e.user_id = ' + str(q[0])
  48. total_hijos = connection.execute(query).fetchall()
  49. tabla += '"Hijos Matriculados":"'+str(total_hijos[0][0])+'"'
  50. # tabla += '"ID":"'+str(q[0])+'"'
  51. tabla += ','
  52. tabla += '"Email":"'+escape(q[3])+'"'
  53. tabla += ','
  54. tabla += '"user_id":"'+str(q[0])+'"'
  55. tabla += '}'
  56. if i < len_result:
  57. tabla += ','
  58. tabla += ']'
  59. ###### info
  60. info = '{'
  61. info += '"dash_name":"Manejar Estudiantes"'
  62. info += ','
  63. info += '"dash_link":"/admin/ver/"'
  64. info += ','
  65. info += '"dash_sub_name":"Estudiantes Registrados"'
  66. info += ','
  67. info += '"add":"Anadir Estudiantes"'
  68. info += ','
  69. info += '"add_link":"#"'
  70. info += ','
  71. info += '"dir1":"#"'
  72. info += ','
  73. info += '"dir2":"/admin/forma/edit/estudiante/"'
  74. info += '}'
  75. ###### modal
  76. modal = '{'
  77. modal += '"infoName":"Ver informacion"'
  78. modal += ','
  79. modal += '"editName":"/admin/ver/"'
  80. modal += '}'
  81. # modal = '{"yeas":"yes"}'
  82. # # result = '{'+headers+','+tabla+','+info+','+modal+'}'
  83. # result = '{'
  84. # result += '"headers":{'+headers+'}'
  85. # result += ','
  86. # result += '"tabla":{'+tabla+'}'
  87. # result += ','
  88. # result += '"info":'+info
  89. # result += ','
  90. # result += '"modal":{'+modal+'}'
  91. # result += '}'
  92. result = '{"headers":'+headers+',"tabla":'+tabla+',"info":'+info+',"modal":'+modal+'}'
  93. # print(result)
  94. return(result)