easycoder 260403.2__tar.gz → 260405.1__tar.gz

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 (286) hide show
  1. {easycoder-260403.2 → easycoder-260405.1}/PKG-INFO +1 -1
  2. {easycoder-260403.2 → easycoder-260405.1}/easycoder/__init__.py +1 -1
  3. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_core.py +16 -10
  4. {easycoder-260403.2 → easycoder-260405.1}/.github/copilot-instructions.md +0 -0
  5. {easycoder-260403.2 → easycoder-260405.1}/.github/workflows/conformance-report.yml +0 -0
  6. {easycoder-260403.2 → easycoder-260405.1}/.gitignore +0 -0
  7. {easycoder-260403.2 → easycoder-260405.1}/.vscode/EXTENSION_GUIDE.md +0 -0
  8. {easycoder-260403.2 → easycoder-260405.1}/.vscode/PYTHON_SETUP.md +0 -0
  9. {easycoder-260403.2 → easycoder-260405.1}/.vscode/easycoder/README.md +0 -0
  10. {easycoder-260403.2 → easycoder-260405.1}/.vscode/easycoder/language-configuration.json +0 -0
  11. {easycoder-260403.2 → easycoder-260405.1}/.vscode/easycoder/package.json +0 -0
  12. {easycoder-260403.2 → easycoder-260405.1}/.vscode/easycoder/snippets/easycoder.json +0 -0
  13. {easycoder-260403.2 → easycoder-260405.1}/.vscode/easycoder/syntaxes/easycoder.tmLanguage.json +0 -0
  14. {easycoder-260403.2 → easycoder-260405.1}/.vscode/launch.json +0 -0
  15. {easycoder-260403.2 → easycoder-260405.1}/.vscode/settings.json +0 -0
  16. {easycoder-260403.2 → easycoder-260405.1}/AI/ARCHITECTURE.md +0 -0
  17. {easycoder-260403.2 → easycoder-260405.1}/AI/EASYCODER_AND_WEBSON.md +0 -0
  18. {easycoder-260403.2 → easycoder-260405.1}/AI/EXAMPLES.md +0 -0
  19. {easycoder-260403.2 → easycoder-260405.1}/AI/PROJECT_OVERVIEW.md +0 -0
  20. {easycoder-260403.2 → easycoder-260405.1}/AI/README.md +0 -0
  21. {easycoder-260403.2 → easycoder-260405.1}/AI/WORKING_RULES.md +0 -0
  22. {easycoder-260403.2 → easycoder-260405.1}/AI/articles/Arrays and Modules.md +0 -0
  23. {easycoder-260403.2 → easycoder-260405.1}/AI/examples/primes/primes.ecs +0 -0
  24. {easycoder-260403.2 → easycoder-260405.1}/AI/examples/primes/primes.md +0 -0
  25. {easycoder-260403.2 → easycoder-260405.1}/AI/examples/wordlist/wordlist.ecs +0 -0
  26. {easycoder-260403.2 → easycoder-260405.1}/AI/examples/wordlist/wordlist.md +0 -0
  27. {easycoder-260403.2 → easycoder-260405.1}/AI/log/CONTRIBUTING.md +0 -0
  28. {easycoder-260403.2 → easycoder-260405.1}/AI/log/DEVELOPER_RESOURCES.md +0 -0
  29. {easycoder-260403.2 → easycoder-260405.1}/AI/log/GRAPHICS_PHASE1.md +0 -0
  30. {easycoder-260403.2 → easycoder-260405.1}/AI/log/PHASE1_COMPLETION_SUMMARY.md +0 -0
  31. {easycoder-260403.2 → easycoder-260405.1}/AI/log/PHASE_1_3_COMPLETION_REPORT.md +0 -0
  32. {easycoder-260403.2 → easycoder-260405.1}/AI/log/PHASE_4_COMPLETION_REPORT.md +0 -0
  33. {easycoder-260403.2 → easycoder-260405.1}/AI/log/PLUGIN_PATTERNS.md +0 -0
  34. {easycoder-260403.2 → easycoder-260405.1}/AI/log/PROJECT_COMPLETION_SUMMARY.md +0 -0
  35. {easycoder-260403.2 → easycoder-260405.1}/AI/log/START_HERE.md +0 -0
  36. {easycoder-260403.2 → easycoder-260405.1}/AI/log/SYNTAX_REFACTORING.md +0 -0
  37. {easycoder-260403.2 → easycoder-260405.1}/LICENSE +0 -0
  38. {easycoder-260403.2 → easycoder-260405.1}/README.md +0 -0
  39. {easycoder-260403.2 → easycoder-260405.1}/RELEASE_NOTES.md +0 -0
  40. {easycoder-260403.2 → easycoder-260405.1}/backdrop.jpg +0 -0
  41. {easycoder-260403.2 → easycoder-260405.1}/basic.py +0 -0
  42. {easycoder-260403.2 → easycoder-260405.1}/conformance/README.md +0 -0
  43. {easycoder-260403.2 → easycoder-260405.1}/conformance/actuals-python-cli.json +0 -0
  44. {easycoder-260403.2 → easycoder-260405.1}/conformance/ec_py_runner.py +0 -0
  45. {easycoder-260403.2 → easycoder-260405.1}/conformance/parity-report-template.json +0 -0
  46. {easycoder-260403.2 → easycoder-260405.1}/conformance/parity-report.generated.json +0 -0
  47. {easycoder-260403.2 → easycoder-260405.1}/conformance/parity-report.initial.json +0 -0
  48. {easycoder-260403.2 → easycoder-260405.1}/conformance/plugin-interface-matrix.json +0 -0
  49. {easycoder-260403.2 → easycoder-260405.1}/conformance/run_conformance.py +0 -0
  50. {easycoder-260403.2 → easycoder-260405.1}/conformance/runner-contract.md +0 -0
  51. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0001-basic-assignment.ecs +0 -0
  52. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0001-basic-assignment.json +0 -0
  53. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0002-arithmetic-chain.ecs +0 -0
  54. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0002-arithmetic-chain.json +0 -0
  55. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0003-condition-branch.ecs +0 -0
  56. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0003-condition-branch.json +0 -0
  57. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0004-while-sum.ecs +0 -0
  58. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0004-while-sum.json +0 -0
  59. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0005-array-index-access.ecs +0 -0
  60. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0005-array-index-access.json +0 -0
  61. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0006-and-or-conditions.ecs +0 -0
  62. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0006-and-or-conditions.json +0 -0
  63. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0007-includes-membership.ecs +0 -0
  64. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/EC-0007-includes-membership.json +0 -0
  65. {easycoder-260403.2 → easycoder-260405.1}/conformance/tests/index.json +0 -0
  66. {easycoder-260403.2 → easycoder-260405.1}/doc/README.md +0 -0
  67. {easycoder-260403.2 → easycoder-260405.1}/doc/RESERVED_STEMS.md +0 -0
  68. {easycoder-260403.2 → easycoder-260405.1}/doc/core/README.md +0 -0
  69. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/boolean.md +0 -0
  70. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/empty.md +0 -0
  71. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/ends.md +0 -0
  72. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/even.md +0 -0
  73. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/exists.md +0 -0
  74. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/greater.md +0 -0
  75. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/hasProperty.md +0 -0
  76. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/includes.md +0 -0
  77. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/is.md +0 -0
  78. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/less.md +0 -0
  79. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/list.md +0 -0
  80. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/none.md +0 -0
  81. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/not.md +0 -0
  82. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/numeric.md +0 -0
  83. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/object.md +0 -0
  84. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/odd.md +0 -0
  85. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/starts.md +0 -0
  86. {easycoder-260403.2 → easycoder-260405.1}/doc/core/conditions/string.md +0 -0
  87. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/add.md +0 -0
  88. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/append.md +0 -0
  89. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/assert.md +0 -0
  90. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/begin.md +0 -0
  91. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/clear.md +0 -0
  92. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/close.md +0 -0
  93. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/create.md +0 -0
  94. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/debug.md +0 -0
  95. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/decrement.md +0 -0
  96. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/delete.md +0 -0
  97. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/divide.md +0 -0
  98. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/download.md +0 -0
  99. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/exit.md +0 -0
  100. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/file.md +0 -0
  101. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/fork.md +0 -0
  102. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/get.md +0 -0
  103. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/go.md +0 -0
  104. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/gosub.md +0 -0
  105. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/if.md +0 -0
  106. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/import.md +0 -0
  107. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/increment.md +0 -0
  108. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/index.md +0 -0
  109. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/init.md +0 -0
  110. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/input.md +0 -0
  111. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/load.md +0 -0
  112. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/lock.md +0 -0
  113. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/log.md +0 -0
  114. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/module.md +0 -0
  115. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/multiply.md +0 -0
  116. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/negate.md +0 -0
  117. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/on.md +0 -0
  118. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/open.md +0 -0
  119. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/pass.md +0 -0
  120. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/pop.md +0 -0
  121. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/post.md +0 -0
  122. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/print.md +0 -0
  123. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/push.md +0 -0
  124. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/put.md +0 -0
  125. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/read.md +0 -0
  126. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/release.md +0 -0
  127. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/replace.md +0 -0
  128. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/return.md +0 -0
  129. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/run.md +0 -0
  130. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/save.md +0 -0
  131. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/script.md +0 -0
  132. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/send.md +0 -0
  133. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/set.md +0 -0
  134. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/shuffle.md +0 -0
  135. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/split.md +0 -0
  136. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/stack.md +0 -0
  137. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/stop.md +0 -0
  138. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/system.md +0 -0
  139. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/take.md +0 -0
  140. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/toggle.md +0 -0
  141. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/trim.md +0 -0
  142. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/truncate.md +0 -0
  143. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/unlock.md +0 -0
  144. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/use.md +0 -0
  145. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/variable.md +0 -0
  146. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/wait.md +0 -0
  147. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/while.md +0 -0
  148. {easycoder-260403.2 → easycoder-260405.1}/doc/core/keywords/write.md +0 -0
  149. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/arg.md +0 -0
  150. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/args.md +0 -0
  151. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/cat.md +0 -0
  152. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/cos.md +0 -0
  153. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/datime.md +0 -0
  154. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/decode.md +0 -0
  155. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/element.md +0 -0
  156. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/elements.md +0 -0
  157. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/empty.md +0 -0
  158. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/encode.md +0 -0
  159. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/error.md +0 -0
  160. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/files.md +0 -0
  161. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/float.md +0 -0
  162. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/from.md +0 -0
  163. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/hash.md +0 -0
  164. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/index.md +0 -0
  165. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/integer.md +0 -0
  166. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/json.md +0 -0
  167. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/keys.md +0 -0
  168. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/left.md +0 -0
  169. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/length.md +0 -0
  170. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/lowercase.md +0 -0
  171. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/memory.md +0 -0
  172. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/modification.md +0 -0
  173. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/modulo.md +0 -0
  174. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/newline.md +0 -0
  175. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/now.md +0 -0
  176. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/operations.md +0 -0
  177. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/position.md +0 -0
  178. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/property.md +0 -0
  179. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/random.md +0 -0
  180. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/right.md +0 -0
  181. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/sin.md +0 -0
  182. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/stringify.md +0 -0
  183. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/tab.md +0 -0
  184. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/tan.md +0 -0
  185. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/timestamp.md +0 -0
  186. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/today.md +0 -0
  187. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/trim.md +0 -0
  188. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/type.md +0 -0
  189. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/uppercase.md +0 -0
  190. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/value.md +0 -0
  191. {easycoder-260403.2 → easycoder-260405.1}/doc/core/values/weekday.md +0 -0
  192. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/PATTERNS.md +0 -0
  193. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/README.md +0 -0
  194. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/add.md +0 -0
  195. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/attach.md +0 -0
  196. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/center.md +0 -0
  197. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/checkbox.md +0 -0
  198. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/clear.md +0 -0
  199. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/close.md +0 -0
  200. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/combobox.md +0 -0
  201. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/create.md +0 -0
  202. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/dialog.md +0 -0
  203. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/disable.md +0 -0
  204. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/enable.md +0 -0
  205. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/group.md +0 -0
  206. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/hide.md +0 -0
  207. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/label.md +0 -0
  208. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/layout.md +0 -0
  209. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/lineinput.md +0 -0
  210. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/listbox.md +0 -0
  211. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/messagebox.md +0 -0
  212. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/move.md +0 -0
  213. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/multiline.md +0 -0
  214. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/on.md +0 -0
  215. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/pushbutton.md +0 -0
  216. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/remove.md +0 -0
  217. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/select.md +0 -0
  218. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/set.md +0 -0
  219. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/keywords/window.md +0 -0
  220. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/values/attribute.md +0 -0
  221. {easycoder-260403.2 → easycoder-260405.1}/doc/graphics/values/window.md +0 -0
  222. {easycoder-260403.2 → easycoder-260405.1}/easycoder/debugger/__init__.py +0 -0
  223. {easycoder-260403.2 → easycoder-260405.1}/easycoder/debugger/ec_dbg_value_display copy.py +0 -0
  224. {easycoder-260403.2 → easycoder-260405.1}/easycoder/debugger/ec_dbg_value_display.py +0 -0
  225. {easycoder-260403.2 → easycoder-260405.1}/easycoder/debugger/ec_dbg_watch_list copy.py +0 -0
  226. {easycoder-260403.2 → easycoder-260405.1}/easycoder/debugger/ec_dbg_watchlist.py +0 -0
  227. {easycoder-260403.2 → easycoder-260405.1}/easycoder/debugger/ec_debug.py +0 -0
  228. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_border.py +0 -0
  229. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_classes.py +0 -0
  230. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_compiler.py +0 -0
  231. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_condition.py +0 -0
  232. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_email.py +0 -0
  233. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_gclasses.py +0 -0
  234. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_graphics.py +0 -0
  235. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_handler.py +0 -0
  236. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_keyboard.py +0 -0
  237. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_mqtt.py +0 -0
  238. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_program.py +0 -0
  239. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_psutil.py +0 -0
  240. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_server.py +0 -0
  241. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_timestamp.py +0 -0
  242. {easycoder-260403.2 → easycoder-260405.1}/easycoder/ec_value.py +0 -0
  243. {easycoder-260403.2 → easycoder-260405.1}/easycoder/icons/close.png +0 -0
  244. {easycoder-260403.2 → easycoder-260405.1}/easycoder/icons/exit.png +0 -0
  245. {easycoder-260403.2 → easycoder-260405.1}/easycoder/icons/run.png +0 -0
  246. {easycoder-260403.2 → easycoder-260405.1}/easycoder/icons/step.png +0 -0
  247. {easycoder-260403.2 → easycoder-260405.1}/easycoder/icons/stop.png +0 -0
  248. {easycoder-260403.2 → easycoder-260405.1}/easycoder/icons/tick.png +0 -0
  249. {easycoder-260403.2 → easycoder-260405.1}/easycoder/mqtt_listener.py +0 -0
  250. {easycoder-260403.2 → easycoder-260405.1}/easycoder/mqtt_publisher.py +0 -0
  251. {easycoder-260403.2 → easycoder-260405.1}/easycoder.tmLanguage.json +0 -0
  252. {easycoder-260403.2 → easycoder-260405.1}/flash.py +0 -0
  253. {easycoder-260403.2 → easycoder-260405.1}/images/Semoigo Dawn.jpg +0 -0
  254. {easycoder-260403.2 → easycoder-260405.1}/json/graphics-demo.json +0 -0
  255. {easycoder-260403.2 → easycoder-260405.1}/mailtest.ecs +0 -0
  256. {easycoder-260403.2 → easycoder-260405.1}/mqtt_listen.py +0 -0
  257. {easycoder-260403.2 → easycoder-260405.1}/mqtt_publish.py +0 -0
  258. {easycoder-260403.2 → easycoder-260405.1}/mqtt_test.html +0 -0
  259. {easycoder-260403.2 → easycoder-260405.1}/plugins/ec_p100.py +0 -0
  260. {easycoder-260403.2 → easycoder-260405.1}/plugins/ec_points.py +0 -0
  261. {easycoder-260403.2 → easycoder-260405.1}/plugins/ec_sql.py +0 -0
  262. {easycoder-260403.2 → easycoder-260405.1}/pyproject.toml +0 -0
  263. {easycoder-260403.2 → easycoder-260405.1}/spec/README.md +0 -0
  264. {easycoder-260403.2 → easycoder-260405.1}/spec/easycoder-language-contract.md +0 -0
  265. {easycoder-260403.2 → easycoder-260405.1}/spec/easycoder-plugin-contract.md +0 -0
  266. {easycoder-260403.2 → easycoder-260405.1}/spec/easycoder-versioning-policy.md +0 -0
  267. {easycoder-260403.2 → easycoder-260405.1}/tests/benchmark.ecs +0 -0
  268. {easycoder-260403.2 → easycoder-260405.1}/tests/child.ecs +0 -0
  269. {easycoder-260403.2 → easycoder-260405.1}/tests/ec_mqtt.py +0 -0
  270. {easycoder-260403.2 → easycoder-260405.1}/tests/editor_server.ecs +0 -0
  271. {easycoder-260403.2 → easycoder-260405.1}/tests/fizzbuzz.ecs +0 -0
  272. {easycoder-260403.2 → easycoder-260405.1}/tests/hello.ecs +0 -0
  273. {easycoder-260403.2 → easycoder-260405.1}/tests/mqtt.ecs +0 -0
  274. {easycoder-260403.2 → easycoder-260405.1}/tests/mqtt_listener.ecs +0 -0
  275. {easycoder-260403.2 → easycoder-260405.1}/tests/mqtt_publisher.ecs +0 -0
  276. {easycoder-260403.2 → easycoder-260405.1}/tests/parent.ecs +0 -0
  277. {easycoder-260403.2 → easycoder-260405.1}/tests/points.ecs +0 -0
  278. {easycoder-260403.2 → easycoder-260405.1}/tests/rbr_ui.py +0 -0
  279. {easycoder-260403.2 → easycoder-260405.1}/tests/rbrconf.ecs +0 -0
  280. {easycoder-260403.2 → easycoder-260405.1}/tests/rbrwidgets.py +0 -0
  281. {easycoder-260403.2 → easycoder-260405.1}/tests/server.ecs +0 -0
  282. {easycoder-260403.2 → easycoder-260405.1}/tests/server_test.html +0 -0
  283. {easycoder-260403.2 → easycoder-260405.1}/tests/server_test.sh +0 -0
  284. {easycoder-260403.2 → easycoder-260405.1}/tests/test.ecs +0 -0
  285. {easycoder-260403.2 → easycoder-260405.1}/tests/testg.ecs +0 -0
  286. {easycoder-260403.2 → easycoder-260405.1}/tests/tests.ecs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: easycoder
3
- Version: 260403.2
3
+ Version: 260405.1
4
4
  Summary: Rapid scripting in English
5
5
  Keywords: compiler,scripting,prototyping,programming,coding,python,low code,hypertalk,computer language,learn to code
6
6
  Author-email: Graham Trott <gtanyware@gmail.com>
@@ -3,7 +3,7 @@
3
3
  import importlib
4
4
  import math
5
5
 
6
- __version__ = "260403.2"
6
+ __version__ = "260405.1"
7
7
 
8
8
  from .ec_classes import *
9
9
  from .ec_compiler import *
@@ -1,4 +1,4 @@
1
- import json, math, hashlib, threading, os, subprocess, time
1
+ import json, math, hashlib, threading, os, shutil, subprocess, time
2
2
  import base64, binascii, random, requests, paramiko, uuid
3
3
  from copy import deepcopy
4
4
  from datetime import datetime
@@ -407,14 +407,15 @@ class Core(Handler):
407
407
  def r_decrement(self, command):
408
408
  return self.incdec(command, '-')
409
409
 
410
- # Delete a file or a property
411
- # delete file {filename}
410
+ # Delete a file, directory, or a property
411
+ # delete file {path}
412
+ # delete directory {path}
412
413
  # delete entry/item/property/element {name/number} of {variable}
