Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. from lxml import etree
  2. import re
  3. import io
  4. def RBG24to16(value):
  5. value = value.lstrip('#')
  6. lv = len(value)
  7. rgb = tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))
  8. hex = "0x%0.4X" % ((int(rgb[0] / 255 * 31) << 11) | (int(rgb[1] / 255 * 63) << 5) | (int(rgb[2] / 255 * 31)))
  9. return hex
  10. tree = etree.parse(open(svg_file.svg))
  11. f_setup = open(setup.txt);
  12. f_loop = open(loop.txt);
  13. for element in tree.iter():
  14. if element.tag.split("}")[1] == 'rect':
  15. print(element.tag)
  16. x=float(element.get('x')
  17. f_setup.write(
  18. "tft.drawRect("
  19. +element.get("x")+","+element.get("y")+
  20. ","+ element.get("width")+","+
  21. element.get("height")+","+RBG24to16(element.get("stroke"))+ ")"+";")
  22. f_setup.write(" //"+element.tag.split("}")[1]+" --> "+'"'+element.get("id")+'"'+" with color "+element.get("stroke")+"\n") if 'id' in element.attrib else f_setup.write(" //rect -->"+' "'+" no-id"+'"'+" with color "+element.get("stroke") + "\n")
  23. ymin=str(int(float(element.get("y")))+4)
  24. ymax=str(int(float(element.get("y"))+float(element.get("height")))-4)
  25. xmin=str(int(float(element.get("x"))+4))
  26. xmax=str(int((float(element.get("x"))+float(element.get("width"))))-4)
  27. f_loop.write("if (p.y >"+ymin+" && p.y < "+ymax+" && p.x > "+xmin+" && p.x < "+xmax+")"+"{"+"\n"+"\t//put code here\n")
  28. f_loop.write("\tSerial.println("+'"'+"You have pressed "+element.tag.split("}")[1]+" --> "+ element.get("id") +" with color "+element.get("stroke")+'"'+");\n") if 'id' in element.attrib else f_loop.write("\tSerial.println("+'"'+"You have pressed "+"rect -->" +" no-id"+" with color "+element.get("stroke") +'"'+ ");\n")
  29. matrix=element.get("transform")
  30. list = ((re.search("\(([^)]+)\)" ,element.get("transform"))).group(1)).split()
  31. x=list[4]
  32. x=str(round(float(x),0))
  33. y=list[5]
  34. y=str(round((float(y)-10),0))
  35. fontsize = str(float(element.get("font-size"))/6)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement