From f618e033acd37d59b536d6e6126e6c5be18037f6 Mon Sep 17 00:00:00 2001 From: Nick Pope Date: Tue, 5 Feb 2019 22:00:56 +0000 Subject: [PATCH] Fixed #30160 -- Added support for LZMA and XZ templates to startapp/startproject management commands. --- django/utils/archive.py | 2 ++ docs/ref/django-admin.txt | 8 +++++++- docs/releases/3.0.txt | 4 ++++ tests/utils_tests/archives/foobar.tar.lzma | Bin 0 -> 271 bytes tests/utils_tests/archives/foobar.tar.xz | Bin 0 -> 316 bytes .../utils_tests/archives/leadpath_foobar.tar.lzma | Bin 0 -> 212 bytes tests/utils_tests/archives/leadpath_foobar.tar.xz | Bin 0 -> 260 bytes 7 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 tests/utils_tests/archives/foobar.tar.lzma create mode 100644 tests/utils_tests/archives/foobar.tar.xz create mode 100644 tests/utils_tests/archives/leadpath_foobar.tar.lzma create mode 100644 tests/utils_tests/archives/leadpath_foobar.tar.xz diff --git a/django/utils/archive.py b/django/utils/archive.py index c94ca4950b..235809f2ad 100644 --- a/django/utils/archive.py +++ b/django/utils/archive.py @@ -220,5 +220,7 @@ extension_map = dict.fromkeys(( '.tar', '.tar.bz2', '.tbz2', '.tbz', '.tz2', '.tar.gz', '.tgz', '.taz', + '.tar.lzma', '.tlz', + '.tar.xz', '.txz', ), TarArchive) extension_map['.zip'] = ZipArchive diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt index be007c8cdf..b5572cd5c7 100644 --- a/docs/ref/django-admin.txt +++ b/docs/ref/django-admin.txt @@ -1223,7 +1223,8 @@ For example:: Provides the path to a directory with a custom app template file, or a path to an uncompressed archive (``.tar``) or a compressed archive (``.tar.gz``, -``.tar.bz2``, ``.tgz``, ``.tbz2``, ``.zip``) containing the app template files. +``.tar.bz2``, ``.tar.xz``, ``.tar.lzma``, ``.tgz``, ``.tbz2``, ``.txz``, +``.tlz``, ``.zip``) containing the app template files. For example, this would look for an app template in the given directory when creating the ``myapp`` app:: @@ -1239,6 +1240,11 @@ zip files, you can use a URL like:: django-admin startapp --template=https://github.com/githubuser/django-app-template/archive/master.zip myapp +.. versionchanged:: 3.0 + + Support for XZ archives (``.tar.xz``, ``.txz``) and LZMA archives + (``.tar.lzma``, ``.tlz``) was added. + .. django-admin-option:: --extension EXTENSIONS, -e EXTENSIONS Specifies which file extensions in the app template should be rendered with the diff --git a/docs/releases/3.0.txt b/docs/releases/3.0.txt index 30f70e0bcf..4bfebba73b 100644 --- a/docs/releases/3.0.txt +++ b/docs/releases/3.0.txt @@ -250,6 +250,10 @@ Management Commands * The new :option:`--skip-checks` option skips running system checks prior to running the command. +* The :option:`startapp --template` and :option:`startproject --template` + options now support templates stored in XZ archives (``.tar.xz``, ``.txz``) + and LZMA archives (``.tar.lzma``, ``.tlz``). + Migrations ~~~~~~~~~~ diff --git a/tests/utils_tests/archives/foobar.tar.lzma b/tests/utils_tests/archives/foobar.tar.lzma new file mode 100644 index 0000000000000000000000000000000000000000..758518e1fd1fde1f49b6b6253830059a2eb2f32e GIT binary patch literal 271 zcmV+q0r37^004jh|NsC0|NsC002qKXP#7|W#o$wtaX4%%NfBC9@`SALEwICfuz>Gf)^Zg~i}gl5sd} zD@hSrRPuzZ@GY>zhvXN-inVZy5~VIlJLjXFEkJRP-8Cnlua{ATiDt6`)Vt7|sXqh&sP9lY^iMDPnSz#MFK28n%M3IeS0A7v&CGCvmENcCIviihZ31T4yfNBSOzB1CtW)Nz)~Y6YfWU z^tM8_wxPTb-Bu%X-Vpq~8_;bGd@(JKq<`;~I^q&58%xjh@zv%REsfIDYA|xuD_saA z8P`!VEv;{icfjbSN*$zL2DXhfLHb9orWsY|fB*nM#DKxr!0R0V0ha=RPyhhUITJXs O#Ao{g000001X)`5){o-= literal 0 HcmV?d00001 diff --git a/tests/utils_tests/archives/leadpath_foobar.tar.lzma b/tests/utils_tests/archives/leadpath_foobar.tar.lzma new file mode 100644 index 0000000000000000000000000000000000000000..bf1af30589b784d2c577980e5d8919ef23d18957 GIT binary patch literal 212 zcmV;_04x7p004jh|NsC0|NsC005%y&NO%0Yu(Z*@1j~yt%2G#{T+|3vQR7e=-#Q~k zHrjHjn7ntP#w`bby@Z32%>#yV-|MO2Gph)_^~;0+E$jpH7Uy$$b51I@dVP6!XG%J0 zs6KyI=m?#4^GTko0B`%|I7$F@-@lFJpMz!NaeBErxkIyHJkUO~?c$dRo{9v40OKvH O-!G=TF){z#e-h@a7;W_H+ooF000E$*0e?f03iVu0001VFXf})75@OiT>v&2NJw}5y0Em-zy!;S zG0IX$mt52cRZ-(m8s9o2MmE}VshGTXp~fu-f4zi*k<9~!a^LHz;WMiUz4gn404?kT z^A_iGd2>!Gwt9VecV|jEX{bJbR_F+wb@NG{tK|!fm6_C@P3>F{@<)4FP<8gYqI=Mr$ zU_8)1v+d%S2%d@rfdJzzs^2etZ