413
414
  def k_delete(self, command):
414
415
  token = self.nextToken( )
415
416
  command['type'] = token
416
- if token == 'file':
417
- command['filename'] = self.nextValue()
417
+ if token in ('file', 'directory'):
418
+ command['path'] = self.nextValue()
418
419
  self.add(command)
419
420
  return True
420
421
  elif token in ('entry', 'item', 'property', 'element'):
@@ -431,16 +432,21 @@ class Core(Handler):
431
432
  return True
432
433
  self.warning(f'Core.delete: variable expected; got {self.getToken()}')
433
434
  else:
434
- self.warning(f'Core.delete: "file", "entry", "item", "property" or "element" expected; got {token}')
435
+ self.warning(f'Core.delete: "file", "directory", "entry", "item", "property" or "element" expected; got {token}')
435
436
  return False
436
437
 
437
438
  def r_delete(self, command):
438
439
  type = command['type']
439
440
  if type == 'file':
440
- filename = self.textify(command['filename'])
441
- if filename != None:
442
- path = self.resolveLocalPath(filename)
443
- if os.path.isfile(path): os.remove(path)
441
+ path = self.textify(command['path'])
442
+ if path != None:
443
+ local_path = self.resolveLocalPath(path)
444
+ if os.path.isfile(local_path): os.remove(local_path)
445
+ elif type == 'directory':
446
+ path = self.textify(command['path'])
447
+ if path != None:
448
+ local_path = self.resolveLocalPath(path)
449
+ if os.path.isdir(local_path): shutil.rmtree(local_path)
444
450
  elif type == 'entry':
445
451
  key = self.textify(command['key'])
446
452
  record = self.getVariable(command['variable'])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes