diff --git a/boards/default_src/python/blocks/control.js b/boards/default_src/python/blocks/control.js
index 989f8741..b79f20c1 100644
--- a/boards/default_src/python/blocks/control.js
+++ b/boards/default_src/python/blocks/control.js
@@ -1032,4 +1032,16 @@ export const get_unique_identifier = {
};
// export const base_type = controls_type;
-// export const controls_TypeLists = controls_typeLists;
\ No newline at end of file
+// export const controls_TypeLists = controls_typeLists;
+
+export const datetime_fromtimestamp = {
+ init: function () {
+ this.setColour(LOOPS_HUE);
+ this.appendValueInput('VAR')
+ .appendField(Blockly.Msg.MIXLY_RTC_TIMESTAMP);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.MIXLY_TIMESTAMP_TO_DATA);
+ this.setInputsInline(true);
+ this.setOutput(true, Number);
+ }
+};
\ No newline at end of file
diff --git a/boards/default_src/python/blocks/lists.js b/boards/default_src/python/blocks/lists.js
index 554cb264..5899e0d1 100644
--- a/boards/default_src/python/blocks/lists.js
+++ b/boards/default_src/python/blocks/lists.js
@@ -794,3 +794,33 @@ export const lists_insert_value2 = lists_insert_value
export const lists_remove_at2 = lists_remove_at
export const list_tolist2 = list_tolist;
+
+export const ENUMERATE ={
+ init: function () {
+ this.setColour(LISTS_HUE);
+ this.appendValueInput('VAR')
+ .appendField(Blockly.Msg.blockpy_USE_LIST);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.MIXLY_TO_INDEX_SEQUENCE);
+ // this.appendValueInput('VAR_N')
+ // .appendField(Blockly.Msg.MIXLY_INDEX+Blockly.Msg.MIXLY_STARTSWITH);
+ this.setInputsInline(true);
+ this.setOutput(true, Number);
+ this.setTooltip(Blockly.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP);
+ }
+};
+
+export const enumerate = {
+ init: function () {
+ this.setColour(LISTS_HUE);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.blockpy_USE_LIST);
+ this.appendValueInput('LIST');
+ this.appendValueInput('VALUE')
+ .appendField(Blockly.Msg.MIXLY_TO_INDEX_SEQUENCE)
+ .appendField(Blockly.Msg.MIXLY_INDEX+Blockly.Msg.MIXLY_STARTSWITH);
+ this.setInputsInline(true);
+ this.setOutput(true);
+ this.setTooltip(Blockly.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP);
+ }
+};
\ No newline at end of file
diff --git a/boards/default_src/python/generators/control.js b/boards/default_src/python/generators/control.js
index 6b99d822..74ff1781 100644
--- a/boards/default_src/python/generators/control.js
+++ b/boards/default_src/python/generators/control.js
@@ -278,4 +278,11 @@ export const get_unique_identifier = function (_, generator) {
}
// ok
-export const controls_repeat = controls_repeat_ext;
\ No newline at end of file
+export const controls_repeat = controls_repeat_ext;
+
+export const datetime_fromtimestamp = function(_,generator){
+ generator.definitions_['import_datatime'] = 'import datatime';
+ var ts = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
+ var code = 'datatime.datatime.fromtimestamp(' + ts + ')';
+ return [code, generator.ORDER_ATOMIC];
+}
\ No newline at end of file
diff --git a/boards/default_src/python/generators/lists.js b/boards/default_src/python/generators/lists.js
index 7b89c1f8..439599a7 100644
--- a/boards/default_src/python/generators/lists.js
+++ b/boards/default_src/python/generators/lists.js
@@ -253,4 +253,11 @@ export const list_tolist = function (_, generator) {
export const list_tolist2 = function (_, generator) {
var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0'
return [str + '.tolist()', generator.ORDER_ATOMIC];
+}
+
+export const enumerate = function (_, generator) {
+ var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist';
+ var argument = generator.valueToCode(this, 'VALUE', generator.ORDER_ASSIGNMENT) || '0';
+ var code = 'enumerate(' +varName+',start='+ argument + ')';
+ return [code, generator.ORDER_ATOMIC];
}
\ No newline at end of file
diff --git a/boards/default_src/python_pyodide/template.xml b/boards/default_src/python_pyodide/template.xml
index 2ba0a713..77c2ccb9 100644
--- a/boards/default_src/python_pyodide/template.xml
+++ b/boards/default_src/python_pyodide/template.xml
@@ -213,6 +213,13 @@
+
+
+
+ 18029
+
+
+
@@ -894,6 +901,18 @@
+
+
+
+ mylist
+
+
+
+
+ 0
+
+
+
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index 5dd822a6..c8ddd9d5 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3754,4 +3754,8 @@ En.MIXLY_VARIABLE_UNPACK = "Unpack";
En.MIXLY_TO_HEX = "Convert hexadecimal characters";
En.MIXLY_PYTHON_TOOLTIP_TOHEX = "Converts a value to a hexadecimal character";
En.MIXLY_RTC_GET_TIME_STR = "RTC gets the time string";
+En.MIXLY_TIMESTAMP_TO_DATA ="convert to data";
+En.MIXLY_TO_INDEX_SEQUENCE = "sequence number and content combine into an index sequence";
+En.MIXLY_INDEX = "index";
+En.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "Combine all the items and ordinals of the list into an index sequence, for example (0,'A') into one index sequence";
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index b8c503b2..cea1e3a2 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -3902,4 +3902,8 @@ ZhHans.MIXLY_VARIABLE_UNPACK = "解包";
ZhHans.MIXLY_TO_HEX = "转16进制字符";
ZhHans.MIXLY_PYTHON_TOOLTIP_TOHEX = "将一个值转换为一个16进制字符";
ZhHans.MIXLY_RTC_GET_TIME_STR = "RTC 获取时间字符串";
+ZhHans.MIXLY_TIMESTAMP_TO_DATA ="转化为日期";
+ZhHans.MIXLY_TO_INDEX_SEQUENCE = "的序号和内容组合为索引序列";
+ZhHans.MIXLY_INDEX = "序号";
+ZhHans.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "将列表的所有项和序号组合为索引序列,例如(0,'A')为一个索引序列";
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 65dbf0dc..06d1a120 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -3757,4 +3757,8 @@ ZhHant.MIXLY_VARIABLE_UNPACK = "解包";
ZhHant.MIXLY_TO_HEX = "轉16進制字符";
ZhHant.MIXLY_PYTHON_TOOLTIP_TOHEX = "將一個值轉換為一個16進制字符";
ZhHant.MIXLY_RTC_GET_TIME_STR = "RTC 獲取時間字符串";
+ZhHant.MIXLY_TIMESTAMP_TO_DATA ="轉化爲日期";
+ZhHant.MIXLY_TO_INDEX_SEQUENCE = "的序號和內容組合為索引序列";
+ZhHant.MIXLY_INDEX = "序號";
+ZhHant.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "將列表的所有項和序號組合為索引序列,例如(0,'A')為一個索引序列";
})();
\ No newline at end of file