easycoder 250805.1__tar.gz → 250807.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 (173) hide show
  1. {easycoder-250805.1 → easycoder-250807.1}/PKG-INFO +1 -1
  2. {easycoder-250805.1 → easycoder-250807.1}/easycoder/__init__.py +1 -1
  3. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_core.py +32 -34
  4. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_program.py +4 -2
  5. {easycoder-250805.1 → easycoder-250807.1}/testrc.py +1 -1
  6. {easycoder-250805.1 → easycoder-250807.1}/testui.py +1 -1
  7. {easycoder-250805.1 → easycoder-250807.1}/.gitignore +0 -0
  8. {easycoder-250805.1 → easycoder-250807.1}/LICENSE +0 -0
  9. {easycoder-250805.1 → easycoder-250807.1}/README.md +0 -0
  10. {easycoder-250805.1 → easycoder-250807.1}/backdrop.jpg +0 -0
  11. {easycoder-250805.1 → easycoder-250807.1}/doc/README.md +0 -0
  12. {easycoder-250805.1 → easycoder-250807.1}/doc/core/README.md +0 -0
  13. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/boolean.md +0 -0
  14. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/empty.md +0 -0
  15. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/ends.md +0 -0
  16. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/even.md +0 -0
  17. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/exists.md +0 -0
  18. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/greater.md +0 -0
  19. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/hasProperty.md +0 -0
  20. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/includes.md +0 -0
  21. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/is.md +0 -0
  22. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/less.md +0 -0
  23. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/list.md +0 -0
  24. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/none.md +0 -0
  25. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/not.md +0 -0
  26. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/numeric.md +0 -0
  27. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/object.md +0 -0
  28. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/odd.md +0 -0
  29. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/starts.md +0 -0
  30. {easycoder-250805.1 → easycoder-250807.1}/doc/core/conditions/string.md +0 -0
  31. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/add.md +0 -0
  32. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/append.md +0 -0
  33. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/assert.md +0 -0
  34. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/begin.md +0 -0
  35. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/clear.md +0 -0
  36. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/close.md +0 -0
  37. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/create.md +0 -0
  38. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/debug.md +0 -0
  39. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/decrement.md +0 -0
  40. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/delete.md +0 -0
  41. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/divide.md +0 -0
  42. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/exit.md +0 -0
  43. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/file.md +0 -0
  44. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/fork.md +0 -0
  45. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/get.md +0 -0
  46. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/go.md +0 -0
  47. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/gosub.md +0 -0
  48. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/if.md +0 -0
  49. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/import.md +0 -0
  50. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/increment.md +0 -0
  51. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/index.md +0 -0
  52. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/init.md +0 -0
  53. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/input.md +0 -0
  54. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/load.md +0 -0
  55. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/lock.md +0 -0
  56. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/log.md +0 -0
  57. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/module.md +0 -0
  58. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/multiply.md +0 -0
  59. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/negate.md +0 -0
  60. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/on.md +0 -0
  61. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/open.md +0 -0
  62. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/pop.md +0 -0
  63. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/post.md +0 -0
  64. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/print.md +0 -0
  65. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/push.md +0 -0
  66. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/put.md +0 -0
  67. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/read.md +0 -0
  68. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/release.md +0 -0
  69. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/replace.md +0 -0
  70. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/return.md +0 -0
  71. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/run.md +0 -0
  72. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/save.md +0 -0
  73. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/script.md +0 -0
  74. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/send.md +0 -0
  75. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/set.md +0 -0
  76. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/shuffle.md +0 -0
  77. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/split.md +0 -0
  78. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/stack.md +0 -0
  79. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/stop.md +0 -0
  80. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/system.md +0 -0
  81. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/take.md +0 -0
  82. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/toggle.md +0 -0
  83. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/truncate.md +0 -0
  84. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/unlock.md +0 -0
  85. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/use.md +0 -0
  86. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/variable.md +0 -0
  87. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/wait.md +0 -0
  88. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/while.md +0 -0
  89. {easycoder-250805.1 → easycoder-250807.1}/doc/core/keywords/write.md +0 -0
  90. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/arg.md +0 -0
  91. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/args.md +0 -0
  92. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/cos.md +0 -0
  93. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/datime.md +0 -0
  94. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/decode.md +0 -0
  95. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/element.md +0 -0
  96. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/elements.md +0 -0
  97. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/empty.md +0 -0
  98. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/encode.md +0 -0
  99. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/error.md +0 -0
  100. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/files.md +0 -0
  101. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/float.md +0 -0
  102. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/from.md +0 -0
  103. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/hash.md +0 -0
  104. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/index.md +0 -0
  105. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/integer.md +0 -0
  106. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/json.md +0 -0
  107. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/keys.md +0 -0
  108. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/left.md +0 -0
  109. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/length.md +0 -0
  110. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/lowercase.md +0 -0
  111. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/memory.md +0 -0
  112. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/modification.md +0 -0
  113. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/modulo.md +0 -0
  114. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/newline.md +0 -0
  115. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/now.md +0 -0
  116. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/position.md +0 -0
  117. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/property.md +0 -0
  118. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/random.md +0 -0
  119. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/right.md +0 -0
  120. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/sin.md +0 -0
  121. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/stringify.md +0 -0
  122. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/tab.md +0 -0
  123. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/tan.md +0 -0
  124. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/timestamp.md +0 -0
  125. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/today.md +0 -0
  126. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/trim.md +0 -0
  127. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/type.md +0 -0
  128. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/uppercase.md +0 -0
  129. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/value.md +0 -0
  130. {easycoder-250805.1 → easycoder-250807.1}/doc/core/values/weekday.md +0 -0
  131. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/README.md +0 -0
  132. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/attach.md +0 -0
  133. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/close.md +0 -0
  134. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/create.md +0 -0
  135. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/ellipse.md +0 -0
  136. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/image.md +0 -0
  137. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/move.md +0 -0
  138. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/on.md +0 -0
  139. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/rectangle.md +0 -0
  140. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/render.md +0 -0
  141. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/run.md +0 -0
  142. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/set.md +0 -0
  143. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/keywords/text.md +0 -0
  144. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/values/attribute.md +0 -0
  145. {easycoder-250805.1 → easycoder-250807.1}/doc/graphics/values/window.md +0 -0
  146. {easycoder-250805.1 → easycoder-250807.1}/easycoder/close.png +0 -0
  147. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_classes.py +0 -0
  148. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_compiler.py +0 -0
  149. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_condition.py +0 -0
  150. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_handler.py +0 -0
  151. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_keyboard.py +0 -0
  152. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_pyside.py +0 -0
  153. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_timestamp.py +0 -0
  154. {easycoder-250805.1 → easycoder-250807.1}/easycoder/ec_value.py +0 -0
  155. {easycoder-250805.1 → easycoder-250807.1}/images/Semoigo Dawn.jpg +0 -0
  156. {easycoder-250805.1 → easycoder-250807.1}/json/graphics-demo.json +0 -0
  157. {easycoder-250805.1 → easycoder-250807.1}/plugins/ec_keyboard.py +0 -0
  158. {easycoder-250805.1 → easycoder-250807.1}/plugins/ec_p100.py +0 -0
  159. {easycoder-250805.1 → easycoder-250807.1}/plugins/ec_pyside6.py +0 -0
  160. {easycoder-250805.1 → easycoder-250807.1}/plugins/points.py +0 -0
  161. {easycoder-250805.1 → easycoder-250807.1}/plugins/sql.py +0 -0
  162. {easycoder-250805.1 → easycoder-250807.1}/pyproject.toml +0 -0
  163. {easycoder-250805.1 → easycoder-250807.1}/scripts/benchmark.ecs +0 -0
  164. {easycoder-250805.1 → easycoder-250807.1}/scripts/config.ecg +0 -0
  165. {easycoder-250805.1 → easycoder-250807.1}/scripts/ec_keyboard.py +0 -0
  166. {easycoder-250805.1 → easycoder-250807.1}/scripts/findxr.ecs +0 -0
  167. {easycoder-250805.1 → easycoder-250807.1}/scripts/fizzbuzz.ecs +0 -0
  168. {easycoder-250805.1 → easycoder-250807.1}/scripts/hello.ecs +0 -0
  169. {easycoder-250805.1 → easycoder-250807.1}/scripts/points.ecs +0 -0
  170. {easycoder-250805.1 → easycoder-250807.1}/scripts/test.ecs +0 -0
  171. {easycoder-250805.1 → easycoder-250807.1}/scripts/tests.ecs +0 -0
  172. {easycoder-250805.1 → easycoder-250807.1}/test.py +0 -0
  173. {easycoder-250805.1 → easycoder-250807.1}/testsql.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: easycoder
