easycoder 250317.2__tar.gz → 250317.4__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.

Potentially problematic release.


This version of easycoder might be problematic. Click here for more details.

Files changed (176) hide show
  1. {easycoder-250317.2 → easycoder-250317.4}/PKG-INFO +1 -1
  2. {easycoder-250317.2 → easycoder-250317.4}/easycoder/__init__.py +1 -1
  3. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_core.py +21 -6
  4. easycoder-250317.4/test.ecs +20 -0
  5. easycoder-250317.2/test.ecs +0 -13
  6. {easycoder-250317.2 → easycoder-250317.4}/LICENSE +0 -0
  7. {easycoder-250317.2 → easycoder-250317.4}/README.md +0 -0
  8. {easycoder-250317.2 → easycoder-250317.4}/doc/README.md +0 -0
  9. {easycoder-250317.2 → easycoder-250317.4}/doc/core/README.md +0 -0
  10. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/boolean.md +0 -0
  11. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/empty.md +0 -0
  12. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/ends.md +0 -0
  13. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/even.md +0 -0
  14. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/exists.md +0 -0
  15. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/greater.md +0 -0
  16. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/hasProperty.md +0 -0
  17. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/includes.md +0 -0
  18. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/is.md +0 -0
  19. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/less.md +0 -0
  20. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/list.md +0 -0
  21. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/none.md +0 -0
  22. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/not.md +0 -0
  23. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/numeric.md +0 -0
  24. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/object.md +0 -0
  25. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/odd.md +0 -0
  26. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/starts.md +0 -0
  27. {easycoder-250317.2 → easycoder-250317.4}/doc/core/conditions/string.md +0 -0
  28. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/add.md +0 -0
  29. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/append.md +0 -0
  30. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/assert.md +0 -0
  31. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/begin.md +0 -0
  32. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/clear.md +0 -0
  33. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/close.md +0 -0
  34. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/create.md +0 -0
  35. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/debug.md +0 -0
  36. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/decrement.md +0 -0
  37. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/delete.md +0 -0
  38. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/divide.md +0 -0
  39. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/exit.md +0 -0
  40. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/file.md +0 -0
  41. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/fork.md +0 -0
  42. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/get.md +0 -0
  43. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/go.md +0 -0
  44. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/gosub.md +0 -0
  45. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/if.md +0 -0
  46. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/import.md +0 -0
  47. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/increment.md +0 -0
  48. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/index.md +0 -0
  49. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/init.md +0 -0
  50. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/input.md +0 -0
  51. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/load.md +0 -0
  52. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/lock.md +0 -0
  53. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/log.md +0 -0
  54. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/module.md +0 -0
  55. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/multiply.md +0 -0
  56. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/negate.md +0 -0
  57. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/open.md +0 -0
  58. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/pop.md +0 -0
  59. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/post.md +0 -0
  60. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/print.md +0 -0
  61. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/push.md +0 -0
  62. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/put.md +0 -0
  63. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/read.md +0 -0
  64. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/release.md +0 -0
  65. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/replace.md +0 -0
  66. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/return.md +0 -0
  67. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/run.md +0 -0
  68. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/save.md +0 -0
  69. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/script.md +0 -0
  70. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/set.md +0 -0
  71. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/split.md +0 -0
  72. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/stack.md +0 -0
  73. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/stop.md +0 -0
  74. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/system.md +0 -0
  75. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/take.md +0 -0
  76. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/toggle.md +0 -0
  77. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/truncate.md +0 -0
  78. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/unlock.md +0 -0
  79. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/variable.md +0 -0
  80. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/wait.md +0 -0
  81. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/while.md +0 -0
  82. {easycoder-250317.2 → easycoder-250317.4}/doc/core/keywords/write.md +0 -0
  83. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/arg.md +0 -0
  84. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/args.md +0 -0
  85. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/cos.md +0 -0
  86. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/datime.md +0 -0
  87. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/decode.md +0 -0
  88. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/element.md +0 -0
  89. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/elements.md +0 -0
  90. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/empty.md +0 -0
  91. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/encode.md +0 -0
  92. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/error.md +0 -0
  93. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/files.md +0 -0
  94. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/float.md +0 -0
  95. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/from.md +0 -0
  96. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/hash.md +0 -0
  97. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/index.md +0 -0
  98. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/integer.md +0 -0
  99. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/json.md +0 -0
  100. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/keys.md +0 -0
  101. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/left.md +0 -0
  102. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/length.md +0 -0
  103. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/lowercase.md +0 -0
  104. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/memory.md +0 -0
  105. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/modification.md +0 -0
  106. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/modulo.md +0 -0
  107. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/newline.md +0 -0
  108. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/now.md +0 -0
  109. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/position.md +0 -0
  110. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/property.md +0 -0
  111. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/random.md +0 -0
  112. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/right.md +0 -0
  113. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/sin.md +0 -0
  114. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/stringify.md +0 -0
  115. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/tab.md +0 -0
  116. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/tan.md +0 -0
  117. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/timestamp.md +0 -0
  118. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/today.md +0 -0
  119. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/trim.md +0 -0
  120. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/type.md +0 -0
  121. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/uppercase.md +0 -0
  122. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/value.md +0 -0
  123. {easycoder-250317.2 → easycoder-250317.4}/doc/core/values/weekday.md +0 -0
  124. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/README.md +0 -0
  125. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/attach.md +0 -0
  126. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/close.md +0 -0
  127. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/create.md +0 -0
  128. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/ellipse.md +0 -0
  129. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/image.md +0 -0
  130. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/move.md +0 -0
  131. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/on.md +0 -0
  132. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/rectangle.md +0 -0
  133. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/render.md +0 -0
  134. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/run.md +0 -0
  135. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/set.md +0 -0
  136. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/keywords/text.md +0 -0
  137. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/values/attribute.md +0 -0
  138. {easycoder-250317.2 → easycoder-250317.4}/doc/graphics/values/window.md +0 -0
  139. {easycoder-250317.2 → easycoder-250317.4}/easycoder/README.md +0 -0
  140. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_classes.py +0 -0
  141. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_compiler.py +0 -0
  142. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_condition.py +0 -0
  143. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_graphics.py +0 -0
  144. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_gutils.py +0 -0
  145. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_handler.py +0 -0
  146. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_program.py +0 -0
  147. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_timestamp.py +0 -0
  148. {easycoder-250317.2 → easycoder-250317.4}/easycoder/ec_value.py +0 -0
  149. {easycoder-250317.2 → easycoder-250317.4}/images/Semoigo Dawn.jpg +0 -0
  150. {easycoder-250317.2 → easycoder-250317.4}/json/graphics-demo.json +0 -0
  151. {easycoder-250317.2 → easycoder-250317.4}/plugins/ec_keyboard.py +0 -0
  152. {easycoder-250317.2 → easycoder-250317.4}/plugins/ec_p100.py +0 -0
  153. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/4-function.json +0 -0
  154. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/4-function.png +0 -0
  155. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-0.json +0 -0
  156. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-0.png +0 -0
  157. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-1.json +0 -0
  158. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-1.png +0 -0
  159. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-2.json +0 -0
  160. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-2.png +0 -0
  161. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-3.json +0 -0
  162. {easycoder-250317.2 → easycoder-250317.4}/plugins/keyboards/qwerty-3.png +0 -0
  163. {easycoder-250317.2 → easycoder-250317.4}/plugins/points.py +0 -0
  164. {easycoder-250317.2 → easycoder-250317.4}/pyproject.toml +0 -0
  165. {easycoder-250317.2 → easycoder-250317.4}/scripts/README.md +0 -0
  166. {easycoder-250317.2 → easycoder-250317.4}/scripts/benchmark.ecs +0 -0
  167. {easycoder-250317.2 → easycoder-250317.4}/scripts/config.ecg +0 -0
  168. {easycoder-250317.2 → easycoder-250317.4}/scripts/connect.ecg +0 -0
  169. {easycoder-250317.2 → easycoder-250317.4}/scripts/ec_keyboard.py +0 -0
  170. {easycoder-250317.2 → easycoder-250317.4}/scripts/findxr.ecs +0 -0
  171. {easycoder-250317.2 → easycoder-250317.4}/scripts/fizzbuzz.ecs +0 -0
  172. {easycoder-250317.2 → easycoder-250317.4}/scripts/hello.ecs +0 -0
  173. {easycoder-250317.2 → easycoder-250317.4}/scripts/points.ecs +0 -0
  174. {easycoder-250317.2 → easycoder-250317.4}/scripts/test.ecs +0 -0
  175. {easycoder-250317.2 → easycoder-250317.4}/scripts/testg.ecg +0 -0
  176. {easycoder-250317.2 → easycoder-250317.4}/scripts/tests.ecs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: easycoder
