lcg-framework 0.7.0__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. lcg/__init__.py +115 -0
  2. lcg/content.py +2172 -0
  3. lcg/exercises.py +991 -0
  4. lcg/export/__init__.py +18 -0
  5. lcg/export/braille-tables/lcg.utb +3 -0
  6. lcg/export/braille.py +1901 -0
  7. lcg/export/epub.py +420 -0
  8. lcg/export/exercises_html.py +664 -0
  9. lcg/export/export.py +1476 -0
  10. lcg/export/hhp.py +132 -0
  11. lcg/export/html.py +1717 -0
  12. lcg/export/ims.py +124 -0
  13. lcg/export/mathml.py +2351 -0
  14. lcg/export/nemeth.py +1216 -0
  15. lcg/export/pdf.py +3447 -0
  16. lcg/export/styles/presentation-braille-test.py +43 -0
  17. lcg/export/styles/presentation-braille.py +687 -0
  18. lcg/i18n.py +1227 -0
  19. lcg/locales.py +103 -0
  20. lcg/make.py +370 -0
  21. lcg/nodes.py +576 -0
  22. lcg/parse.py +1651 -0
  23. lcg/plot.py +358 -0
  24. lcg/presentation.py +674 -0
  25. lcg/read.py +405 -0
  26. lcg/resources/css/default.css +180 -0
  27. lcg/resources/css/epub.css +39 -0
  28. lcg/resources/css/lcg-exercises.css +157 -0
  29. lcg/resources/css/lcg-widgets.css +484 -0
  30. lcg/resources/css/photoswipe.css +441 -0
  31. lcg/resources/css/pygments.css +62 -0
  32. lcg/resources/flash/jplayer.swf +0 -0
  33. lcg/resources/images/jplayer-seeking.gif +0 -0
  34. lcg/resources/images/lcg-icons.png +0 -0
  35. lcg/resources/media/exercise-responses/cs/correct-01.mp3 +0 -0
  36. lcg/resources/media/exercise-responses/cs/correct-02.mp3 +0 -0
  37. lcg/resources/media/exercise-responses/cs/correct-03.mp3 +0 -0
  38. lcg/resources/media/exercise-responses/cs/correct-04.mp3 +0 -0
  39. lcg/resources/media/exercise-responses/cs/correct-05.mp3 +0 -0
  40. lcg/resources/media/exercise-responses/cs/correct-06.mp3 +0 -0
  41. lcg/resources/media/exercise-responses/cs/correct-07.mp3 +0 -0
  42. lcg/resources/media/exercise-responses/cs/correct-08.mp3 +0 -0
  43. lcg/resources/media/exercise-responses/cs/correct-09.mp3 +0 -0
  44. lcg/resources/media/exercise-responses/cs/correct-10.mp3 +0 -0
  45. lcg/resources/media/exercise-responses/cs/correct-11.mp3 +0 -0
  46. lcg/resources/media/exercise-responses/cs/correct-12.mp3 +0 -0
  47. lcg/resources/media/exercise-responses/cs/correct-13.mp3 +0 -0
  48. lcg/resources/media/exercise-responses/cs/correct-14.mp3 +0 -0
  49. lcg/resources/media/exercise-responses/cs/correct-15.mp3 +0 -0
  50. lcg/resources/media/exercise-responses/cs/correct-16.mp3 +0 -0
  51. lcg/resources/media/exercise-responses/cs/correct-17.mp3 +0 -0
  52. lcg/resources/media/exercise-responses/cs/correct-18.mp3 +0 -0
  53. lcg/resources/media/exercise-responses/cs/correct-19.mp3 +0 -0
  54. lcg/resources/media/exercise-responses/cs/correct-20.mp3 +0 -0
  55. lcg/resources/media/exercise-responses/cs/correct-21.mp3 +0 -0
  56. lcg/resources/media/exercise-responses/cs/correct-23.mp3 +0 -0
  57. lcg/resources/media/exercise-responses/cs/correct-24.mp3 +0 -0
  58. lcg/resources/media/exercise-responses/cs/correct-26.mp3 +0 -0
  59. lcg/resources/media/exercise-responses/cs/correct-27.mp3 +0 -0
  60. lcg/resources/media/exercise-responses/cs/correct-28.mp3 +0 -0
  61. lcg/resources/media/exercise-responses/cs/correct-29.mp3 +0 -0
  62. lcg/resources/media/exercise-responses/cs/correct-31.mp3 +0 -0
  63. lcg/resources/media/exercise-responses/cs/correct-32.mp3 +0 -0
  64. lcg/resources/media/exercise-responses/cs/correct-33.mp3 +0 -0
  65. lcg/resources/media/exercise-responses/cs/correct-34.mp3 +0 -0
  66. lcg/resources/media/exercise-responses/cs/correct-35.mp3 +0 -0
  67. lcg/resources/media/exercise-responses/cs/correct-36.mp3 +0 -0
  68. lcg/resources/media/exercise-responses/cs/correct-37.mp3 +0 -0
  69. lcg/resources/media/exercise-responses/cs/correct-38.mp3 +0 -0
  70. lcg/resources/media/exercise-responses/cs/correct-39.mp3 +0 -0
  71. lcg/resources/media/exercise-responses/cs/correct-40.mp3 +0 -0
  72. lcg/resources/media/exercise-responses/cs/correct-41.mp3 +0 -0
  73. lcg/resources/media/exercise-responses/cs/correct-42.mp3 +0 -0
  74. lcg/resources/media/exercise-responses/cs/correct-43.mp3 +0 -0
  75. lcg/resources/media/exercise-responses/cs/correct-44.mp3 +0 -0
  76. lcg/resources/media/exercise-responses/cs/correct-45.mp3 +0 -0
  77. lcg/resources/media/exercise-responses/cs/correct-46.mp3 +0 -0
  78. lcg/resources/media/exercise-responses/cs/correct-47.mp3 +0 -0
  79. lcg/resources/media/exercise-responses/cs/correct-48.mp3 +0 -0
  80. lcg/resources/media/exercise-responses/cs/correct-49.mp3 +0 -0
  81. lcg/resources/media/exercise-responses/cs/correct-50.mp3 +0 -0
  82. lcg/resources/media/exercise-responses/cs/correct-51.mp3 +0 -0
  83. lcg/resources/media/exercise-responses/cs/correct-52.mp3 +0 -0
  84. lcg/resources/media/exercise-responses/cs/correct-53.mp3 +0 -0
  85. lcg/resources/media/exercise-responses/cs/correct-54.mp3 +0 -0
  86. lcg/resources/media/exercise-responses/cs/correct-55.mp3 +0 -0
  87. lcg/resources/media/exercise-responses/cs/correct-56.mp3 +0 -0
  88. lcg/resources/media/exercise-responses/cs/correct-57.mp3 +0 -0
  89. lcg/resources/media/exercise-responses/cs/correct-58.mp3 +0 -0
  90. lcg/resources/media/exercise-responses/cs/correct-59.mp3 +0 -0
  91. lcg/resources/media/exercise-responses/cs/correct-60.mp3 +0 -0
  92. lcg/resources/media/exercise-responses/cs/correct-61.mp3 +0 -0
  93. lcg/resources/media/exercise-responses/cs/correct-62.mp3 +0 -0
  94. lcg/resources/media/exercise-responses/cs/correct-63.mp3 +0 -0
  95. lcg/resources/media/exercise-responses/cs/correct-64.mp3 +0 -0
  96. lcg/resources/media/exercise-responses/cs/correct-65.mp3 +0 -0
  97. lcg/resources/media/exercise-responses/cs/correct-66.mp3 +0 -0
  98. lcg/resources/media/exercise-responses/cs/correct-67.mp3 +0 -0
  99. lcg/resources/media/exercise-responses/cs/correct-68.mp3 +0 -0
  100. lcg/resources/media/exercise-responses/cs/correct-69.mp3 +0 -0
  101. lcg/resources/media/exercise-responses/cs/excellent-01.mp3 +0 -0
  102. lcg/resources/media/exercise-responses/cs/excellent-02.mp3 +0 -0
  103. lcg/resources/media/exercise-responses/cs/excellent-03.mp3 +0 -0
  104. lcg/resources/media/exercise-responses/cs/excellent-04.mp3 +0 -0
  105. lcg/resources/media/exercise-responses/cs/excellent-05.mp3 +0 -0
  106. lcg/resources/media/exercise-responses/cs/excellent-06.mp3 +0 -0
  107. lcg/resources/media/exercise-responses/cs/excellent-07.mp3 +0 -0
  108. lcg/resources/media/exercise-responses/cs/excellent-08.mp3 +0 -0
  109. lcg/resources/media/exercise-responses/cs/excellent-09.mp3 +0 -0
  110. lcg/resources/media/exercise-responses/cs/excellent-10.mp3 +0 -0
  111. lcg/resources/media/exercise-responses/cs/excellent-11.mp3 +0 -0
  112. lcg/resources/media/exercise-responses/cs/excellent-12.mp3 +0 -0
  113. lcg/resources/media/exercise-responses/cs/excellent-13.mp3 +0 -0
  114. lcg/resources/media/exercise-responses/cs/excellent-14.mp3 +0 -0
  115. lcg/resources/media/exercise-responses/cs/excellent-15.mp3 +0 -0
  116. lcg/resources/media/exercise-responses/cs/excellent-16.mp3 +0 -0
  117. lcg/resources/media/exercise-responses/cs/excellent-17.mp3 +0 -0
  118. lcg/resources/media/exercise-responses/cs/excellent-18.mp3 +0 -0
  119. lcg/resources/media/exercise-responses/cs/excellent-19.mp3 +0 -0
  120. lcg/resources/media/exercise-responses/cs/excellent-20.mp3 +0 -0
  121. lcg/resources/media/exercise-responses/cs/excellent-21.mp3 +0 -0
  122. lcg/resources/media/exercise-responses/cs/excellent-22.mp3 +0 -0
  123. lcg/resources/media/exercise-responses/cs/excellent-23.mp3 +0 -0
  124. lcg/resources/media/exercise-responses/cs/excellent-24.mp3 +0 -0
  125. lcg/resources/media/exercise-responses/cs/excellent-25.mp3 +0 -0
  126. lcg/resources/media/exercise-responses/cs/excellent-26.mp3 +0 -0
  127. lcg/resources/media/exercise-responses/cs/excellent-27.mp3 +0 -0
  128. lcg/resources/media/exercise-responses/cs/excellent-28.mp3 +0 -0
  129. lcg/resources/media/exercise-responses/cs/excellent-29.mp3 +0 -0
  130. lcg/resources/media/exercise-responses/cs/excellent-30.mp3 +0 -0
  131. lcg/resources/media/exercise-responses/cs/excellent-31.mp3 +0 -0
  132. lcg/resources/media/exercise-responses/cs/excellent-32.mp3 +0 -0
  133. lcg/resources/media/exercise-responses/cs/excellent-33.mp3 +0 -0
  134. lcg/resources/media/exercise-responses/cs/excellent-34.mp3 +0 -0
  135. lcg/resources/media/exercise-responses/cs/excellent-35.mp3 +0 -0
  136. lcg/resources/media/exercise-responses/cs/excellent-36.mp3 +0 -0
  137. lcg/resources/media/exercise-responses/cs/excellent-37.mp3 +0 -0
  138. lcg/resources/media/exercise-responses/cs/excellent-38.mp3 +0 -0
  139. lcg/resources/media/exercise-responses/cs/excellent-39.mp3 +0 -0
  140. lcg/resources/media/exercise-responses/cs/excellent-40.mp3 +0 -0
  141. lcg/resources/media/exercise-responses/cs/excellent-41.mp3 +0 -0
  142. lcg/resources/media/exercise-responses/cs/excellent-42.mp3 +0 -0
  143. lcg/resources/media/exercise-responses/cs/excellent-43.mp3 +0 -0
  144. lcg/resources/media/exercise-responses/cs/good-01.mp3 +0 -0
  145. lcg/resources/media/exercise-responses/cs/good-02.mp3 +0 -0
  146. lcg/resources/media/exercise-responses/cs/good-07.mp3 +0 -0
  147. lcg/resources/media/exercise-responses/cs/good-09.mp3 +0 -0
  148. lcg/resources/media/exercise-responses/cs/good-10.mp3 +0 -0
  149. lcg/resources/media/exercise-responses/cs/good-12.mp3 +0 -0
  150. lcg/resources/media/exercise-responses/cs/good-14.mp3 +0 -0
  151. lcg/resources/media/exercise-responses/cs/good-16.mp3 +0 -0
  152. lcg/resources/media/exercise-responses/cs/good-17.mp3 +0 -0
  153. lcg/resources/media/exercise-responses/cs/good-19.mp3 +0 -0
  154. lcg/resources/media/exercise-responses/cs/good-21.mp3 +0 -0
  155. lcg/resources/media/exercise-responses/cs/good-22.mp3 +0 -0
  156. lcg/resources/media/exercise-responses/cs/good-23.mp3 +0 -0
  157. lcg/resources/media/exercise-responses/cs/good-24.mp3 +0 -0
  158. lcg/resources/media/exercise-responses/cs/good-25.mp3 +0 -0
  159. lcg/resources/media/exercise-responses/cs/good-28.mp3 +0 -0
  160. lcg/resources/media/exercise-responses/cs/good-29.mp3 +0 -0
  161. lcg/resources/media/exercise-responses/cs/good-30.mp3 +0 -0
  162. lcg/resources/media/exercise-responses/cs/good-33.mp3 +0 -0
  163. lcg/resources/media/exercise-responses/cs/good-34.mp3 +0 -0
  164. lcg/resources/media/exercise-responses/cs/good-35.mp3 +0 -0
  165. lcg/resources/media/exercise-responses/cs/good-36.mp3 +0 -0
  166. lcg/resources/media/exercise-responses/cs/good-38.mp3 +0 -0
  167. lcg/resources/media/exercise-responses/cs/good-41.mp3 +0 -0
  168. lcg/resources/media/exercise-responses/cs/good-43.mp3 +0 -0
  169. lcg/resources/media/exercise-responses/cs/good-44.mp3 +0 -0
  170. lcg/resources/media/exercise-responses/cs/good-45.mp3 +0 -0
  171. lcg/resources/media/exercise-responses/cs/good-46.mp3 +0 -0
  172. lcg/resources/media/exercise-responses/cs/good-47.mp3 +0 -0
  173. lcg/resources/media/exercise-responses/cs/good-48.mp3 +0 -0
  174. lcg/resources/media/exercise-responses/cs/good-51.mp3 +0 -0
  175. lcg/resources/media/exercise-responses/cs/incorrect-01.mp3 +0 -0
  176. lcg/resources/media/exercise-responses/cs/incorrect-02.mp3 +0 -0
  177. lcg/resources/media/exercise-responses/cs/incorrect-03.mp3 +0 -0
  178. lcg/resources/media/exercise-responses/cs/incorrect-04.mp3 +0 -0
  179. lcg/resources/media/exercise-responses/cs/incorrect-05.mp3 +0 -0
  180. lcg/resources/media/exercise-responses/cs/incorrect-06.mp3 +0 -0
  181. lcg/resources/media/exercise-responses/cs/incorrect-07.mp3 +0 -0
  182. lcg/resources/media/exercise-responses/cs/incorrect-08.mp3 +0 -0
  183. lcg/resources/media/exercise-responses/cs/incorrect-09.mp3 +0 -0
  184. lcg/resources/media/exercise-responses/cs/incorrect-10.mp3 +0 -0
  185. lcg/resources/media/exercise-responses/cs/incorrect-11.mp3 +0 -0
  186. lcg/resources/media/exercise-responses/cs/incorrect-12.mp3 +0 -0
  187. lcg/resources/media/exercise-responses/cs/incorrect-13.mp3 +0 -0
  188. lcg/resources/media/exercise-responses/cs/incorrect-14.mp3 +0 -0
  189. lcg/resources/media/exercise-responses/cs/incorrect-15.mp3 +0 -0
  190. lcg/resources/media/exercise-responses/cs/incorrect-16.mp3 +0 -0
  191. lcg/resources/media/exercise-responses/cs/incorrect-17.mp3 +0 -0
  192. lcg/resources/media/exercise-responses/cs/incorrect-18.mp3 +0 -0
  193. lcg/resources/media/exercise-responses/cs/incorrect-19.mp3 +0 -0
  194. lcg/resources/media/exercise-responses/cs/incorrect-20.mp3 +0 -0
  195. lcg/resources/media/exercise-responses/cs/incorrect-21.mp3 +0 -0
  196. lcg/resources/media/exercise-responses/cs/incorrect-22.mp3 +0 -0
  197. lcg/resources/media/exercise-responses/cs/incorrect-23.mp3 +0 -0
  198. lcg/resources/media/exercise-responses/cs/incorrect-24.mp3 +0 -0
  199. lcg/resources/media/exercise-responses/cs/incorrect-25.mp3 +0 -0
  200. lcg/resources/media/exercise-responses/cs/incorrect-26.mp3 +0 -0
  201. lcg/resources/media/exercise-responses/cs/incorrect-27.mp3 +0 -0
  202. lcg/resources/media/exercise-responses/cs/incorrect-28.mp3 +0 -0
  203. lcg/resources/media/exercise-responses/cs/incorrect-29.mp3 +0 -0
  204. lcg/resources/media/exercise-responses/cs/incorrect-30.mp3 +0 -0
  205. lcg/resources/media/exercise-responses/cs/incorrect-31.mp3 +0 -0
  206. lcg/resources/media/exercise-responses/cs/incorrect-32.mp3 +0 -0
  207. lcg/resources/media/exercise-responses/cs/incorrect-33.mp3 +0 -0
  208. lcg/resources/media/exercise-responses/cs/incorrect-34.mp3 +0 -0
  209. lcg/resources/media/exercise-responses/cs/incorrect-35.mp3 +0 -0
  210. lcg/resources/media/exercise-responses/cs/incorrect-36.mp3 +0 -0
  211. lcg/resources/media/exercise-responses/cs/incorrect-37.mp3 +0 -0
  212. lcg/resources/media/exercise-responses/cs/incorrect-38.mp3 +0 -0
  213. lcg/resources/media/exercise-responses/cs/incorrect-39.mp3 +0 -0
  214. lcg/resources/media/exercise-responses/cs/incorrect-40.mp3 +0 -0
  215. lcg/resources/media/exercise-responses/cs/incorrect-41.mp3 +0 -0
  216. lcg/resources/media/exercise-responses/cs/incorrect-42.mp3 +0 -0
  217. lcg/resources/media/exercise-responses/cs/incorrect-43.mp3 +0 -0
  218. lcg/resources/media/exercise-responses/cs/incorrect-44.mp3 +0 -0
  219. lcg/resources/media/exercise-responses/cs/incorrect-45.mp3 +0 -0
  220. lcg/resources/media/exercise-responses/cs/incorrect-46.mp3 +0 -0
  221. lcg/resources/media/exercise-responses/cs/incorrect-47.mp3 +0 -0
  222. lcg/resources/media/exercise-responses/cs/incorrect-48.mp3 +0 -0
  223. lcg/resources/media/exercise-responses/cs/incorrect-49.mp3 +0 -0
  224. lcg/resources/media/exercise-responses/cs/incorrect-50.mp3 +0 -0
  225. lcg/resources/media/exercise-responses/cs/incorrect-51.mp3 +0 -0
  226. lcg/resources/media/exercise-responses/cs/incorrect-52.mp3 +0 -0
  227. lcg/resources/media/exercise-responses/cs/incorrect-53.mp3 +0 -0
  228. lcg/resources/media/exercise-responses/cs/incorrect-54.mp3 +0 -0
  229. lcg/resources/media/exercise-responses/cs/incorrect-55.mp3 +0 -0
  230. lcg/resources/media/exercise-responses/cs/incorrect-56.mp3 +0 -0
  231. lcg/resources/media/exercise-responses/cs/incorrect-57.mp3 +0 -0
  232. lcg/resources/media/exercise-responses/cs/incorrect-58.mp3 +0 -0
  233. lcg/resources/media/exercise-responses/cs/incorrect-59.mp3 +0 -0
  234. lcg/resources/media/exercise-responses/cs/incorrect-60.mp3 +0 -0
  235. lcg/resources/media/exercise-responses/cs/perfect-01.mp3 +0 -0
  236. lcg/resources/media/exercise-responses/cs/perfect-02.mp3 +0 -0
  237. lcg/resources/media/exercise-responses/cs/perfect-03.mp3 +0 -0
  238. lcg/resources/media/exercise-responses/cs/perfect-04.mp3 +0 -0
  239. lcg/resources/media/exercise-responses/cs/perfect-05.mp3 +0 -0
  240. lcg/resources/media/exercise-responses/cs/perfect-07.mp3 +0 -0
  241. lcg/resources/media/exercise-responses/cs/perfect-08.mp3 +0 -0
  242. lcg/resources/media/exercise-responses/cs/perfect-09.mp3 +0 -0
  243. lcg/resources/media/exercise-responses/cs/perfect-11.mp3 +0 -0
  244. lcg/resources/media/exercise-responses/cs/perfect-13.mp3 +0 -0
  245. lcg/resources/media/exercise-responses/cs/perfect-14.mp3 +0 -0
  246. lcg/resources/media/exercise-responses/cs/perfect-15.mp3 +0 -0
  247. lcg/resources/media/exercise-responses/cs/perfect-16.mp3 +0 -0
  248. lcg/resources/media/exercise-responses/cs/perfect-17.mp3 +0 -0
  249. lcg/resources/media/exercise-responses/cs/perfect-18.mp3 +0 -0
  250. lcg/resources/media/exercise-responses/cs/perfect-19.mp3 +0 -0
  251. lcg/resources/media/exercise-responses/cs/perfect-21.mp3 +0 -0
  252. lcg/resources/media/exercise-responses/cs/perfect-22.mp3 +0 -0
  253. lcg/resources/media/exercise-responses/cs/perfect-23.mp3 +0 -0
  254. lcg/resources/media/exercise-responses/cs/perfect-24.mp3 +0 -0
  255. lcg/resources/media/exercise-responses/cs/perfect-25.mp3 +0 -0
  256. lcg/resources/media/exercise-responses/cs/perfect-26.mp3 +0 -0
  257. lcg/resources/media/exercise-responses/cs/perfect-27.mp3 +0 -0
  258. lcg/resources/media/exercise-responses/cs/perfect-28.mp3 +0 -0
  259. lcg/resources/media/exercise-responses/cs/perfect-29.mp3 +0 -0
  260. lcg/resources/media/exercise-responses/cs/perfect-30.mp3 +0 -0
  261. lcg/resources/media/exercise-responses/cs/perfect-31.mp3 +0 -0
  262. lcg/resources/media/exercise-responses/cs/perfect-32.mp3 +0 -0
  263. lcg/resources/media/exercise-responses/cs/perfect-33.mp3 +0 -0
  264. lcg/resources/media/exercise-responses/cs/perfect-34.mp3 +0 -0
  265. lcg/resources/media/exercise-responses/cs/perfect-35.mp3 +0 -0
  266. lcg/resources/media/exercise-responses/cs/perfect-36.mp3 +0 -0
  267. lcg/resources/media/exercise-responses/cs/perfect-37.mp3 +0 -0
  268. lcg/resources/media/exercise-responses/cs/perfect-38.mp3 +0 -0
  269. lcg/resources/media/exercise-responses/cs/perfect-40.mp3 +0 -0
  270. lcg/resources/media/exercise-responses/cs/poor-01.mp3 +0 -0
  271. lcg/resources/media/exercise-responses/cs/poor-02.mp3 +0 -0
  272. lcg/resources/media/exercise-responses/cs/poor-03.mp3 +0 -0
  273. lcg/resources/media/exercise-responses/cs/poor-04.mp3 +0 -0
  274. lcg/resources/media/exercise-responses/cs/poor-05.mp3 +0 -0
  275. lcg/resources/media/exercise-responses/cs/poor-06.mp3 +0 -0
  276. lcg/resources/media/exercise-responses/cs/poor-08.mp3 +0 -0
  277. lcg/resources/media/exercise-responses/cs/poor-09.mp3 +0 -0
  278. lcg/resources/media/exercise-responses/cs/poor-10.mp3 +0 -0
  279. lcg/resources/media/exercise-responses/cs/poor-13.mp3 +0 -0
  280. lcg/resources/media/exercise-responses/cs/poor-14.mp3 +0 -0
  281. lcg/resources/media/exercise-responses/cs/poor-15.mp3 +0 -0
  282. lcg/resources/media/exercise-responses/cs/poor-16.mp3 +0 -0
  283. lcg/resources/media/exercise-responses/cs/poor-17.mp3 +0 -0
  284. lcg/resources/media/exercise-responses/cs/poor-18.mp3 +0 -0
  285. lcg/resources/media/exercise-responses/cs/poor-19.mp3 +0 -0
  286. lcg/resources/media/exercise-responses/cs/poor-21.mp3 +0 -0
  287. lcg/resources/media/exercise-responses/cs/poor-22.mp3 +0 -0
  288. lcg/resources/media/exercise-responses/cs/poor-24.mp3 +0 -0
  289. lcg/resources/media/exercise-responses/cs/poor-25.mp3 +0 -0
  290. lcg/resources/media/exercise-responses/cs/poor-26.mp3 +0 -0
  291. lcg/resources/media/exercise-responses/cs/poor-27.mp3 +0 -0
  292. lcg/resources/media/exercise-responses/cs/poor-28.mp3 +0 -0
  293. lcg/resources/media/exercise-responses/cs/poor-29.mp3 +0 -0
  294. lcg/resources/media/exercise-responses/cs/poor-30.mp3 +0 -0
  295. lcg/resources/media/exercise-responses/cs/poor-32.mp3 +0 -0
  296. lcg/resources/media/exercise-responses/cs/poor-33.mp3 +0 -0
  297. lcg/resources/media/exercise-responses/cs/poor-34.mp3 +0 -0
  298. lcg/resources/media/exercise-responses/cs/poor-35.mp3 +0 -0
  299. lcg/resources/media/exercise-responses/cs/poor-36.mp3 +0 -0
  300. lcg/resources/media/exercise-responses/cs/poor-37.mp3 +0 -0
  301. lcg/resources/media/exercise-responses/cs/poor-38.mp3 +0 -0
  302. lcg/resources/media/exercise-responses/cs/poor-39.mp3 +0 -0
  303. lcg/resources/media/exercise-responses/cs/poor-40.mp3 +0 -0
  304. lcg/resources/media/exercise-responses/cs/sufficient-01.mp3 +0 -0
  305. lcg/resources/media/exercise-responses/cs/sufficient-02.mp3 +0 -0
  306. lcg/resources/media/exercise-responses/cs/sufficient-03.mp3 +0 -0
  307. lcg/resources/media/exercise-responses/cs/sufficient-04.mp3 +0 -0
  308. lcg/resources/media/exercise-responses/cs/sufficient-05.mp3 +0 -0
  309. lcg/resources/media/exercise-responses/cs/sufficient-06.mp3 +0 -0
  310. lcg/resources/media/exercise-responses/cs/sufficient-07.mp3 +0 -0
  311. lcg/resources/media/exercise-responses/cs/sufficient-08.mp3 +0 -0
  312. lcg/resources/media/exercise-responses/cs/sufficient-09.mp3 +0 -0
  313. lcg/resources/media/exercise-responses/cs/sufficient-10.mp3 +0 -0
  314. lcg/resources/media/exercise-responses/cs/sufficient-11.mp3 +0 -0
  315. lcg/resources/media/exercise-responses/cs/sufficient-13.mp3 +0 -0
  316. lcg/resources/media/exercise-responses/cs/sufficient-14.mp3 +0 -0
  317. lcg/resources/media/exercise-responses/cs/sufficient-15.mp3 +0 -0
  318. lcg/resources/media/exercise-responses/cs/sufficient-16.mp3 +0 -0
  319. lcg/resources/media/exercise-responses/cs/sufficient-17.mp3 +0 -0
  320. lcg/resources/media/exercise-responses/cs/sufficient-18.mp3 +0 -0
  321. lcg/resources/media/exercise-responses/cs/sufficient-19.mp3 +0 -0
  322. lcg/resources/media/exercise-responses/cs/sufficient-21.mp3 +0 -0
  323. lcg/resources/media/exercise-responses/cs/sufficient-22.mp3 +0 -0
  324. lcg/resources/media/exercise-responses/cs/sufficient-23.mp3 +0 -0
  325. lcg/resources/media/exercise-responses/cs/sufficient-25.mp3 +0 -0
  326. lcg/resources/media/exercise-responses/cs/sufficient-26.mp3 +0 -0
  327. lcg/resources/media/exercise-responses/cs/sufficient-27.mp3 +0 -0
  328. lcg/resources/media/exercise-responses/cs/sufficient-28.mp3 +0 -0
  329. lcg/resources/media/exercise-responses/cs/sufficient-29.mp3 +0 -0
  330. lcg/resources/media/exercise-responses/cs/sufficient-32.mp3 +0 -0
  331. lcg/resources/media/exercise-responses/cs/sufficient-33.mp3 +0 -0
  332. lcg/resources/media/exercise-responses/cs/sufficient-34.mp3 +0 -0
  333. lcg/resources/media/exercise-responses/cs/sufficient-35.mp3 +0 -0
  334. lcg/resources/media/exercise-responses/cs/sufficient-36.mp3 +0 -0
  335. lcg/resources/media/exercise-responses/en/correct-01.mp3 +0 -0
  336. lcg/resources/media/exercise-responses/en/correct-02.mp3 +0 -0
  337. lcg/resources/media/exercise-responses/en/correct-03.mp3 +0 -0
  338. lcg/resources/media/exercise-responses/en/correct-04.mp3 +0 -0
  339. lcg/resources/media/exercise-responses/en/correct-05.mp3 +0 -0
  340. lcg/resources/media/exercise-responses/en/correct-06.mp3 +0 -0
  341. lcg/resources/media/exercise-responses/en/correct-07.mp3 +0 -0
  342. lcg/resources/media/exercise-responses/en/correct-08.mp3 +0 -0
  343. lcg/resources/media/exercise-responses/en/correct-09.mp3 +0 -0
  344. lcg/resources/media/exercise-responses/en/excellent-01.mp3 +0 -0
  345. lcg/resources/media/exercise-responses/en/excellent-02.mp3 +0 -0
  346. lcg/resources/media/exercise-responses/en/excellent-03.mp3 +0 -0
  347. lcg/resources/media/exercise-responses/en/good-01.mp3 +0 -0
  348. lcg/resources/media/exercise-responses/en/good-02.mp3 +0 -0
  349. lcg/resources/media/exercise-responses/en/good-03.mp3 +0 -0
  350. lcg/resources/media/exercise-responses/en/good-04.mp3 +0 -0
  351. lcg/resources/media/exercise-responses/en/incorrect-01.mp3 +0 -0
  352. lcg/resources/media/exercise-responses/en/incorrect-02.mp3 +0 -0
  353. lcg/resources/media/exercise-responses/en/incorrect-03.mp3 +0 -0
  354. lcg/resources/media/exercise-responses/en/incorrect-04.mp3 +0 -0
  355. lcg/resources/media/exercise-responses/en/incorrect-05.mp3 +0 -0
  356. lcg/resources/media/exercise-responses/en/incorrect-06.mp3 +0 -0
  357. lcg/resources/media/exercise-responses/en/incorrect-07.mp3 +0 -0
  358. lcg/resources/media/exercise-responses/en/incorrect-08.mp3 +0 -0
  359. lcg/resources/media/exercise-responses/en/incorrect-09.mp3 +0 -0
  360. lcg/resources/media/exercise-responses/en/incorrect-10.mp3 +0 -0
  361. lcg/resources/media/exercise-responses/en/incorrect-11.mp3 +0 -0
  362. lcg/resources/media/exercise-responses/en/perfect-01.mp3 +0 -0
  363. lcg/resources/media/exercise-responses/en/perfect-02.mp3 +0 -0
  364. lcg/resources/media/exercise-responses/en/perfect-03.mp3 +0 -0
  365. lcg/resources/media/exercise-responses/en/perfect-04.mp3 +0 -0
  366. lcg/resources/media/exercise-responses/en/poor-01.mp3 +0 -0
  367. lcg/resources/media/exercise-responses/en/poor-02.mp3 +0 -0
  368. lcg/resources/media/exercise-responses/en/poor-03.mp3 +0 -0
  369. lcg/resources/media/exercise-responses/en/sufficient-01.mp3 +0 -0
  370. lcg/resources/media/exercise-responses/en/sufficient-02.mp3 +0 -0
  371. lcg/resources/media/exercise-responses/en/sufficient-03.mp3 +0 -0
  372. lcg/resources/scripts/effects.js +1123 -0
  373. lcg/resources/scripts/gettext.js +1265 -0
  374. lcg/resources/scripts/jplayer.min.js +3 -0
  375. lcg/resources/scripts/jquery.min.js +4 -0
  376. lcg/resources/scripts/lcg-exercises.js +533 -0
  377. lcg/resources/scripts/lcg.js +1705 -0
  378. lcg/resources/scripts/photoswipe-lightbox.esm.min.js +5 -0
  379. lcg/resources/scripts/photoswipe.esm.min.js +5 -0
  380. lcg/resources/scripts/prototype.js +6081 -0
  381. lcg/resources/scripts/scriptaculous.js +68 -0
  382. lcg/resources.py +438 -0
  383. lcg/test.py +2615 -0
  384. lcg/transform.py +990 -0
  385. lcg/translations/cs/LC_MESSAGES/lcg-exercises.mo +0 -0
  386. lcg/translations/cs/LC_MESSAGES/lcg.mo +0 -0
  387. lcg/translations/cs/LC_MESSAGES/test.mo +0 -0
  388. lcg/translations/de/LC_MESSAGES/lcg-exercises.mo +0 -0
  389. lcg/translations/de/LC_MESSAGES/lcg.mo +0 -0
  390. lcg/translations/es/LC_MESSAGES/lcg-exercises.mo +0 -0
  391. lcg/translations/es/LC_MESSAGES/lcg.mo +0 -0
  392. lcg/translations/fr/LC_MESSAGES/lcg-exercises.mo +0 -0
  393. lcg/translations/fr/LC_MESSAGES/lcg.mo +0 -0
  394. lcg/translations/hu/LC_MESSAGES/lcg-exercises.mo +0 -0
  395. lcg/translations/hu/LC_MESSAGES/lcg.mo +0 -0
  396. lcg/translations/it/LC_MESSAGES/lcg-exercises.mo +0 -0
  397. lcg/translations/it/LC_MESSAGES/lcg.mo +0 -0
  398. lcg/translations/no/LC_MESSAGES/lcg-exercises.mo +0 -0
  399. lcg/translations/no/LC_MESSAGES/lcg.mo +0 -0
  400. lcg/translations/pl/LC_MESSAGES/lcg-exercises.mo +0 -0
  401. lcg/translations/pl/LC_MESSAGES/lcg.mo +0 -0
  402. lcg/translations/po/LC_MESSAGES/lcg-exercises.mo +0 -0
  403. lcg/translations/po/LC_MESSAGES/lcg.mo +0 -0
  404. lcg/translations/ro/LC_MESSAGES/lcg-exercises.mo +0 -0
  405. lcg/translations/ro/LC_MESSAGES/lcg.mo +0 -0
  406. lcg/translations/sk/LC_MESSAGES/lcg-exercises.mo +0 -0
  407. lcg/translations/sk/LC_MESSAGES/lcg.mo +0 -0
  408. lcg/translations/tr/LC_MESSAGES/lcg-exercises.mo +0 -0
  409. lcg/translations/tr/LC_MESSAGES/lcg.mo +0 -0
  410. lcg/units.py +192 -0
  411. lcg/util.py +671 -0
  412. lcg/widgets.py +518 -0
  413. lcg_framework-0.7.0.dist-info/METADATA +108 -0
  414. lcg_framework-0.7.0.dist-info/RECORD +416 -0
  415. lcg_framework-0.7.0.dist-info/WHEEL +5 -0
  416. lcg_framework-0.7.0.dist-info/licenses/COPYING +340 -0
