easycoder 250103.1__tar.gz → 250103.2__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 (141) hide show
  1. {easycoder-250103.1 → easycoder-250103.2}/PKG-INFO +1 -1
  2. {easycoder-250103.1 → easycoder-250103.2}/easycoder/__init__.py +1 -1
  3. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_core.py +40 -8
  4. {easycoder-250103.1 → easycoder-250103.2}/scripts/graphics-demo.ecg +1 -1
  5. {easycoder-250103.1 → easycoder-250103.2}/LICENSE +0 -0
  6. {easycoder-250103.1 → easycoder-250103.2}/README.md +0 -0
  7. {easycoder-250103.1 → easycoder-250103.2}/doc/README.md +0 -0
  8. {easycoder-250103.1 → easycoder-250103.2}/doc/core/README.md +0 -0
  9. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/boolean.md +0 -0
  10. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/empty.md +0 -0
  11. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/ends.md +0 -0
  12. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/even.md +0 -0
  13. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/exists.md +0 -0
  14. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/greater.md +0 -0
  15. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/hasProperty.md +0 -0
  16. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/includes.md +0 -0
  17. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/is.md +0 -0
  18. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/less.md +0 -0
  19. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/list.md +0 -0
  20. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/none.md +0 -0
  21. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/not.md +0 -0
  22. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/numeric.md +0 -0
  23. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/object.md +0 -0
  24. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/odd.md +0 -0
  25. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/starts.md +0 -0
  26. {easycoder-250103.1 → easycoder-250103.2}/doc/core/conditions/string.md +0 -0
  27. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/add.md +0 -0
  28. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/append.md +0 -0
  29. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/assert.md +0 -0
  30. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/begin.md +0 -0
  31. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/clear.md +0 -0
  32. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/close.md +0 -0
  33. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/create.md +0 -0
  34. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/debug.md +0 -0
  35. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/decrement.md +0 -0
  36. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/delete.md +0 -0
  37. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/divide.md +0 -0
  38. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/exit.md +0 -0
  39. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/file.md +0 -0
  40. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/fork.md +0 -0
  41. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/get.md +0 -0
  42. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/go.md +0 -0
  43. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/gosub.md +0 -0
  44. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/if.md +0 -0
  45. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/import.md +0 -0
  46. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/increment.md +0 -0
  47. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/index.md +0 -0
  48. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/init.md +0 -0
  49. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/input.md +0 -0
  50. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/load.md +0 -0
  51. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/multiply.md +0 -0
  52. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/negate.md +0 -0
  53. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/open.md +0 -0
  54. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/pop.md +0 -0
  55. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/post.md +0 -0
  56. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/print.md +0 -0
  57. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/push.md +0 -0
  58. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/put.md +0 -0
  59. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/read.md +0 -0
  60. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/replace.md +0 -0
  61. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/return.md +0 -0
  62. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/save.md +0 -0
  63. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/script.md +0 -0
  64. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/set.md +0 -0
  65. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/split.md +0 -0
  66. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/stack.md +0 -0
  67. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/stop.md +0 -0
  68. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/system.md +0 -0
  69. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/take.md +0 -0
  70. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/toggle.md +0 -0
  71. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/truncate.md +0 -0
  72. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/variable.md +0 -0
  73. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/wait.md +0 -0
  74. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/while.md +0 -0
  75. {easycoder-250103.1 → easycoder-250103.2}/doc/core/keywords/write.md +0 -0
  76. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/arg.md +0 -0
  77. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/args.md +0 -0
  78. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/cos.md +0 -0
  79. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/datime.md +0 -0
  80. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/decode.md +0 -0
  81. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/element.md +0 -0
  82. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/elements.md +0 -0
  83. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/empty.md +0 -0
  84. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/encode.md +0 -0
  85. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/error.md +0 -0
  86. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/files.md +0 -0
  87. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/float.md +0 -0
  88. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/from.md +0 -0
  89. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/hash.md +0 -0
  90. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/index.md +0 -0
  91. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/integer.md +0 -0
  92. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/json.md +0 -0
  93. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/keys.md +0 -0
  94. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/left.md +0 -0
  95. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/length.md +0 -0
  96. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/lowercase.md +0 -0
  97. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/memory.md +0 -0
  98. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/modification.md +0 -0
  99. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/modulo.md +0 -0
  100. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/newline.md +0 -0
  101. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/now.md +0 -0
  102. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/position.md +0 -0
  103. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/property.md +0 -0
  104. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/random.md +0 -0
  105. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/right.md +0 -0
  106. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/sin.md +0 -0
  107. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/stringify.md +0 -0
  108. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/tab.md +0 -0
  109. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/tan.md +0 -0
  110. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/timestamp.md +0 -0
  111. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/today.md +0 -0
  112. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/trim.md +0 -0
  113. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/type.md +0 -0
  114. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/uppercase.md +0 -0
  115. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/value.md +0 -0
  116. {easycoder-250103.1 → easycoder-250103.2}/doc/core/values/weekday.md +0 -0
  117. {easycoder-250103.1 → easycoder-250103.2}/doc/graphics/README.md +0 -0
  118. {easycoder-250103.1 → easycoder-250103.2}/easycoder/README.md +0 -0
  119. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec.py +0 -0
  120. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_classes.py +0 -0
  121. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_compiler.py +0 -0
  122. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_condition.py +0 -0
  123. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_graphics.py +0 -0
  124. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_handler.py +0 -0
  125. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_program.py +0 -0
  126. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_renderer.py +0 -0
  127. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_screenspec.py +0 -0
  128. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_timestamp.py +0 -0
  129. {easycoder-250103.1 → easycoder-250103.2}/easycoder/ec_value.py +0 -0
  130. {easycoder-250103.1 → easycoder-250103.2}/images/Semoigo Dawn.jpg +0 -0
  131. {easycoder-250103.1 → easycoder-250103.2}/json/graphics-demo.json +0 -0
  132. {easycoder-250103.1 → easycoder-250103.2}/plugins/ec_p100.py +0 -0
  133. {easycoder-250103.1 → easycoder-250103.2}/plugins/example.py +0 -0
  134. {easycoder-250103.1 → easycoder-250103.2}/pyproject.toml +0 -0
  135. {easycoder-250103.1 → easycoder-250103.2}/scripts/README.md +0 -0
  136. {easycoder-250103.1 → easycoder-250103.2}/scripts/benchmark.ecs +0 -0
  137. {easycoder-250103.1 → easycoder-250103.2}/scripts/fizzbuzz.ecs +0 -0
  138. {easycoder-250103.1 → easycoder-250103.2}/scripts/hello.ecs +0 -0
  139. {easycoder-250103.1 → easycoder-250103.2}/scripts/points.ecs +0 -0
  140. {easycoder-250103.1 → easycoder-250103.2}/scripts/tests.ecs +0 -0
  141. {easycoder-250103.1 → easycoder-250103.2}/scripts/wave.ecg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: easycoder
3
- Version: 250103.1
3
+ Version: 250103.2
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>
@@ -10,4 +10,4 @@ from .ec_program import *
10
10
  from .ec_timestamp import *
11
11
  from .ec_value import *
12
12
 
13
- __version__ = "250103.1"
13
+ __version__ = "250103.2"
@@ -646,6 +646,28 @@ class Core(Handler):
646
646
  self.putSymbolValue(symbolRecord, value)
647
647
  return self.nextPC()
648
648
 
649
+ # Load a variable from a file
650
+ def k_load(self, command):
651
+ if self.nextIsSymbol():
652
+ command['target'] = self.getToken()
653
+ if self.nextIs('from'):
654
+ command['file'] = self.nextValue()
655
+ self.add(command)
656
+ return True
657
+ return False
658
+
659
+ def r_load(self, command):
660
+ target = self.getVariable(command['target'])
661
+ file = self.getRuntimeValue(command['file'])
662
+ f = open(file, 'r')
663
+ content = f.read()
664
+ f.close()
665
+ value = {}
666
+ value['type'] = 'text'
667
+ value['content'] = content
668
+ self.putSymbolValue(target, value)
669
+ return self.nextPC()
670
+
649
671
  # Arithmetic multiply
650
672
  # multiply {variable} by {value}[ giving {variable}]}
651
673
  def k_multiply(self, command):
@@ -1021,6 +1043,23 @@ class Core(Handler):
1021
1043
  self.program.name = self.nextToken()
1022
1044
  return True
1023
1045
 
1046
+ # Save a value to a file
1047
+ def k_save(self, command):
1048
+ command['content'] = self.nextValue()
1049
+ if self.nextIs('to'):
1050
+ command['file'] = self.nextValue()
1051
+ self.add(command)
1052
+ return True
1053
+ return False
1054
+
1055
+ def r_save(self, command):
1056
+ content = self.getRuntimeValue(command['content'])
1057
+ file = self.getRuntimeValue(command['file'])
1058
+ f = open(file, 'w')
1059
+ f.write(content)
1060
+ f.close()
1061
+ return self.nextPC()
1062
+
1024
1063
  # Set a value
1025
1064
  # set {variable}
1026
1065
  # set the elements of {variable} to {value}
@@ -2021,19 +2060,12 @@ class Core(Handler):
2021
2060
  value['content'] = json.dumps(item)
2022
2061
  return value
2023
2062
 
2063
+ # This is used by the expression evaluator to get the value of a symbol
2024
2064
  def v_symbol(self, symbolRecord):
2025
2065
  result = {}
2026
2066
  if symbolRecord['keyword'] == 'variable':
2027
2067
  symbolValue = self.getSymbolValue(symbolRecord)
2028
2068
  return symbolValue
2029
- # if symbolValue == None:
2030
- # return None
2031
- # result['type'] = symbolValue['type']
2032
- # content = symbolValue['content']
2033
- # if content == None:
2034
- # return ''
2035
- # result['content'] = content
2036
- # return result
2037
2069
  else:
2038
2070
  return None
2039
2071
 
@@ -25,7 +25,7 @@
25
25
  create window title `Learning Kivy` at 300 300 size 640 480 fill color 255 255 200
26
26
  run graphics
27
27
 
28
- load Spec from `graphics-demo.json`
28
+ load Spec from `json/graphics-demo.json`
29
29
  render Spec
30
30
 
31
31
  attach BlueRect to `bluerect`
File without changes
File without changes
File without changes