mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Simple Python 3 compatibility changes
Summary: Changes that move towards python 3 compatibility that are easy to review without much thought Test Plan: The tests Reviewers: dsagal Reviewed By: dsagal Differential Revision: https://phab.getgrist.com/D2873
This commit is contained in:
@@ -8,6 +8,8 @@ When communicating with Node, docActions are represented as arrays [actionName,
|
||||
from collections import namedtuple
|
||||
import inspect
|
||||
|
||||
import six
|
||||
|
||||
import objtypes
|
||||
|
||||
def _eq_with_type(self, other):
|
||||
@@ -86,7 +88,7 @@ def _add_simplify(SingleActionType, BulkActionType):
|
||||
else:
|
||||
def get_first(self):
|
||||
return SingleActionType(self.table_id, self.row_ids[0],
|
||||
{ key: col[0] for key, col in self.columns.iteritems()})
|
||||
{ key: col[0] for key, col in six.iteritems(self.columns)})
|
||||
def simplify(self):
|
||||
return None if not self.row_ids else (get_first(self) if len(self.row_ids) == 1 else self)
|
||||
|
||||
@@ -128,7 +130,7 @@ def convert_recursive_helper(converter, data):
|
||||
return convert_recursive_helper(my_convert, data)
|
||||
"""
|
||||
if isinstance(data, dict):
|
||||
return {converter(k): converter(v) for k, v in data.iteritems()}
|
||||
return {converter(k): converter(v) for k, v in six.iteritems(data)}
|
||||
elif isinstance(data, list):
|
||||
return [converter(el) for el in data]
|
||||
elif isinstance(data, tuple):
|
||||
@@ -142,10 +144,12 @@ def convert_action_values(converter, action):
|
||||
"""
|
||||
if isinstance(action, (AddRecord, UpdateRecord)):
|
||||
return type(action)(action.table_id, action.row_id,
|
||||
{k: converter(v) for k, v in action.columns.iteritems()})
|
||||
{k: converter(v) for k, v in six.iteritems(action.columns)})
|
||||
if isinstance(action, (BulkAddRecord, BulkUpdateRecord, ReplaceTableData, TableData)):
|
||||
return type(action)(action.table_id, action.row_ids,
|
||||
{k: map(converter, v) for k, v in action.columns.iteritems()})
|
||||
return type(action)(
|
||||
action.table_id, action.row_ids,
|
||||
{k: [converter(value) for value in values] for k, values in six.iteritems(action.columns)}
|
||||
)
|
||||
return action
|
||||
|
||||
def convert_recursive_in_action(converter, data):
|
||||
@@ -173,7 +177,10 @@ def decode_bulk_values(bulk_values, decoder=objtypes.decode_object):
|
||||
Decode objects in values of the form {col_id: array_of_values}, as present in bulk DocActions
|
||||
and UserActions.
|
||||
"""
|
||||
return {k: map(decoder, v) for (k, v) in bulk_values.iteritems()}
|
||||
return {
|
||||
k: [decoder(value) for value in values]
|
||||
for k, values in six.iteritems(bulk_values)
|
||||
}
|
||||
|
||||
def transpose_bulk_action(bulk_action):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user