#22681: TarArchive has_leading_dir usage bug -------------------------------------+------------------------------------- Reporter: phpdude | Owner: nobody Type: Bug | Status: new Component: Core (Management | Version: master commands) | Keywords: startproject, tar, Severity: Normal | template, allversions Triage Stage: Unreviewed | Has patch: 1 Easy pickings: 1 | UI/UX: 0 -------------------------------------+------------------------------------- I found small bug in django.utils.archive.TarArchive.extract function.
https://github.com/django/django/blob/master/django/utils/archive.py#L147 There members is a list of TarInfo objects (tarfile.TarInfo), not just a list of path strings. Because of this bug django cannot recognize leading_dir in tar archives. Take a look for example startproject with tar and zip archive. {{{ (env)@dude /WWW# django-admin.py startproject -v 3 --template http://git.floraconcierge.com/flora-concierge/django- skeleton/repository/archive test14 Rendering project template files with extensions: .py Rendering project template files with filenames: Downloading http://git.floraconcierge.com/flora-concierge/django- skeleton/repository/archive Extracting /var/folders/7h/k___h29d15n7n5zxqk5l8ktw0000gn/T/django_project_template_FAMd_4_download /django-skeleton-f85cd58a98dd98bd22b56a82a35b3947ad7c7d79.tar.gz Creating /WWW/test14/django-skeleton.git/manage.py Creating /WWW/test14/django-skeleton.git/README Creating /WWW/test14/django-skeleton.git/test14/__init__.py Creating /WWW/test14/django-skeleton.git/test14/urls.py Creating /WWW/test14/django-skeleton.git/test14/wsgi.py ... }}} And example with zip archive {{{ (env)@dude /WWW# django-admin.py startproject -v 3 --template https://github.com/rdegges/django-skel/zipball/master test15 Rendering project template files with extensions: .py Rendering project template files with filenames: Downloading https://github.com/rdegges/django-skel/zipball/master Extracting /var/folders/7h/k___h29d15n7n5zxqk5l8ktw0000gn/T/django_project_template_DLsbG8_download /rdegges-django-skel-d4631bb.zip Creating /WWW/test15/.gitignore Creating /WWW/test15/fabfile.py Creating /WWW/test15/gunicorn.py.ini Creating /WWW/test15/manage.py Creating /WWW/test15/Procfile Creating /WWW/test15/README.md Creating /WWW/test15/requirements.txt Creating /WWW/test15/runtime.txt Creating /WWW/test15/wsgi.py }}} I fixed this and created pull request in github. Please aply it soon. https://github.com/django/django/pull/2701 Thank you, alex -- Ticket URL: <https://code.djangoproject.com/ticket/22681> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/050.59685128e437289584514ab3d8ff8135%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.