mirror of
https://github.com/google/blockly.git
synced 2026-01-11 10:57:07 +01:00
Manual commit
This commit is contained in:
@@ -30,7 +30,7 @@ goog.require('Blockly.Python');
|
||||
|
||||
Blockly.Python['colour_picker'] = function(block) {
|
||||
// Colour picker.
|
||||
var code = '\'' + block.getTitleValue('COLOUR') + '\'';
|
||||
var code = '\'' + block.getFieldValue('COLOUR') + '\'';
|
||||
return [code, Blockly.Python.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ Blockly.Python['lists_indexOf'] = function(block) {
|
||||
var argument1 = Blockly.Python.valueToCode(block, 'VALUE',
|
||||
Blockly.Python.ORDER_MEMBER) || '\'\'';
|
||||
var code;
|
||||
if (block.getTitleValue('END') == 'FIRST') {
|
||||
if (block.getFieldValue('END') == 'FIRST') {
|
||||
var functionName = Blockly.Python.provideFunction_(
|
||||
'first_index',
|
||||
['def ' + Blockly.Python.FUNCTION_NAME_PLACEHOLDER_ + '(myList, elem):',
|
||||
@@ -100,8 +100,8 @@ Blockly.Python['lists_indexOf'] = function(block) {
|
||||
Blockly.Python['lists_getIndex'] = function(block) {
|
||||
// Get element at index.
|
||||
// Note: Until January 2013 this block did not have MODE or WHERE inputs.
|
||||
var mode = block.getTitleValue('MODE') || 'GET';
|
||||
var where = block.getTitleValue('WHERE') || 'FROM_START';
|
||||
var mode = block.getFieldValue('MODE') || 'GET';
|
||||
var where = block.getFieldValue('WHERE') || 'FROM_START';
|
||||
var at = Blockly.Python.valueToCode(block, 'AT',
|
||||
Blockly.Python.ORDER_UNARY_SIGN) || '1';
|
||||
var list = Blockly.Python.valueToCode(block, 'VALUE',
|
||||
@@ -190,8 +190,8 @@ Blockly.Python['lists_setIndex'] = function(block) {
|
||||
// Note: Until February 2013 this block did not have MODE or WHERE inputs.
|
||||
var list = Blockly.Python.valueToCode(block, 'LIST',
|
||||
Blockly.Python.ORDER_MEMBER) || '[]';
|
||||
var mode = block.getTitleValue('MODE') || 'GET';
|
||||
var where = block.getTitleValue('WHERE') || 'FROM_START';
|
||||
var mode = block.getFieldValue('MODE') || 'GET';
|
||||
var where = block.getFieldValue('WHERE') || 'FROM_START';
|
||||
var at = Blockly.Python.valueToCode(block, 'AT',
|
||||
Blockly.Python.ORDER_NONE) || '1';
|
||||
var value = Blockly.Python.valueToCode(block, 'TO',
|
||||
@@ -261,8 +261,8 @@ Blockly.Python['lists_getSublist'] = function(block) {
|
||||
// Get sublist.
|
||||
var list = Blockly.Python.valueToCode(block, 'LIST',
|
||||
Blockly.Python.ORDER_MEMBER) || '[]';
|
||||
var where1 = block.getTitleValue('WHERE1');
|
||||
var where2 = block.getTitleValue('WHERE2');
|
||||
var where1 = block.getFieldValue('WHERE1');
|
||||
var where2 = block.getFieldValue('WHERE2');
|
||||
var at1 = Blockly.Python.valueToCode(block, 'AT1',
|
||||
Blockly.Python.ORDER_ADDITIVE) || '1';
|
||||
var at2 = Blockly.Python.valueToCode(block, 'AT2',
|
||||
|
||||
@@ -58,7 +58,7 @@ Blockly.Python['logic_compare'] = function(block) {
|
||||
GT: '>',
|
||||
GTE: '>='
|
||||
};
|
||||
var operator = OPERATORS[block.getTitleValue('OP')];
|
||||
var operator = OPERATORS[block.getFieldValue('OP')];
|
||||
var order = Blockly.Python.ORDER_RELATIONAL;
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'A', order) || '0';
|
||||
var argument1 = Blockly.Python.valueToCode(block, 'B', order) || '0';
|
||||
@@ -68,7 +68,7 @@ Blockly.Python['logic_compare'] = function(block) {
|
||||
|
||||
Blockly.Python['logic_operation'] = function(block) {
|
||||
// Operations 'and', 'or'.
|
||||
var operator = (block.getTitleValue('OP') == 'AND') ? 'and' : 'or';
|
||||
var operator = (block.getFieldValue('OP') == 'AND') ? 'and' : 'or';
|
||||
var order = (operator == 'and') ? Blockly.Python.ORDER_LOGICAL_AND :
|
||||
Blockly.Python.ORDER_LOGICAL_OR;
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'A', order);
|
||||
@@ -101,7 +101,7 @@ Blockly.Python['logic_negate'] = function(block) {
|
||||
|
||||
Blockly.Python['logic_boolean'] = function(block) {
|
||||
// Boolean values true and false.
|
||||
var code = (block.getTitleValue('BOOL') == 'TRUE') ? 'True' : 'False';
|
||||
var code = (block.getFieldValue('BOOL') == 'TRUE') ? 'True' : 'False';
|
||||
return [code, Blockly.Python.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ goog.require('Blockly.Python');
|
||||
|
||||
Blockly.Python['controls_repeat'] = function(block) {
|
||||
// Repeat n times (internal number).
|
||||
var repeats = parseInt(block.getTitleValue('TIMES'), 10);
|
||||
var repeats = parseInt(block.getFieldValue('TIMES'), 10);
|
||||
var branch = Blockly.Python.statementToCode(block, 'DO') || ' pass\n';
|
||||
if (Blockly.Python.INFINITE_LOOP_TRAP) {
|
||||
branch = Blockly.Python.INFINITE_LOOP_TRAP.replace(/%1/g,
|
||||
@@ -64,7 +64,7 @@ Blockly.Python['controls_repeat_ext'] = function(block) {
|
||||
|
||||
Blockly.Python['controls_whileUntil'] = function(block) {
|
||||
// Do while/until loop.
|
||||
var until = block.getTitleValue('MODE') == 'UNTIL';
|
||||
var until = block.getFieldValue('MODE') == 'UNTIL';
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'BOOL',
|
||||
until ? Blockly.Python.ORDER_LOGICAL_NOT :
|
||||
Blockly.Python.ORDER_NONE) || 'False';
|
||||
@@ -73,7 +73,7 @@ Blockly.Python['controls_whileUntil'] = function(block) {
|
||||
branch = Blockly.Python.INFINITE_LOOP_TRAP.replace(/%1/g,
|
||||
'"' + block.id + '"') + branch;
|
||||
}
|
||||
if (block.getTitleValue('MODE') == 'UNTIL') {
|
||||
if (block.getFieldValue('MODE') == 'UNTIL') {
|
||||
if (!argument0.match(/^\w+$/)) {
|
||||
argument0 = '(' + argument0 + ')';
|
||||
}
|
||||
@@ -85,7 +85,7 @@ Blockly.Python['controls_whileUntil'] = function(block) {
|
||||
Blockly.Python['controls_for'] = function(block) {
|
||||
// For loop.
|
||||
var variable0 = Blockly.Python.variableDB_.getName(
|
||||
block.getTitleValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
block.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'FROM',
|
||||
Blockly.Python.ORDER_NONE) || '0';
|
||||
var argument1 = Blockly.Python.valueToCode(block, 'TO',
|
||||
@@ -203,7 +203,7 @@ Blockly.Python['controls_for'] = function(block) {
|
||||
Blockly.Python['controls_forEach'] = function(block) {
|
||||
// For each loop.
|
||||
var variable0 = Blockly.Python.variableDB_.getName(
|
||||
block.getTitleValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
block.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'LIST',
|
||||
Blockly.Python.ORDER_RELATIONAL) || '[]';
|
||||
var branch = Blockly.Python.statementToCode(block, 'DO') || ' pass\n';
|
||||
@@ -217,7 +217,7 @@ Blockly.Python['controls_forEach'] = function(block) {
|
||||
|
||||
Blockly.Python['controls_flow_statements'] = function(block) {
|
||||
// Flow statements: continue, break.
|
||||
switch (block.getTitleValue('FLOW')) {
|
||||
switch (block.getFieldValue('FLOW')) {
|
||||
case 'BREAK':
|
||||
return 'break\n';
|
||||
case 'CONTINUE':
|
||||
|
||||
@@ -33,7 +33,7 @@ Blockly.Python.addReservedWords('math,random');
|
||||
|
||||
Blockly.Python['math_number'] = function(block) {
|
||||
// Numeric value.
|
||||
var code = parseFloat(block.getTitleValue('NUM'));
|
||||
var code = parseFloat(block.getFieldValue('NUM'));
|
||||
var order = code < 0 ? Blockly.Python.ORDER_UNARY_SIGN :
|
||||
Blockly.Python.ORDER_ATOMIC;
|
||||
return [code, order];
|
||||
@@ -48,7 +48,7 @@ Blockly.Python['math_arithmetic'] = function(block) {
|
||||
DIVIDE: [' / ', Blockly.Python.ORDER_MULTIPLICATIVE],
|
||||
POWER: [' ** ', Blockly.Python.ORDER_EXPONENTIATION]
|
||||
};
|
||||
var tuple = OPERATORS[block.getTitleValue('OP')];
|
||||
var tuple = OPERATORS[block.getFieldValue('OP')];
|
||||
var operator = tuple[0];
|
||||
var order = tuple[1];
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'A', order) || '0';
|
||||
@@ -65,7 +65,7 @@ Blockly.Python['math_arithmetic'] = function(block) {
|
||||
|
||||
Blockly.Python['math_single'] = function(block) {
|
||||
// Math operators with single operand.
|
||||
var operator = block.getTitleValue('OP');
|
||||
var operator = block.getFieldValue('OP');
|
||||
var code;
|
||||
var arg;
|
||||
if (operator == 'NEG') {
|
||||
@@ -153,7 +153,7 @@ Blockly.Python['math_constant'] = function(block) {
|
||||
SQRT1_2: ['math.sqrt(1.0 / 2)', Blockly.Python.ORDER_MEMBER],
|
||||
INFINITY: ['float(\'inf\')', Blockly.Python.ORDER_ATOMIC]
|
||||
};
|
||||
var constant = block.getTitleValue('CONSTANT');
|
||||
var constant = block.getFieldValue('CONSTANT');
|
||||
if (constant != 'INFINITY') {
|
||||
Blockly.Python.definitions_['import_math'] = 'import math';
|
||||
}
|
||||
@@ -165,7 +165,7 @@ Blockly.Python['math_number_property'] = function(block) {
|
||||
// or if it is divisible by certain number. Returns true or false.
|
||||
var number_to_check = Blockly.Python.valueToCode(block, 'NUMBER_TO_CHECK',
|
||||
Blockly.Python.ORDER_MULTIPLICATIVE) || '0';
|
||||
var dropdown_property = block.getTitleValue('PROPERTY');
|
||||
var dropdown_property = block.getFieldValue('PROPERTY');
|
||||
var code;
|
||||
if (dropdown_property == 'PRIME') {
|
||||
Blockly.Python.definitions_['import_math'] = 'import math';
|
||||
@@ -226,7 +226,7 @@ Blockly.Python['math_change'] = function(block) {
|
||||
// Add to a variable in place.
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'DELTA',
|
||||
Blockly.Python.ORDER_ADDITIVE) || '0';
|
||||
var varName = Blockly.Python.variableDB_.getName(block.getTitleValue('VAR'),
|
||||
var varName = Blockly.Python.variableDB_.getName(block.getFieldValue('VAR'),
|
||||
Blockly.Variables.NAME_TYPE);
|
||||
return varName + ' = (' + varName + ' if type(' + varName +
|
||||
') in (int, float, long) else 0) + ' + argument0 + '\n';
|
||||
@@ -239,7 +239,7 @@ Blockly.Python['math_trig'] = Blockly.Python['math_single'];
|
||||
|
||||
Blockly.Python['math_on_list'] = function(block) {
|
||||
// Math functions for lists.
|
||||
var func = block.getTitleValue('OP');
|
||||
var func = block.getFieldValue('OP');
|
||||
var list = Blockly.Python.valueToCode(block, 'LIST',
|
||||
Blockly.Python.ORDER_NONE) || '[]';
|
||||
var code;
|
||||
|
||||
@@ -44,7 +44,7 @@ Blockly.Python['procedures_defreturn'] = function(block) {
|
||||
}
|
||||
}
|
||||
globals = globals.length ? ' global ' + globals.join(', ') + '\n' : '';
|
||||
var funcName = Blockly.Python.variableDB_.getName(block.getTitleValue('NAME'),
|
||||
var funcName = Blockly.Python.variableDB_.getName(block.getFieldValue('NAME'),
|
||||
Blockly.Procedures.NAME_TYPE);
|
||||
var branch = Blockly.Python.statementToCode(block, 'STACK');
|
||||
if (Blockly.Python.INFINITE_LOOP_TRAP) {
|
||||
@@ -77,7 +77,7 @@ Blockly.Python['procedures_defnoreturn'] =
|
||||
|
||||
Blockly.Python['procedures_callreturn'] = function(block) {
|
||||
// Call a procedure with a return value.
|
||||
var funcName = Blockly.Python.variableDB_.getName(block.getTitleValue('NAME'),
|
||||
var funcName = Blockly.Python.variableDB_.getName(block.getFieldValue('NAME'),
|
||||
Blockly.Procedures.NAME_TYPE);
|
||||
var args = [];
|
||||
for (var x = 0; x < block.arguments_.length; x++) {
|
||||
@@ -90,7 +90,7 @@ Blockly.Python['procedures_callreturn'] = function(block) {
|
||||
|
||||
Blockly.Python['procedures_callnoreturn'] = function(block) {
|
||||
// Call a procedure with no return value.
|
||||
var funcName = Blockly.Python.variableDB_.getName(block.getTitleValue('NAME'),
|
||||
var funcName = Blockly.Python.variableDB_.getName(block.getFieldValue('NAME'),
|
||||
Blockly.Procedures.NAME_TYPE);
|
||||
var args = [];
|
||||
for (var x = 0; x < block.arguments_.length; x++) {
|
||||
|
||||
@@ -30,7 +30,7 @@ goog.require('Blockly.Python');
|
||||
|
||||
Blockly.Python['text'] = function(block) {
|
||||
// Text value.
|
||||
var code = Blockly.Python.quote_(block.getTitleValue('TEXT'));
|
||||
var code = Blockly.Python.quote_(block.getFieldValue('TEXT'));
|
||||
return [code, Blockly.Python.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
@@ -68,7 +68,7 @@ Blockly.Python['text_join'] = function(block) {
|
||||
|
||||
Blockly.Python['text_append'] = function(block) {
|
||||
// Append to a variable in place.
|
||||
var varName = Blockly.Python.variableDB_.getName(block.getTitleValue('VAR'),
|
||||
var varName = Blockly.Python.variableDB_.getName(block.getFieldValue('VAR'),
|
||||
Blockly.Variables.NAME_TYPE);
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'TEXT',
|
||||
Blockly.Python.ORDER_NONE) || '\'\'';
|
||||
@@ -93,7 +93,7 @@ Blockly.Python['text_isEmpty'] = function(block) {
|
||||
Blockly.Python['text_indexOf'] = function(block) {
|
||||
// Search the text for a substring.
|
||||
// Should we allow for non-case sensitive???
|
||||
var operator = block.getTitleValue('END') == 'FIRST' ? 'find' : 'rfind';
|
||||
var operator = block.getFieldValue('END') == 'FIRST' ? 'find' : 'rfind';
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'FIND',
|
||||
Blockly.Python.ORDER_NONE) || '\'\'';
|
||||
var argument1 = Blockly.Python.valueToCode(block, 'VALUE',
|
||||
@@ -105,7 +105,7 @@ Blockly.Python['text_indexOf'] = function(block) {
|
||||
Blockly.Python['text_charAt'] = function(block) {
|
||||
// Get letter at index.
|
||||
// Note: Until January 2013 this block did not have the WHERE input.
|
||||
var where = block.getTitleValue('WHERE') || 'FROM_START';
|
||||
var where = block.getFieldValue('WHERE') || 'FROM_START';
|
||||
var at = Blockly.Python.valueToCode(block, 'AT',
|
||||
Blockly.Python.ORDER_UNARY_SIGN) || '1';
|
||||
var text = Blockly.Python.valueToCode(block, 'VALUE',
|
||||
@@ -148,8 +148,8 @@ Blockly.Python['text_getSubstring'] = function(block) {
|
||||
// Get substring.
|
||||
var text = Blockly.Python.valueToCode(block, 'STRING',
|
||||
Blockly.Python.ORDER_MEMBER) || '\'\'';
|
||||
var where1 = block.getTitleValue('WHERE1');
|
||||
var where2 = block.getTitleValue('WHERE2');
|
||||
var where1 = block.getFieldValue('WHERE1');
|
||||
var where2 = block.getFieldValue('WHERE2');
|
||||
var at1 = Blockly.Python.valueToCode(block, 'AT1',
|
||||
Blockly.Python.ORDER_ADDITIVE) || '1';
|
||||
var at2 = Blockly.Python.valueToCode(block, 'AT2',
|
||||
@@ -205,7 +205,7 @@ Blockly.Python['text_changeCase'] = function(block) {
|
||||
LOWERCASE: '.lower()',
|
||||
TITLECASE: '.title()'
|
||||
};
|
||||
var operator = OPERATORS[block.getTitleValue('CASE')];
|
||||
var operator = OPERATORS[block.getFieldValue('CASE')];
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'TEXT',
|
||||
Blockly.Python.ORDER_MEMBER) || '\'\'';
|
||||
var code = argument0 + operator;
|
||||
@@ -219,7 +219,7 @@ Blockly.Python['text_trim'] = function(block) {
|
||||
RIGHT: '.rstrip()',
|
||||
BOTH: '.strip()'
|
||||
};
|
||||
var operator = OPERATORS[block.getTitleValue('MODE')];
|
||||
var operator = OPERATORS[block.getFieldValue('MODE')];
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'TEXT',
|
||||
Blockly.Python.ORDER_MEMBER) || '\'\'';
|
||||
var code = argument0 + operator;
|
||||
@@ -242,9 +242,9 @@ Blockly.Python['text_prompt'] = function(block) {
|
||||
' return raw_input(msg)',
|
||||
' except NameError:',
|
||||
' return input(msg)']);
|
||||
var msg = Blockly.Python.quote_(block.getTitleValue('TEXT'));
|
||||
var msg = Blockly.Python.quote_(block.getFieldValue('TEXT'));
|
||||
var code = functionName + '(' + msg + ')';
|
||||
var toNumber = block.getTitleValue('TYPE') == 'NUMBER';
|
||||
var toNumber = block.getFieldValue('TYPE') == 'NUMBER';
|
||||
if (toNumber) {
|
||||
code = 'float(' + code + ')';
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ goog.require('Blockly.Python');
|
||||
|
||||
Blockly.Python['variables_get'] = function(block) {
|
||||
// Variable getter.
|
||||
var code = Blockly.Python.variableDB_.getName(block.getTitleValue('VAR'),
|
||||
var code = Blockly.Python.variableDB_.getName(block.getFieldValue('VAR'),
|
||||
Blockly.Variables.NAME_TYPE);
|
||||
return [code, Blockly.Python.ORDER_ATOMIC];
|
||||
};
|
||||
@@ -39,7 +39,7 @@ Blockly.Python['variables_set'] = function(block) {
|
||||
// Variable setter.
|
||||
var argument0 = Blockly.Python.valueToCode(block, 'VALUE',
|
||||
Blockly.Python.ORDER_NONE) || '0';
|
||||
var varName = Blockly.Python.variableDB_.getName(block.getTitleValue('VAR'),
|
||||
var varName = Blockly.Python.variableDB_.getName(block.getFieldValue('VAR'),
|
||||
Blockly.Variables.NAME_TYPE);
|
||||
return varName + ' = ' + argument0 + '\n';
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user