3
- Version: 250805.1
3
+ Version: 250807.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>
@@ -11,4 +11,4 @@ from .ec_pyside import *
11
11
  from .ec_timestamp import *
12
12
  from .ec_value import *
13
13
 
14
- __version__ = "250805.1"
14
+ __version__ = "250807.1"
@@ -593,39 +593,29 @@ class Core(Handler):
593
593
  self.program.pc += 1
594
594
  return self.program.pc
595
595
 
596
+ # Import one or more variables
596
597
  def k_import(self, command):
597
- if self.peek() == 'plugin':
598
- # Import a plugin
598
+ imports = []
599
+ while True:
600
+ keyword = self.nextToken()
601
+ name = self.nextToken()
602
+ item = [keyword, name]
603
+ imports.append(item)
604
+ self.symbols[name] = self.getPC()
605
+ variable = {}
606
+ variable['domain'] = None
607
+ variable['name'] = name
608
+ variable['keyword'] = keyword
609
+ variable['import'] = None
610
+ variable['used'] = False
611
+ variable['hasValue'] = True if keyword == 'variable' else False
612
+ self.add(variable)
613
+ if self.peek() != 'and':
614
+ break
599
615
  self.nextToken()
600
- clazz = self.nextToken()
601
- if self.nextIs('from'):
602
- source = self.nextToken()
603
- self.program.importPlugin(f'{source}:{clazz}')
604
- return True
605
- return False
606
- else:
607
- # Import one or more variables
608
- imports = []
609
- while True:
610
- keyword = self.nextToken()
611
- name = self.nextToken()
612
- item = [keyword, name]
613
- imports.append(item)
614
- self.symbols[name] = self.getPC()
615
- variable = {}
616
- variable['domain'] = None
617
- variable['name'] = name
618
- variable['keyword'] = keyword
619
- variable['import'] = None
620
- variable['used'] = False
621
- variable['hasValue'] = True if keyword == 'variable' else False
622
- self.add(variable)
623
- if self.peek() != 'and':
624
- break
625
- self.nextToken()
626
- command['imports'] = json.dumps(imports)
627
- self.add(command)
628
- return True
616
+ command['imports'] = json.dumps(imports)
617
+ self.add(command)
618
+ return True
629
619
 
