Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (ikura) [vagrant@localhost ikura]$ py.test apps/retail/tests/test_excel.py
- ============================================================================================================================== test session starts ===============================================================================================================================
- platform linux -- Python 3.5.1, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
- django settings: project_core.settings (from ini file)
- rootdir: /webroot/ikura, inifile: setup.cfg
- plugins: flake8-0.6, django-2.9.1, cov-2.2.1
- collected 33 items
- apps/retail/tests/test_excel.py s................FFFFFFFFFFFFssFF
- ----------------------------------------------------------------------------------------------------------------- coverage: platform linux, python 3.5.1-final-0 -----------------------------------------------------------------------------------------------------------------
- Name Stmts Miss Branch BrPart Cover Missing
- ------------------------------------------------------------------------------------------------
- apps/__init__.py 0 0 0 0 100%
- apps/pricing/__init__.py 0 0 0 0 100%
- apps/pricing/formulas/__init__.py 4 0 0 0 100%
- apps/pricing/formulas/base.py 282 198 70 0 24% 22-24, 33-35, 60, 80-93, 108-115, 135-154, 205-209, 212, 227-240, 290-294, 297, 312-322, 361-363, 366, 381-389, 452-456, 459, 474-485, 488-495, 553-558, 561, 576-585, 635-641, 644, 658-673, 758-767, 770, 783-788, 792, 796, 800, 811-813, 816, 820, 824, 828, 832, 835-840, 843-848, 852, 857, 862-864, 869-871, 877, 886-893, 961-965, 970, 983-995, 1000, 1005, 1050-1052, 1055, 1060-1065, 1070-1072
- apps/pricing/formulas/calculations.py 25 20 0 0 20% 23-41, 47-65, 71-95, 101-135
- apps/pricing/formulas/runner.py 34 28 10 0 14% 50, 60-65, 76-95, 98-108, 111-115
- apps/pricing/management/__init__.py 0 0 0 0 100%
- apps/pricing/management/commands/__init__.py 0 0 0 0 100%
- apps/pricing/management/commands/add_test_users.py 29 29 8 0 0% 3-93
- apps/pricing/models/__init__.py 0 0 0 0 100%
- apps/pricing/models/enums.py 6 0 0 0 100%
- apps/pricing/models/mixins.py 5 0 0 0 100%
- apps/retail/__init__.py 0 0 0 0 100%
- apps/retail/admin.py 27 0 16 0 100%
- apps/retail/constants.py 43 0 0 0 100%
- apps/retail/excel.py 172 122 24 0 31% 206-230, 253-271, 287-290, 299-353, 361-446, 454
- apps/retail/forms.py 132 132 40 0 0% 1-535
- apps/retail/formulas.py 51 51 0 0 0% 7-203
- apps/retail/mixins.py 103 103 36 0 0% 12-250
- apps/retail/models/__init__.py 2 0 0 0 100%
- apps/retail/models/price_changes.py 174 67 18 0 58% 83-94, 97, 100-115, 442-449, 489-493, 501-527, 535-560, 568-596
- apps/retail/models/upload_and_download.py 51 12 0 0 76% 70-72, 99-100, 131, 134-135, 149-152
- apps/retail/templatetags/__init__.py 0 0 0 0 100%
- apps/retail/templatetags/custom_pagination.py 16 16 8 0 0% 3-41
- apps/retail/templatetags/search.py 12 12 2 0 0% 1-31
- apps/retail/urls.py 3 3 0 0 0% 1-16
- apps/retail/views.py 345 345 93 0 0% 1-776
- apps/utils/__init__.py 0 0 0 0 100%
- apps/utils/excel_utils.py 16 0 6 0 100%
- apps/utils/models.py 9 0 4 1 92% 33->29
- ------------------------------------------------------------------------------------------------
- TOTAL 1541 1138 335 1 24%
- ==================================================================================================================================== FAILURES ====================================================================================================================================
- __________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_cell_format_color __________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_cell_format_color>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa492a33ef0>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_currency_format ___________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_currency_format>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4928e0dd8>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ______________________________________________________________________________________________________________ XlsxwriterWriterTests.test_default_cell_format_color ______________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_default_cell_format_color>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa49373a208>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ____________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_elp_event_dec ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_elp_event_dec>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa49206c518>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ____________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_elp_event_inc ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_elp_event_inc>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4937edeb8>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_elp_event_none ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_elp_event_none>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4928c0cf8>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_msrp_event_dec ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_msrp_event_dec>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4909c7358>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_msrp_event_inc ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_msrp_event_inc>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa49204f6a0>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_msrp_event_none ___________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_msrp_event_none>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4928edf60>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_msrp_event_zero ___________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_msrp_event_zero>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa49239bb38>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ___________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_percent_format ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_percent_format>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4928d30b8>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- _____________________________________________________________________________________________________________ XlsxwriterWriterTests.test_properites_written_to_file ______________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_properites_written_to_file>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa4928dcf98>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ____________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_writer_header ____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_writer_header>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa49372bf98>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- _____________________________________________________________________________________________________________________ XlsxwriterWriterTests.test_writer_rows _____________________________________________________________________________________________________________________
- self = <apps.retail.tests.test_excel.XlsxwriterWriterTests testMethod=test_writer_rows>
- def setUp(self):
- self.filename = None
- self.display_name = 'test'
- self.user = User.objects.create_user(
- username='test',
- password='password123',
- email='test@example.com'
- )
- > self.rows = self._create_test_data()
- apps/retail/tests/test_excel.py:200:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- apps/retail/tests/test_excel.py:222: in _create_test_data
- **rsd_data
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/manager.py:122: in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/query.py:399: in create
- obj = self.model(**kwargs)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <RetailSourceData: Uncalculated RetailSourceData Object>, args = (), kwargs = {'retail_price_changeset': <RetailPriceChangeset: test (Nov. 6, 2016 8:46 p.m.)>}, args_len = 0, fields_iter = <tuple_iterator object at 0x7fa492a11e48>, val = ''
- field = <django.db.models.fields.CharField: group>, is_related_object = False, prop = 'retail_price_changeset'
- def __init__(self, *args, **kwargs):
- signals.pre_init.send(sender=self.__class__, args=args, kwargs=kwargs)
- # Set up the storage for instance state
- self._state = ModelState()
- # There is a rather weird disparity here; if kwargs, it's set, then args
- # overrides it. It should be one or the other; don't duplicate the work
- # The reason for the kwargs check is that standard iterator passes in by
- # args, and instantiation for iteration is 33% faster.
- args_len = len(args)
- if args_len > len(self._meta.concrete_fields):
- # Daft, but matches old exception sans the err msg.
- raise IndexError("Number of args exceeds number of fields")
- if not kwargs:
- fields_iter = iter(self._meta.concrete_fields)
- # The ordering of the zip calls matter - zip throws StopIteration
- # when an iter throws it. So if the first iter throws it, the second
- # is *not* consumed. We rely on this, so don't change the order
- # without changing the logic.
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- else:
- # Slower, kwargs-ready version.
- fields_iter = iter(self._meta.fields)
- for val, field in zip(args, fields_iter):
- setattr(self, field.attname, val)
- kwargs.pop(field.name, None)
- # Maintain compatibility with existing calls.
- if isinstance(field.remote_field, ManyToOneRel):
- kwargs.pop(field.attname, None)
- # Now we're left with the unprocessed fields that *must* come from
- # keywords, or default.
- for field in fields_iter:
- is_related_object = False
- # This slightly odd construct is so that we can access any
- # data-descriptor object (DeferredAttribute) without triggering its
- # __get__ method.
- if (field.attname not in kwargs and
- (isinstance(self.__class__.__dict__.get(field.attname), DeferredAttribute)
- or field.column is None)):
- # This field will be populated on request.
- continue
- if kwargs:
- if isinstance(field.remote_field, ForeignObjectRel):
- try:
- # Assume object instance was passed in.
- rel_obj = kwargs.pop(field.name)
- is_related_object = True
- except KeyError:
- try:
- # Object instance wasn't passed in -- must be an ID.
- val = kwargs.pop(field.attname)
- except KeyError:
- val = field.get_default()
- else:
- # Object instance was passed in. Special case: You can
- # pass in "None" for related objects if it's allowed.
- if rel_obj is None and field.null:
- val = None
- else:
- try:
- val = kwargs.pop(field.attname)
- except KeyError:
- # This is done with an exception rather than the
- # default argument on pop because we don't want
- # get_default() to be evaluated, and then not used.
- # Refs #12057.
- val = field.get_default()
- else:
- val = field.get_default()
- if is_related_object:
- # If we are passed a related instance, set it using the
- # field.name instead of field.attname (e.g. "user" instead of
- # "user_id") so that the object gets properly cached (and type
- # checked) by the RelatedObjectDescriptor.
- setattr(self, field.name, rel_obj)
- else:
- setattr(self, field.attname, val)
- if kwargs:
- for prop in list(kwargs):
- try:
- if isinstance(getattr(self.__class__, prop), property):
- setattr(self, prop, kwargs.pop(prop))
- except AttributeError:
- pass
- if kwargs:
- > raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
- E TypeError: 'retail_price_changeset' is an invalid keyword argument for this function
- /opt/www/ikura/lib/python3.5/site-packages/django/db/models/base.py:451: TypeError
- ================================================================================================================ 14 failed, 16 passed, 3 skipped in 23.53 seconds ================================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement