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