diff options
| author | Vytis Banaitis <vytis.banaitis@gmail.com> | 2017-02-01 18:41:56 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-02-01 11:41:56 -0500 |
| commit | 8838d4dd498c8f66ea4237fe8a79a5f77d6f95c9 (patch) | |
| tree | b75fa27930b8758ad36669b523b084ac09ce290b /django/core | |
| parent | 0ec4dc91e0e7befdd06aa0613b5d0fbe3c785ee7 (diff) | |
Refs #23919 -- Replaced kwargs.pop() with keyword-only arguments.
Diffstat (limited to 'django/core')
| -rw-r--r-- | django/core/mail/backends/filebased.py | 6 | ||||
| -rw-r--r-- | django/core/serializers/base.py | 15 | ||||
| -rw-r--r-- | django/core/serializers/python.py | 14 | ||||
| -rw-r--r-- | django/core/serializers/xml_serializer.py | 6 | ||||
| -rw-r--r-- | django/core/servers/basehttp.py | 6 |
5 files changed, 22 insertions, 25 deletions
diff --git a/django/core/mail/backends/filebased.py b/django/core/mail/backends/filebased.py index b051fe6313..e956a3367a 100644 --- a/django/core/mail/backends/filebased.py +++ b/django/core/mail/backends/filebased.py @@ -10,10 +10,10 @@ from django.core.mail.backends.console import \ class EmailBackend(ConsoleEmailBackend): - def __init__(self, *args, **kwargs): + def __init__(self, *args, file_path=None, **kwargs): self._fname = None - if 'file_path' in kwargs: - self.file_path = kwargs.pop('file_path') + if file_path is not None: + self.file_path = file_path else: self.file_path = getattr(settings, 'EMAIL_FILE_PATH', None) # Make sure self.file_path is a string. diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py index d1a5344064..2ffe022da9 100644 --- a/django/core/serializers/base.py +++ b/django/core/serializers/base.py @@ -62,19 +62,18 @@ class Serializer: progress_class = ProgressBar stream_class = StringIO - def serialize(self, queryset, **options): + def serialize(self, queryset, *, stream=None, fields=None, use_natural_foreign_keys=False, + use_natural_primary_keys=False, progress_output=None, object_count=0, **options): """ Serialize a queryset. """ self.options = options - self.stream = options.pop("stream", self.stream_class()) - self.selected_fields = options.pop("fields", None) - self.use_natural_foreign_keys = options.pop('use_natural_foreign_keys', False) - self.use_natural_primary_keys = options.pop('use_natural_primary_keys', False) - progress_bar = self.progress_class( - options.pop('progress_output', None), options.pop('object_count', 0) - ) + self.stream = stream if stream is not None else self.stream_class() + self.selected_fields = fields + self.use_natural_foreign_keys = use_natural_foreign_keys + self.use_natural_primary_keys = use_natural_primary_keys + progress_bar = self.progress_class(progress_output, object_count) self.start_serialization() self.first = True diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index 7b7510be41..a299ed62c8 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -79,15 +79,13 @@ class Serializer(base.Serializer): return self.objects -def Deserializer(object_list, **options): +def Deserializer(object_list, *, using=DEFAULT_DB_ALIAS, ignorenonexistent=False, **options): """ Deserialize simple Python objects back into Django ORM instances. It's expected that you pass the Python objects themselves (instead of a stream or a string) to the constructor """ - db = options.pop('using', DEFAULT_DB_ALIAS) - ignore = options.pop('ignorenonexistent', False) field_names_cache = {} # Model: <list of field_names> for d in object_list: @@ -95,7 +93,7 @@ def Deserializer(object_list, **options): try: Model = _get_model(d["model"]) except base.DeserializationError: - if ignore: + if ignorenonexistent: continue else: raise @@ -114,7 +112,7 @@ def Deserializer(object_list, **options): # Handle each field for (field_name, field_value) in d["fields"].items(): - if ignore and field_name not in field_names: + if ignorenonexistent and field_name not in field_names: # skip fields no longer on model continue @@ -131,7 +129,7 @@ def Deserializer(object_list, **options): if hasattr(model._default_manager, 'get_by_natural_key'): def m2m_convert(value): if hasattr(value, '__iter__') and not isinstance(value, str): - return model._default_manager.db_manager(db).get_by_natural_key(*value).pk + return model._default_manager.db_manager(using).get_by_natural_key(*value).pk else: return force_text(model._meta.pk.to_python(value), strings_only=True) else: @@ -154,7 +152,7 @@ def Deserializer(object_list, **options): field_name = field.remote_field.field_name if hasattr(default_manager, 'get_by_natural_key'): if hasattr(field_value, '__iter__') and not isinstance(field_value, str): - obj = default_manager.db_manager(db).get_by_natural_key(*field_value) + obj = default_manager.db_manager(using).get_by_natural_key(*field_value) value = getattr(obj, field.remote_field.field_name) # If this is a natural foreign key to an object that # has a FK/O2O as the foreign key, use the FK value @@ -177,7 +175,7 @@ def Deserializer(object_list, **options): except Exception as e: raise base.DeserializationError.WithData(e, d['model'], d.get('pk'), field_value) - obj = base.build_instance(Model, data, db) + obj = base.build_instance(Model, data, using) yield base.DeserializedObject(obj, m2m_data) diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py index ddf0bf3e1a..7e64952074 100644 --- a/django/core/serializers/xml_serializer.py +++ b/django/core/serializers/xml_serializer.py @@ -157,11 +157,11 @@ class Deserializer(base.Deserializer): Deserialize XML. """ - def __init__(self, stream_or_string, **options): + def __init__(self, stream_or_string, *, using=DEFAULT_DB_ALIAS, ignorenonexistent=False, **options): super().__init__(stream_or_string, **options) self.event_stream = pulldom.parse(self.stream, self._make_parser()) - self.db = options.pop('using', DEFAULT_DB_ALIAS) - self.ignore = options.pop('ignorenonexistent', False) + self.db = using + self.ignore = ignorenonexistent def _make_parser(self): """Create a hardened XML parser (no custom/external entities).""" diff --git a/django/core/servers/basehttp.py b/django/core/servers/basehttp.py index ef2edc0f80..68ef2a74b7 100644 --- a/django/core/servers/basehttp.py +++ b/django/core/servers/basehttp.py @@ -59,10 +59,10 @@ class WSGIServer(simple_server.WSGIServer): request_queue_size = 10 - def __init__(self, *args, **kwargs): - if kwargs.pop('ipv6', False): + def __init__(self, *args, ipv6=False, allow_reuse_address=True, **kwargs): + if ipv6: self.address_family = socket.AF_INET6 - self.allow_reuse_address = kwargs.pop('allow_reuse_address', True) + self.allow_reuse_address = allow_reuse_address super().__init__(*args, **kwargs) def server_bind(self): |
