From 0dfc5479a8e50215866bbf43604bed8416a1b504 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Sat, 31 Dec 2016 12:36:25 -0500 Subject: [PATCH] Refs #26058 -- Removed deprecated FileField.get_directory_name()/get_filename(). --- django/db/models/fields/files.py | 19 -------------- docs/releases/2.0.txt | 3 +++ tests/file_storage/test_generate_filename.py | 27 -------------------- 3 files changed, 3 insertions(+), 46 deletions(-) diff --git a/django/db/models/fields/files.py b/django/db/models/fields/files.py index e877fc7ef4..e52cc1164d 100644 --- a/django/db/models/fields/files.py +++ b/django/db/models/fields/files.py @@ -1,7 +1,5 @@ import datetime -import os import posixpath -import warnings from django import forms from django.core import checks @@ -12,7 +10,6 @@ from django.core.validators import validate_image_file_extension from django.db.models import signals from django.db.models.fields import Field from django.utils import six -from django.utils.deprecation import RemovedInDjango20Warning from django.utils.encoding import force_str, force_text from django.utils.translation import ugettext_lazy as _ @@ -301,22 +298,6 @@ class FileField(Field): super(FileField, self).contribute_to_class(cls, name, **kwargs) setattr(cls, self.name, self.descriptor_class(self)) - def get_directory_name(self): - warnings.warn( - 'FileField now delegates file name and folder processing to the ' - 'storage. get_directory_name() will be removed in Django 2.0.', - RemovedInDjango20Warning, stacklevel=2 - ) - return os.path.normpath(force_text(datetime.datetime.now().strftime(force_str(self.upload_to)))) - - def get_filename(self, filename): - warnings.warn( - 'FileField now delegates file name and folder processing to the ' - 'storage. get_filename() will be removed in Django 2.0.', - RemovedInDjango20Warning, stacklevel=2 - ) - return os.path.normpath(self.storage.get_valid_name(os.path.basename(filename))) - def generate_filename(self, instance, filename): """ Apply (if callable) or prepend (if a string) upload_to to the filename, diff --git a/docs/releases/2.0.txt b/docs/releases/2.0.txt index 19ae47fc49..dade7e0bda 100644 --- a/docs/releases/2.0.txt +++ b/docs/releases/2.0.txt @@ -375,3 +375,6 @@ these features. ``parent_link`` is removed. * Support for ``Widget._format_value()`` is removed. + +* ``FileField`` methods ``get_directory_name()`` and ``get_filename()`` are + removed. diff --git a/tests/file_storage/test_generate_filename.py b/tests/file_storage/test_generate_filename.py index 4432013850..b4222f4121 100644 --- a/tests/file_storage/test_generate_filename.py +++ b/tests/file_storage/test_generate_filename.py @@ -1,5 +1,4 @@ import os -import warnings from django.core.files.base import ContentFile from django.core.files.storage import Storage @@ -38,32 +37,6 @@ class AWSS3Storage(Storage): class GenerateFilenameStorageTests(SimpleTestCase): - def test_filefield_get_directory_deprecation(self): - with warnings.catch_warnings(record=True) as warns: - warnings.simplefilter('always') - f = FileField(upload_to='some/folder/') - self.assertEqual(f.get_directory_name(), os.path.normpath('some/folder/')) - - self.assertEqual(len(warns), 1) - self.assertEqual( - warns[0].message.args[0], - 'FileField now delegates file name and folder processing to the ' - 'storage. get_directory_name() will be removed in Django 2.0.' - ) - - def test_filefield_get_filename_deprecation(self): - with warnings.catch_warnings(record=True) as warns: - warnings.simplefilter('always') - f = FileField(upload_to='some/folder/') - self.assertEqual(f.get_filename('some/folder/test.txt'), 'test.txt') - - self.assertEqual(len(warns), 1) - self.assertEqual( - warns[0].message.args[0], - 'FileField now delegates file name and folder processing to the ' - 'storage. get_filename() will be removed in Django 2.0.' - ) - def test_filefield_generate_filename(self): f = FileField(upload_to='some/folder/') self.assertEqual(