easycoder 250611.2__tar.gz → 250611.3__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.
- {easycoder-250611.2 → easycoder-250611.3}/PKG-INFO +1 -1
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/__init__.py +1 -1
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_core.py +40 -13
- {easycoder-250611.2 → easycoder-250611.3}/.gitignore +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/LICENSE +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/README.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/backdrop.jpg +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/README.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/README.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/boolean.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/empty.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/ends.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/even.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/exists.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/greater.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/hasProperty.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/includes.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/is.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/less.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/list.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/none.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/not.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/numeric.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/object.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/odd.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/starts.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/conditions/string.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/add.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/append.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/assert.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/begin.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/clear.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/close.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/create.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/debug.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/decrement.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/delete.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/divide.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/exit.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/file.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/fork.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/get.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/go.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/gosub.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/if.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/import.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/increment.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/index.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/init.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/input.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/load.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/lock.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/log.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/module.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/multiply.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/negate.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/open.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/pop.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/post.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/print.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/push.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/put.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/read.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/release.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/replace.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/return.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/run.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/save.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/script.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/set.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/split.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/stack.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/stop.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/system.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/take.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/toggle.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/truncate.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/unlock.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/variable.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/wait.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/while.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/keywords/write.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/arg.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/args.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/cos.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/datime.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/decode.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/element.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/elements.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/empty.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/encode.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/error.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/files.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/float.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/from.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/hash.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/index.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/integer.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/json.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/keys.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/left.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/length.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/lowercase.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/memory.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/modification.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/modulo.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/newline.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/now.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/position.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/property.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/random.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/right.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/sin.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/stringify.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/tab.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/tan.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/timestamp.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/today.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/trim.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/type.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/uppercase.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/value.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/core/values/weekday.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/README.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/attach.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/close.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/create.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/ellipse.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/image.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/move.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/on.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/rectangle.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/render.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/run.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/set.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/keywords/text.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/values/attribute.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/doc/graphics/values/window.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/README.md +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_classes.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_compiler.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_condition.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_handler.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_program.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_pyside.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_timestamp.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/easycoder/ec_value.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/images/Semoigo Dawn.jpg +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/json/graphics-demo.json +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/plugins/ec_keyboard.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/plugins/ec_p100.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/plugins/ec_pyside6.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/plugins/points.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/pyproject.toml +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/benchmark.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/config.ecg +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/ec_keyboard.py +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/findxr.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/fizzbuzz.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/hello.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/points.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/test.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/scripts/tests.ecs +0 -0
- {easycoder-250611.2 → easycoder-250611.3}/testrc.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: easycoder
|
|
3
|
-
Version: 250611.
|
|
3
|
+
Version: 250611.3
|
|
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>
|
|
@@ -1262,20 +1262,40 @@ class Core(Handler):
|
|
|
1262
1262
|
# Save a value to a file
|
|
1263
1263
|
def k_save(self, command):
|
|
1264
1264
|
command['content'] = self.nextValue()
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1265
|
+
self.skip('to')
|
|
1266
|
+
if self.nextIsSymbol():
|
|
1267
|
+
record = self.getSymbolRecord()
|
|
1268
|
+
if record['keyword'] == 'ssh':
|
|
1269
|
+
command['ssh'] = record['name']
|
|
1270
|
+
command['path'] = self.nextValue()
|
|
1271
|
+
self.add(command)
|
|
1272
|
+
else:
|
|
1273
|
+
command['file'] = self.getValue()
|
|
1274
|
+
command['or'] = None
|
|
1275
|
+
save = self.getPC()
|
|
1276
|
+
self.addCommand(command)
|
|
1277
|
+
if self.peek() == 'or':
|
|
1278
|
+
self.nextToken()
|
|
1279
|
+
self.nextToken()
|
|
1280
|
+
# Add a 'goto' to skip the 'or'
|
|
1281
|
+
cmd = {}
|
|
1282
|
+
cmd['lino'] = command['lino']
|
|
1283
|
+
cmd['domain'] = 'core'
|
|
1284
|
+
cmd['keyword'] = 'gotoPC'
|
|
1285
|
+
cmd['goto'] = 0
|
|
1286
|
+
cmd['debug'] = False
|
|
1287
|
+
skip = self.getPC()
|
|
1288
|
+
self.addCommand(cmd)
|
|
1289
|
+
# Process the 'or'
|
|
1290
|
+
self.getCommandAt(save)['or'] = self.getPC()
|
|
1291
|
+
self.compileOne()
|
|
1292
|
+
# Fixup the skip
|
|
1293
|
+
self.getCommandAt(skip)['goto'] = self.getPC()
|
|
1294
|
+
return True
|
|
1276
1295
|
return False
|
|
1277
1296
|
|
|
1278
1297
|
def r_save(self, command):
|
|
1298
|
+
errorReason = None
|
|
1279
1299
|
content = self.getRuntimeValue(command['content'])
|
|
1280
1300
|
if 'ssh' in command:
|
|
1281
1301
|
ssh = self.getVariable(command['ssh'])
|
|
@@ -1284,14 +1304,21 @@ class Core(Handler):
|
|
|
1284
1304
|
try:
|
|
1285
1305
|
with sftp.open(path, 'w') as remote_file: remote_file.write(content.encode())
|
|
1286
1306
|
except:
|
|
1287
|
-
|
|
1307
|
+
errorReason = 'Unable to write to {path}'
|
|
1288
1308
|
else:
|
|
1289
1309
|
filename = self.getRuntimeValue(command['file'])
|
|
1290
1310
|
if filename.endswith('.json'): content = json.dumps(content)
|
|
1291
1311
|
try:
|
|
1292
1312
|
with open(filename, 'w') as f: f.write(content)
|
|
1293
1313
|
except:
|
|
1294
|
-
|
|
1314
|
+
errorReason = f'Unable to write to {filename}'
|
|
1315
|
+
|
|
1316
|
+
if errorReason:
|
|
1317
|
+
if command['or'] != None:
|
|
1318
|
+
print(f'Exception "{errorReason}": Running the "or" clause')
|
|
1319
|
+
return command['or']
|
|
1320
|
+
else:
|
|
1321
|
+
RuntimeError(self.program, f'Error: {errorReason}')
|
|
1295
1322
|
return self.nextPC()
|
|
1296
1323
|
|
|
1297
1324
|
# Send a message to a module
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|