3
- Version: 250317.2
3
+ Version: 250317.4
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>
@@ -9,4 +9,4 @@ from .ec_program import *
9
9
  from .ec_timestamp import *
10
10
  from .ec_value import *
11
11
 
12
- __version__ = "250317.2"
12
+ __version__ = "250317.4"
@@ -1780,8 +1780,8 @@ class Core(Handler):
1780
1780
  token = self.getToken()
1781
1781
  value['type'] = token
1782
1782
 
1783
- if token == 'args':
1784
- return value
1783
+ if token in ['args', 'directory']:
1784
+ return value
1785
1785
 
1786
1786
  if token == 'elements':
1787
1787
  if self.nextIs('of'):
@@ -2013,6 +2013,12 @@ class Core(Handler):
2013
2013
  value = v
2014
2014
  return value
2015
2015
 
2016
+ def v_directory(self, v):
2017
+ value = {}
2018
+ value['type'] = 'text'
2019
+ value['content'] = os.getcwd()
2020
+ return value
2021
+
2016
2022
  def v_element(self, v):
2017
2023
  index = self.getRuntimeValue(v['index'])
2018
2024
  target = self.getVariable(v['target'])
@@ -2381,19 +2387,27 @@ class Core(Handler):
2381
2387
  # Compile a condition
2382
2388
  def compileCondition(self):
2383
2389
  condition = Condition()
2390
+ condition.negate = False
2384
2391
 
2385
2392
  if self.getToken() == 'not':
2386
2393
  condition.type = 'not'
2387
2394
  condition.value = self.nextValue()
2388
- return condition
2395
+ return not condition
2389
2396
 
2390
2397
  if self.getToken() == 'file':
2391
2398
  path = self.nextValue()
2392
- if self.peek() == 'exists':
2399
+ token = self.nextToken()
2400
+ if token == 'exists':
2393
2401
  condition.type = 'exists'
2394
2402
  condition.path = path
2395
- self.nextToken()
2396
2403
  return condition
2404
+ if token == 'does':
2405
+ if self.nextIs('not'):
2406
+ if self.nextIs('exist'):
2407
+ condition.type = 'exists'
2408
+ condition.path = path
2409
+ condition.negate = True
2410
+ return condition
2397
2411
  return None
2398
2412
 
2399
2413
  value = self.getValue()
@@ -2506,7 +2520,8 @@ class Core(Handler):
2506
2520
 
2507
2521
  def c_exists(self, condition):
2508
2522
  path = self.getRuntimeValue(condition.path)
2509
- return os.path.exists(path)
2523
+ comparison = os.path.exists(path)
2524
+ return comparison <= 0 if condition.negate else comparison > 0
2510
2525
 
2511
2526
  def c_greater(self, condition):
2512
2527
  comparison = self.program.compare(condition.value1, condition.value2)
@@ -0,0 +1,20 @@
1
+ ! Test
2
+
3
+ script Test
4
+
5
+ variable Directory
6
+ variable Name
7
+
8
+ ! debug step
9
+
10
+ put the directory into Directory
11
+ put the directory cat `/README.md` into Name
12
+ gosub to TestMe
13
+ put the directory cat `/Nothing` into Name
14
+ gosub to TestMe
15
+ exit
16
+
17
+ TestMe:
18
+ if file Name exists print Name cat ` exists`
19
+ if file Name does not exist print Name cat ` does not exist`
20
+ return
@@ -1,13 +0,0 @@
1
- ! Test
2
-
3
- script Test
4
-
5
- variable Text
6
-
7
- debug step
8
-
9
- put `12345jj6789 S Room1` into Text
10
- ! split Text on ` `
11
- ! index Text to 2
12
- print Text
13
- exit
File without changes
File without changes
File without changes