diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py index 0f4a550509..92172338c6 100644 --- a/tryton/gui/window/view_form/model/group.py +++ b/tryton/gui/window/view_form/model/group.py @@ -329,7 +329,7 @@ class ModelRecordGroup(SignalEvent): def add_fields_custom(self, fields, models): to_add = [] - for field_add in fields.keys(): + for field_add in fields.iterkeys(): if not field_add in models.fields: models.fields[field_add] = fields[field_add] models.fields[field_add]['name'] = field_add diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py index 6488e8f6e1..6588bda317 100644 --- a/tryton/gui/window/view_form/model/record.py +++ b/tryton/gui/window/view_form/model/record.py @@ -243,8 +243,7 @@ class ModelRecord(SignalEvent): def validate_set(self): change = self._check_load() - for fname in self.mgroup.mfields: - mfield = self.mgroup.mfields[fname] + for mfield in self.mgroup.mfields.itervalues(): change = change or \ not mfield.get_state_attrs(self).get('valid', True) mfield.get_state_attrs(self)['valid'] = True @@ -255,8 +254,8 @@ class ModelRecord(SignalEvent): def validate(self): self._check_load() res = True - for fname in self.mgroup.mfields: - if not self.mgroup.mfields[fname].validate(self): + for mfield in self.mgroup.mfields.itervalues(): + if not mfield.validate(self): res = False return res @@ -299,7 +298,7 @@ class ModelRecord(SignalEvent): def set(self, val, modified=False, signal=True): later = {} - for fieldname, value in val.items(): + for fieldname, value in val.iteritems(): if fieldname == '_timestamp': self._timestamp = value continue @@ -320,7 +319,7 @@ class ModelRecord(SignalEvent): value = ref_model, (ref_id, ref_id) self.mgroup.mfields[fieldname].set(self, value, modified=modified) self._loaded.add(fieldname) - for fieldname, value in later.items(): + for fieldname, value in later.iteritems(): self.mgroup.mfields[fieldname].set(self, value, modified=modified) self._loaded.add(fieldname) self.modified = modified @@ -356,7 +355,7 @@ class ModelRecord(SignalEvent): def _get_on_change_args(self, args): res = {} values = {} - for name, mfield in self.mgroup.mfields.items(): + for name, mfield in self.mgroup.mfields.iteritems(): values[name] = mfield.get_eval(self, check_load=False) if self.parent and self.parent_name: values['_parent_' + self.parent_name] = EvalEnvironment(self.parent, diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py index 9c25474ae5..99987631b7 100644 --- a/tryton/gui/window/view_form/screen/screen.py +++ b/tryton/gui/window/view_form/screen/screen.py @@ -383,7 +383,7 @@ class Screen(SignalEvent): and not (hasattr(self.current_view.widget_tree, 'editable') \ and self.current_view.widget_tree.editable)) \ or self.current_view.view_type == 'graph'): - for i in range(len(self.views)): + for i in xrange(len(self.views)): self.switch_view() if self.current_view.view_type == 'form': break diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py index 7ed76cba12..25b86fd742 100644 --- a/tryton/gui/window/view_form/view/form.py +++ b/tryton/gui/window/view_form/view/form.py @@ -67,9 +67,9 @@ class ViewForm(ParserView): for button in self.buttons: button.form = self - self.widgets = dict([(name, [ViewWidget(self, widget, name) + self.widgets = dict((name, [ViewWidget(self, widget, name) for widget in widgets]) - for name, widgets in children.items()]) + for name, widgets in children.iteritems()) vbox = gtk.VBox() vp = gtk.Viewport() @@ -204,14 +204,14 @@ class ViewForm(ParserView): del self.buttons def cancel(self): - for widgets in self.widgets.values(): + for widgets in self.widgets.itervalues(): for widget in widgets: widget.widget.cancel() def set_value(self): model = self.screen.current_model if model: - for widgets in self.widgets.values(): + for widgets in self.widgets.itervalues(): for widget in widgets: widget.set_value(model) @@ -227,12 +227,12 @@ class ViewForm(ParserView): def reset(self): model = self.screen.current_model - for name, widgets in self.widgets.items(): + for name, widgets in self.widgets.iteritems(): for widget in widgets: widget.reset(model) def signal_record_changed(self, *args): - for widgets in self.widgets.values(): + for widgets in self.widgets.itervalues(): for widget in widgets: if hasattr(widget.widget, 'screen'): for view in widget.widget.screen.views: @@ -244,7 +244,7 @@ class ViewForm(ParserView): # Force to set mfields in model for field in model.mgroup.fields: model[field].get(model, check_load=False) - for widgets in self.widgets.values(): + for widgets in self.widgets.itervalues(): for widget in widgets: widget.display(model) for button in self.buttons: @@ -258,12 +258,10 @@ class ViewForm(ParserView): if self.cursor_widget in self.widgets: self.widgets[self.cursor_widget][0].widget.grab_focus() model = self.screen.current_model - position = 0 - for widgets in self.widgets: - position += len(widgets) + position = reduce(lambda x, y: x + len(y), self.widgets, 0) focus_widget = None if model: - for widgets in self.widgets.values(): + for widgets in self.widgets.itervalues(): for widget in widgets: modelfield = model.mgroup.mfields.get(widget.widget_name, None) if not modelfield: diff --git a/tryton/gui/window/view_form/view/form_gtk/interface.py b/tryton/gui/window/view_form/view/form_gtk/interface.py index e6746abf42..9e3825738c 100644 --- a/tryton/gui/window/view_form/view/form_gtk/interface.py +++ b/tryton/gui/window/view_form/view/form_gtk/interface.py @@ -48,8 +48,8 @@ def field_pref_set(field, name, model, value, client_value, dependance, res = dialog.run() clause = False - for val in widgets.keys(): - if widgets[val].get_active(): + for val, widget in widgets.iteritems(): + if widget.get_active(): clause = val[0] + '=' + str(val[1]) break user = False @@ -80,7 +80,7 @@ class WidgetInterface(object): self._window = window self._view = None self.attrs = attrs - for key, val in _ATTRS_BOOLEAN.items(): + for key, val in _ATTRS_BOOLEAN.iteritems(): self.attrs[key] = attrs.get(key, False) not in ('False', '0', False) self.default_readonly = self.attrs.get('readonly', False) self._menu_entries = [ @@ -115,7 +115,7 @@ class WidgetInterface(object): def _menu_sig_default_set(self, reset=False): deps = [] - for wname, wviews in self._view.view_form.widgets.items(): + for wname, wviews in self._view.view_form.widgets.iteritems(): for wview in wviews: if wview.modelfield.attrs.get('change_default', False): wvalue = wview.modelfield.get(self._view.model) diff --git a/tryton/gui/window/view_form/view/form_gtk/parser.py b/tryton/gui/window/view_form/view/form_gtk/parser.py index 5fe3a65537..f6b48b253c 100644 --- a/tryton/gui/window/view_form/view/form_gtk/parser.py +++ b/tryton/gui/window/view_form/view/form_gtk/parser.py @@ -440,7 +440,7 @@ class ParserForm(ParserInterface): tooltips=tooltips) max_width, max_height = -1, -1 window_width, window_height = Main.get_main().window.get_size() - for i in range(notebook.get_n_pages()): + for i in xrange(notebook.get_n_pages()): width, height = notebook.get_nth_page(i)\ .get_child().get_child().size_request() if width > max_width and width < window_width - 50: @@ -484,7 +484,7 @@ class ParserForm(ParserInterface): cursor_widget = cursor_widget2 notebook_list.extend(notebook_list2) button_list += buttons - for widget_name, widgets in widgets.items(): + for widget_name, widgets in widgets.iteritems(): dict_widget.setdefault(widget_name, []) dict_widget[widget_name].extend(widgets) @@ -556,7 +556,7 @@ class ParserForm(ParserInterface): if not cursor_widget: cursor_widget = cursor_widget2 notebook_list.extend(notebook_list2) - for widget_name, widgets in widgets.items(): + for widget_name, widgets in widgets.iteritems(): dict_widget.setdefault(widget_name, []) dict_widget[widget_name].extend(widgets) button_list += buttons @@ -586,7 +586,7 @@ class ParserForm(ParserInterface): cursor_widget = cursor_widget2 notebook_list.extend(notebook_list2) button_list += buttons - for widget_name, widgets in widgets.items(): + for widget_name, widgets in widgets.iteritems(): dict_widget.setdefault(widget_name, []) dict_widget[widget_name].extend(widgets) if 'position' in attrs: @@ -602,7 +602,7 @@ class ParserForm(ParserInterface): cursor_widget = cursor_widget2 notebook_list.extend(notebook_list2) button_list += buttons - for widget_name, widgets in widgets.items(): + for widget_name, widgets in widgets.iteritems(): dict_widget.setdefault(widget_name, []) dict_widget[widget_name].extend(widgets) if 'position' in attrs: @@ -615,7 +615,7 @@ class ParserForm(ParserInterface): cursor_widget = cursor_widget2 notebook_list.extend(notebook_list2) button_list += buttons - for widget_name, widgets in widgets.items(): + for widget_name, widgets in widgets.iteritems(): dict_widget.setdefault(widget_name, []) dict_widget[widget_name].extend(widgets) paned.pack1(widget, resize=True, shrink=True) @@ -627,7 +627,7 @@ class ParserForm(ParserInterface): cursor_widget = cursor_widget2 notebook_list.extend(notebook_list2) button_list += buttons - for widget_name, widgets in widgets.items(): + for widget_name, widgets in widgets.iteritems(): dict_widget.setdefault(widget_name, []) dict_widget[widget_name].extend(widgets) paned.pack2(widget, resize=True, shrink=True) diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py index 9c38dac7c1..f651713274 100644 --- a/tryton/gui/window/view_form/view/graph.py +++ b/tryton/gui/window/view_form/view/graph.py @@ -41,7 +41,7 @@ class ViewGraph(ParserView): self.display() def display(self): - for widget in self.widgets.values(): + for widget in self.widgets.itervalues(): widget.display(self.screen.models) return True diff --git a/tryton/gui/window/view_form/view/graph_gtk/graph.py b/tryton/gui/window/view_form/view/graph_gtk/graph.py index 49e5968ce1..53bf920ce5 100644 --- a/tryton/gui/window/view_form/view/graph_gtk/graph.py +++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py @@ -166,7 +166,7 @@ class Graph(gtk.DrawingArea): base = 1 else: base = 10**int(math.log(self.yrange, 10)) - for i in range(int(self.yrange / base) + 1): + for i in xrange(int(self.yrange / base) + 1): val = int(self.minyval / base) * base + i * base h = (val - self.minyval) * self.yscale label = locale.format('%.2f', val, True) diff --git a/tryton/gui/window/view_form/view/graph_gtk/pie.py b/tryton/gui/window/view_form/view/graph_gtk/pie.py index bdc76a66cf..42d155080d 100644 --- a/tryton/gui/window/view_form/view/graph_gtk/pie.py +++ b/tryton/gui/window/view_form/view/graph_gtk/pie.py @@ -67,7 +67,7 @@ class Pie(Graph): def updateGraph(self): self.sum = 0.0 - for xkey in self.datas.keys(): + for xkey in self.datas.iterkeys(): key = self.yfields[0].get('key', self.yfields[0]['name']) if self.datas[xkey][key] > 0: self.sum += self.datas[xkey][key] @@ -75,7 +75,7 @@ class Pie(Graph): fraction = angle = 0.0 self.slices = [] - for xkey in self.datas.keys(): + for xkey in self.datas.iterkeys(): key = self.yfields[0].get('key', self.yfields[0]['name']) value = self.datas[xkey][key] if value > 0: diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py index a93b26d53c..eb4c98baa5 100644 --- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py +++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py @@ -71,7 +71,7 @@ class EditableTreeView(gtk.TreeView): def __next_column(self, col): cols = self.get_columns() current = cols.index(col) - for i in range(len(cols)): + for i in xrange(len(cols)): idx = (current + i + 1) % len(cols) if not cols[idx].get_cell_renderers(): continue @@ -90,7 +90,7 @@ class EditableTreeView(gtk.TreeView): def __prev_column(self, col): cols = self.get_columns() current = cols.index(col) - for i in range(len(cols)): + for i in xrange(len(cols)): idx = (current - (i + 1)) % len(cols) if not cols[idx].get_cell_renderers(): continue diff --git a/tryton/gui/window/view_form/view/list_gtk/parser.py b/tryton/gui/window/view_form/view/list_gtk/parser.py index 4a6c479902..d30c6c8feb 100644 --- a/tryton/gui/window/view_form/view/list_gtk/parser.py +++ b/tryton/gui/window/view_form/view/list_gtk/parser.py @@ -693,7 +693,7 @@ class Selection(Char): for dom in common.filter_domain(self.attrs.get('domain', [])): if dom[1] in ('=', '!='): todel = [] - for i in range(len(selection)): + for i in xrange(len(selection)): if (dom[1] == '=' \ and selection[i][0] != dom[2]) \ or (dom[1] == '!=' \ diff --git a/tryton/gui/window/view_form/widget_search/form.py b/tryton/gui/window/view_form/widget_search/form.py index 203f55a50a..4651dc9e44 100644 --- a/tryton/gui/window/view_form/widget_search/form.py +++ b/tryton/gui/window/view_form/widget_search/form.py @@ -227,14 +227,14 @@ class Form(object): self.focusable = parser.focusable self.id = 0 self.name = parser.title - for i in self.widgets.values(): + for i in self.widgets.itervalues(): i[0].sig_activate(self.sig_activate) self.spin_limit.connect_after('activate', self.sig_activate) self.spin_offset.connect_after('activate', self.sig_activate) def clear(self): self.id = 0 - for i in self.widgets.values(): + for i in self.widgets.itervalues(): i[0].clear() def limit_changed(self, widget):