630
620
  def r_import(self, command):
631
621
  exports = self.program.exports
@@ -1763,8 +1753,16 @@ class Core(Handler):
1763
1753
 
1764
1754
  # Use a plugin module
1765
1755
  def k_use(self, command):
1766
- self.skip('plugin')
1767
- if self.nextIs('graphics'):
1756
+ if self.peek() == 'plugin':
1757
+ # Import a plugin
1758
+ self.nextToken()
1759
+ clazz = self.nextToken()
1760
+ if self.nextIs('from'):
1761
+ source = self.nextToken()
1762
+ self.program.importPlugin(f'{source}:{clazz}')
1763
+ return True
1764
+ return False
1765
+ elif self.nextIs('graphics'):
1768
1766
  print('Loading graphics module')
1769
1767
  from .ec_pyside import Graphics
1770
1768
  self.program.graphics = Graphics
@@ -2476,7 +2474,7 @@ class Core(Handler):
2476
2474
  limit = self.getRuntimeValue(v['content'])
2477
2475
  value = {}
2478
2476
  value['type'] = 'int'
2479
- value['content'] = randrange(0, limit)
2477
+ value['content'] = random.randrange(0, limit)
2480
2478
  return value
2481
2479
 
2482
2480
  def v_right(self, v):
@@ -22,6 +22,7 @@ class Program:
22
22
  if len(argv) == 0:
23
23
  print('No script supplied')
24
24
  exit()
25
+ if argv in ['-v', '--version']: return
25
26
  scriptName = argv
26
27
 
27
28
  f = open(scriptName, 'r')
@@ -47,6 +48,7 @@ class Program:
47
48
  self.externalControl = False
48
49
  self.ticker = 0
49
50
  self.running = True
51
+ self.start()
50
52
 
51
53
  # This is called at 10msec intervals by the GUI code
52
54
  def flushCB(self):
@@ -388,9 +390,9 @@ class Program:
388
390
  # This is the program launcher
389
391
  def Main():
390
392
  if (len(sys.argv) > 1):
391
- Program(sys.argv[1]).start()
393
+ Program(sys.argv[1])
392
394
  else:
393
- print('Syntax: easycoder <scriptname> [plugins]')
395
+ Program('-v')
394
396
 
395
397
  if __name__ == '__main__':
396
398
  Main()
@@ -4,4 +4,4 @@ import os
4
4
  from easycoder import Program
5
5
 
6
6
  os.chdir('../../rbr/')
7
- Program('rbrconf.ecs').start()
7
+ Program('rbrconf.ecs')
@@ -4,4 +4,4 @@ import os
4
4
  from easycoder import Program
5
5
 
6
6
  os.chdir('../../rbr/roombyroom/Controller/ui')
7
- Program('rbr_ui.ecs').start()
7
+ Program('rbr_ui.ecs')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes