easycoder 250609.2__tar.gz → 250611.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.
- {easycoder-250609.2 → easycoder-250611.2}/PKG-INFO +1 -1
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/__init__.py +1 -1
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_core.py +27 -8
- {easycoder-250609.2 → easycoder-250611.2}/.gitignore +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/LICENSE +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/README.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/backdrop.jpg +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/README.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/README.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/boolean.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/empty.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/ends.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/even.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/exists.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/greater.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/hasProperty.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/includes.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/is.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/less.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/list.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/none.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/not.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/numeric.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/object.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/odd.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/starts.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/conditions/string.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/add.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/append.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/assert.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/begin.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/clear.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/close.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/create.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/debug.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/decrement.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/delete.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/divide.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/exit.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/file.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/fork.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/get.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/go.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/gosub.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/if.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/import.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/increment.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/index.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/init.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/input.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/load.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/lock.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/log.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/module.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/multiply.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/negate.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/open.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/pop.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/post.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/print.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/push.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/put.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/read.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/release.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/replace.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/return.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/run.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/save.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/script.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/set.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/split.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/stack.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/stop.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/system.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/take.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/toggle.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/truncate.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/unlock.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/variable.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/wait.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/while.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/keywords/write.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/arg.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/args.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/cos.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/datime.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/decode.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/element.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/elements.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/empty.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/encode.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/error.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/files.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/float.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/from.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/hash.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/index.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/integer.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/json.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/keys.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/left.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/length.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/lowercase.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/memory.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/modification.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/modulo.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/newline.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/now.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/position.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/property.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/random.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/right.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/sin.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/stringify.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/tab.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/tan.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/timestamp.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/today.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/trim.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/type.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/uppercase.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/value.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/core/values/weekday.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/README.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/attach.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/close.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/create.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/ellipse.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/image.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/move.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/on.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/rectangle.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/render.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/run.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/set.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/keywords/text.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/values/attribute.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/doc/graphics/values/window.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/README.md +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_classes.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_compiler.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_condition.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_handler.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_program.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_pyside.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_timestamp.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/easycoder/ec_value.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/images/Semoigo Dawn.jpg +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/json/graphics-demo.json +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/plugins/ec_keyboard.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/plugins/ec_p100.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/plugins/ec_pyside6.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/plugins/points.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/pyproject.toml +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/benchmark.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/config.ecg +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/ec_keyboard.py +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/findxr.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/fizzbuzz.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/hello.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/points.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/test.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/scripts/tests.ecs +0 -0
- {easycoder-250609.2 → easycoder-250611.2}/testrc.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: easycoder
|
|
3
|
-
Version:
|
|
3
|
+
Version: 250611.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>
|
|
@@ -751,13 +751,13 @@ class Core(Handler):
|
|
|
751
751
|
try:
|
|
752
752
|
with sftp.open(path, 'r') as remote_file: content = remote_file.read().decode()
|
|
753
753
|
except:
|
|
754
|
-
RuntimeError(self.program, 'Unable to read
|
|
754
|
+
RuntimeError(self.program, f'Unable to read from {path}')
|
|
755
755
|
else:
|
|
756
756
|
filename = self.getRuntimeValue(command['file'])
|
|
757
757
|
try:
|
|
758
758
|
with open(filename) as f: content = f.read()
|
|
759
759
|
except:
|
|
760
|
-
|
|
760
|
+
RuntimeError(self.program, f'Unable to read from {filename}')
|
|
761
761
|
try:
|
|
762
762
|
if filename.endswith('.json'): content = json.loads(content)
|
|
763
763
|
except:
|
|
@@ -1055,10 +1055,10 @@ class Core(Handler):
|
|
|
1055
1055
|
program = command['program']
|
|
1056
1056
|
code = program.code[program.pc]
|
|
1057
1057
|
lino = str(code['lino'] + 1)
|
|
1058
|
-
while len(lino) < 5: lino = f' {lino}'
|
|
1058
|
+
# while len(lino) < 5: lino = f' {lino}'
|
|
1059
1059
|
if value == None: value = '<empty>'
|
|
1060
1060
|
if 'log' in command:
|
|
1061
|
-
print(f'{datetime.now().time()}:{lino}->
|
|
1061
|
+
print(f'{datetime.now().time()}:{self.program.name}:{lino}->{value}')
|
|
1062
1062
|
else:
|
|
1063
1063
|
print(value)
|
|
1064
1064
|
return self.nextPC()
|
|
@@ -1263,16 +1263,35 @@ class Core(Handler):
|
|
|
1263
1263
|
def k_save(self, command):
|
|
1264
1264
|
command['content'] = self.nextValue()
|
|
1265
1265
|
if self.nextIs('to'):
|
|
1266
|
-
|
|
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
|
+
return True
|
|
1273
|
+
command['file'] = self.getValue()
|
|
1267
1274
|
self.add(command)
|
|
1268
1275
|
return True
|
|
1269
1276
|
return False
|
|
1270
1277
|
|
|
1271
1278
|
def r_save(self, command):
|
|
1272
1279
|
content = self.getRuntimeValue(command['content'])
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1280
|
+
if 'ssh' in command:
|
|
1281
|
+
ssh = self.getVariable(command['ssh'])
|
|
1282
|
+
path = self.getRuntimeValue(command['path'])
|
|
1283
|
+
sftp = ssh['sftp']
|
|
1284
|
+
try:
|
|
1285
|
+
with sftp.open(path, 'w') as remote_file: remote_file.write(content.encode())
|
|
1286
|
+
except:
|
|
1287
|
+
RuntimeError(self.program, 'Unable to write to {path}')
|
|
1288
|
+
else:
|
|
1289
|
+
filename = self.getRuntimeValue(command['file'])
|
|
1290
|
+
if filename.endswith('.json'): content = json.dumps(content)
|
|
1291
|
+
try:
|
|
1292
|
+
with open(filename, 'w') as f: f.write(content)
|
|
1293
|
+
except:
|
|
1294
|
+
RuntimeError(self.program, f'Unable to write to {filename}')
|
|
1276
1295
|
return self.nextPC()
|
|
1277
1296
|
|
|
1278
1297
|
# 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
|