[IMP] barcodes: use builtin python sets when it makes sense
authorFrédéric van der Essen <fvdessen@gmail.com>
Tue, 9 Dec 2014 20:38:52 +0000 (21:38 +0100)
committerFrédéric van der Essen <fvdessen@gmail.com>
Tue, 9 Dec 2014 20:38:52 +0000 (21:38 +0100)
addons/point_of_sale/point_of_sale.py
addons/stock/stock.py

index abae5f6..d30d754 100644 (file)
@@ -22,6 +22,7 @@
 import logging
 import time
 import uuid
+import sets
 
 from openerp import tools, models
 from openerp.osv import fields, osv
@@ -1466,25 +1467,14 @@ class barcode_rule(models.Model):
     _inherit = 'barcode.rule'
 
     def _get_type_selection(self):
-        types = super(barcode_rule,self)._get_type_selection() 
-
-        new_types = [
-                        ('weight','Weighted Product'),
-                        ('price','Priced Product'),
-                        ('discount','Discounted Product'),
-                        ('client','Client'),
-                        ('cashier','Cashier')
-                    ]
-
-        for (key, value) in new_types:
-            add = True
-            for (key2, value2) in types:
-                if key == key2:
-                    add = False
-                    break
-            if add:
-                types += [(key, value)]
-
-        return types
+        types = sets.Set(super(barcode_rule,self)._get_type_selection())
+        types.update([
+            ('weight','Weighted Product'),
+            ('price','Priced Product'),
+            ('discount','Discounted Product'),
+            ('client','Client'),
+            ('cashier','Cashier')
+        ])
+        return list(types)
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 443ad6a..e6db4b5 100644 (file)
@@ -23,6 +23,7 @@ from datetime import date, datetime
 from dateutil import relativedelta
 import json
 import time
+import sets
 
 import openerp
 from openerp.osv import fields, osv
@@ -4307,22 +4308,13 @@ class barcode_rule(models.Model):
     _inherit = 'barcode.rule'
 
     def _get_type_selection(self):
-        types = super(barcode_rule,self)._get_type_selection() 
-
-        new_types = [('weight','Weighted Product'),
-                     ('location','Location'),
-                     ('lot','Lot'),
-                     ('package','Package')]
-
-        for (key, value) in new_types:
-            add = True
-            for (key2, value2) in types:
-                if key == key2:
-                    add = False
-                    break
-            if add:
-                types += [(key, value)]
-
-        return types
+        types = sets.Set(super(barcode_rule,self)._get_type_selection()) 
+        types.update([
+            ('weight','Weighted Product'),
+            ('location','Location'),
+            ('lot','Lot'),
+            ('package','Package')
+        ])
+        return list(types)
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: