format_addon.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # %%
  2. import json
  3. def getFormattingCodes(formattedContext):
  4. toRet = []
  5. for contextPart in formattedContext:
  6. stringPart = contextPart['stringPart']
  7. code = getSingleFormattingCode(contextPart['formatting'])
  8. toRet = toRet + [code]*len(stringPart)
  9. return toRet
  10. #
  11. def getSingleFormattingCode(formatting):
  12. toRet = 0
  13. if 'grassetto' in formatting:
  14. toRet += 1
  15. if 'corsivo' in formatting:
  16. toRet += 2
  17. if 'sottolineato' in formatting:
  18. toRet += 4
  19. if 'barrato' in formatting:
  20. toRet += 8
  21. if 'evidenziato' in formatting:
  22. toRet += 16
  23. return toRet
  24. # %%
  25. formattedContextjSON = '''
  26. [{
  27. "stringPart": "pippo",
  28. "formatting": ["corsivo", "grassetto", "evidenziato"]
  29. },
  30. {
  31. "stringPart": " è stato ",
  32. "formatting": []
  33. },
  34. {
  35. "stringPart": "qui",
  36. "formatting": ["grassetto"]
  37. }]'''
  38. prova = getFormattingCodes(json.loads(formattedContextjSON))
  39. unformattedString = ''.join( [part['stringPart'] for part in json.loads(formattedContextjSON)] )
  40. print(unformattedString)
  41. print(prova)
  42. len(prova)==len(unformattedString)
  43. # %%