lcg/__init__.py ADDED
@@ -0,0 +1,115 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # Copyright (C) 2004-2017 OUI Technology Ltd.
4
+ # Copyright (C) 2019-2025 Tomáš Cerha <t.cerha@gmail.com>
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with this program; if not, write to the Free Software
18
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
+
20
+ from __future__ import unicode_literals
21
+ from __future__ import absolute_import
22
+
23
+ __version__ = '0.7.0'
24
+
25
+ from .locales import LocaleData, LocaleData_cs, LocaleData_de, \
26
+ LocaleData_en, LocaleData_es, LocaleData_no, LocaleData_pl, \
27
+ LocaleData_sk
28
+
29
+ from .i18n import TranslatableTextFactory, TranslatedTextFactory, \
30
+ Localizable, TranslatableText, SelfTranslatableText, \
31
+ TranslatablePluralForms, LocalizableDateTime, LocalizableTime, \
32
+ Decimal, Monetary, Concatenation, Translator, NullTranslator, \
33
+ GettextTranslator, Localizer, \
34
+ concat, format
35
+
36
+ from .util import is_sequence_of, camel_case_to_lower, text_to_id, \
37
+ unindent_docstring, positive_id, log, caller, \
38
+ language_name, country_name, week_day_name, month_name, \
39
+ attribute_value, ParseError
40
+
41
+ from .nodes import ContentNode, Variant, Metadata
42
+
43
+ from .resources import Resource, Image, Stylesheet, Script, Translations, \
44
+ Media, Audio, Video, Flash, ResourceProvider
45
+
46
+ from .units import Unit, UAny, UFont, UMm, UPercent, UPoint, UPx, USpace, FontFamily, \
47
+ HorizontalAlignment, VerticalAlignment, Orientation, Color
48
+
49
+ from .content import Content, Container, Strong, Emphasized, \
50
+ Underlined, Code, Citation, Quotation, Superscript, Subscript, \
51
+ TextContent, Link, Abbreviation, Anchor, InlineImage, InlineAudio, \
52
+ InlineVideo, InlineExternalVideo, Title, HorizontalSeparator, \
53
+ NewPage, NewLine, PageNumber, PageHeading, HSpace, VSpace, \
54
+ HtmlContent, Heading, PreformattedText, Paragraph, ItemizedList, \
55
+ DefinitionList, FieldSet, TableCell, TableHeading, TableRow, \
56
+ Table, Section, TableOfContents, NodeIndex, RootIndex, NoneContent, \
57
+ SetVariable, Substitution, Figure, MathML, InlineSVG, \
58
+ coerce, join, link, dl, ul, ol, fieldset, p, sec, strong, em, u, \
59
+ code, cite, container, br, hr, pre, abbr
60
+
61
+ from .widgets import Widget, Button, FoldableTree, Notebook, PopupMenuCtrl, \
62
+ PopupMenuItem, CollapsiblePane, CollapsibleSection
63
+
64
+ from .presentation import Presentation, ContentMatcher, \
65
+ TopLevelMatcher, LanguageMatcher, LCGClassMatcher, \
66
+ LCGHeadingMatcher, LCGContainerMatcher, PresentationSet, \
67
+ StyleFile
68
+
69
+ from .exercises import Task, TextTask, ContentTask, Choice, \
70
+ ChoiceTask, TrueFalseTask, ExerciseParser, Exercise, \
71
+ MultipleChoiceQuestions, Selections, TrueFalseStatements, \
72
+ GapFilling, HiddenAnswers, FillInExercise, VocabExercise, \
73
+ WrittenAnswers, NumberedCloze, Cloze, ModelCloze
74
+
75
+ from .export.export import INFO, WARNING, ERROR, \
76
+ Exporter, FileExporter, TextExporter, UnsupportedElementType, SubstitutionIterator
77
+
78
+ from .export.html import HtmlEscapedUnicode, HtmlGenerator, \
79
+ XhtmlGenerator, HtmlExporter, Html5Exporter, HtmlFileExporter, \
80
+ StyledHtmlExporter, HtmlStaticExporter, format_text
81
+
82
+ from .export.epub import EpubExporter
83
+ from .export.ims import IMSExporter
84
+ from .export.hhp import HhpExporter
85
+
86
+ from .export.exercises_html import ExerciseExporter, \
87
+ MultipleChoiceQuestionsExporter, SelectionsExporter, \
88
+ TrueFalseStatementsExporter, GapFillingExporter, \
89
+ HiddenAnswersExporter, VocabExerciseExporter, \
90
+ WrittenAnswersExporter, NumberedClozeExporter, \
91
+ ClozeExporter, ModelClozeExporter
92
+
93
+ try:
94
+ from .export.braille import BrailleError, BrailleExporter, \
95
+ braille_presentation, xml2braille
96
+ except (ImportError, OSError):
97
+ pass
98
+
99
+ try:
100
+ from .export import pdf # For backwards compatibility
101
+ from .export.pdf import PDFExporter
102
+ except ImportError as e:
103
+ class PDFExporter:
104
+ e = e
105
+ def __init__(self, *args, **kwargs):
106
+ raise self.e
107
+
108
+ from .parse import ProcessingError, Parser, MacroParser, HTMLProcessor, \
109
+ html2lcg, add_processing_info
110
+
111
+ from .read import Reader, FileReader, StructuredTextReader, DocFileReader, \
112
+ DocDirReader, reader
113
+
114
+ from .transform import data2content, data2html, html2data, \
115
+ HTML2XML, XML2HTML, XML2Content