Commit Graph

123 Commits

Author SHA1 Message Date
Aymeric Augustin ee4b806a85 Fixed #21873 -- Removed duplicate import.
Thanks Sephi for the report.
2014-01-25 23:22:03 +01:00
Russell Keith-Magee d818e0c9b2 Fixed #16905 -- Added extensible checks (nee validation) framework
This is the result of Christopher Medrela's 2013 Summer of Code project.

Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.

Also: Fixes #8579, fixes #3055, fixes #19844.
2014-01-20 10:45:21 +08:00
Aymeric Augustin bfcc686d22 Removed the only_with_models_module argument of get_model[s].
Now that the refactorings are complete, it isn't particularly useful any
more, nor very well named. Let's keep the API as simple as possible.

Fixed #21689.
2013-12-30 23:59:34 +01:00
Aymeric Augustin 0d2c8ff2be Populated the app registry earlier at startup.
Refs #1796, #21676.
2013-12-30 22:11:16 +01:00
Aymeric Augustin e5bcd1d455 Changed get_validation_errors to use an app config. 2013-12-29 21:48:58 +01:00
Aymeric Augustin bb8ec71f61 Updated the AppCommand API to support apps without a models module. 2013-12-28 09:42:59 +01:00
Aymeric Augustin 1716b7ce5a Renamed AppCache to Apps.
Also renamed app_cache to apps and "app cache" to "app registry".

Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00
Aymeric Augustin 2fef9e5375 Moved apps back in the toplevel django namespace.
Reverted 4a56a93cc4.
2013-12-22 11:39:55 +01:00
Aymeric Augustin 4582993302 Populated models only when necessary in get_app_config[s].
Took this opportunity to change get_app[s] to only consider applications
containing a model module as that seems slightly more backwards compatible.

Since callers that care about models pass only_with_models_module=True,
this has very few consequences. Only AppCommand needed a change.
2013-12-22 11:39:18 +01:00
Aymeric Augustin 4a56a93cc4 Moved the new app cache inside core. 2013-12-17 10:17:46 +01:00
Aymeric Augustin 5ba743e262 Made it possible to create apps without a models module.
This commit reverts f44c4a5d0f and 39bbd165.

django.test.simple will be updated in a separate commit as it requires
invasive changes.
2013-12-17 10:17:45 +01:00
Aymeric Augustin 69039becde Deprecated get_app(). 2013-12-17 10:17:45 +01:00
Aymeric Augustin 8662654d6d Removed module-level functions for the app cache.
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.

They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.

This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
2013-12-17 10:17:44 +01:00
Tim Graham 36ded01527 Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
Claude Paroz 42a67ec1cd Fixed #21269 -- Don't crash when CommandError contains non-ascii
Thanks kontakt@eikefoken.de for the report.
2013-10-14 21:21:07 +02:00
Gregor MacGregor b2b763448f Fixed #20841 -- Added messages to NotImplementedErrors
Thanks joseph at vertstudios.com for the suggestion.
2013-09-10 11:09:59 -04:00
Jose L. Patino 7b57e575c9 Fixed #19877 -- Added `--no-color` option to `BaseCommand` to avoid using output styles. 2013-07-30 09:26:18 -04:00
Jorge Bastida 888c86dcf3 Fixed #20445 -- Raised original exception after command error 2013-05-20 18:59:37 +02:00
Aymeric Augustin 9c487b5974 Replaced an antiquated pattern.
Thanks Lennart Regebro for pointing it out.
2013-05-17 18:08:58 +02:00
Claude Paroz 6a91b63842 Fixed #19923 -- Display tracebacks for non-CommandError exceptions
By default, show tracebacks for management command errors when the
exception is not a CommandError.
Thanks Jacob Radford for the report.
2013-03-09 12:38:45 +01:00
Ramiro Morales 21ea58b8cc Enhanced docs and docctrings added in 869c9ba.
Thanks Claude for the suggestion.
2013-02-04 08:55:45 -03:00
Ramiro Morales 869c9ba306 Fixed #19730 -- Don't validate importability of settings by using i18n in management commands.
They are handled independently now and the latter can be influenced by
the new BaseCommand.leave_locale_alone internal option.

Thanks chrischambers for the report, Claude, lpiatek, neaf and gabooo for
their work on a patch, originally on refs. #17379.
2013-02-03 23:40:38 -03:00
Claude Paroz b9c8bbf372 Fixed #19665 -- Ensured proper stderr output for Command.run_from_argv
Thanks Stefan Koegl for the report and Simon Charette for the review.
2013-01-25 14:56:41 +01:00
Claude Paroz ae88e73fa6 Replaced some smart_xxx by force_xxx equivalent
smart_str/smart_text should only be used when a potential lazy
string should be preserved in the result of the function call.
2012-08-30 15:46:16 +02:00
Aymeric Augustin a8b3ddec5f [py3] Applied minor fixes so the test suite starts 2012-08-07 12:00:22 +02:00
Claude Paroz f2b6763ad7 Fixed #18387 -- Do not call sys.exit during call_command.
Moved sys.exit(1) so as failing management commands reach it
only when running from command line.
2012-05-27 20:38:47 +02:00
Claude Paroz 3b5083bee5 Fixed #5423 -- Made dumpdata output one row at a time.
This should prevent storing all rows in memory when big sets of
data are dumped.
See ticket for heroic contributors.
2012-05-26 11:43:37 +02:00
Claude Paroz 822d6d6dab Fixed #18325 -- Wrapped self.stdout/stderr in OutputWrapper class 2012-05-19 13:51:54 +02:00
Claude Paroz d7dfab59ea Replaced cStringIO.StringIO by io.BytesIO.
Also replaced StringIO.StringIO by BytesIO in some other appropriate
places. StringIO is not available in Python 3.
2012-05-05 21:41:44 +02:00
Anssi Kääriäinen 4fdd378beb Skip model validation when models are known good.
In some situations Django calls model validation when the models are
already known good. This is most visible in tests, which use flush
and loaddata commands. This resulted in around 10% overhead when
running tests under sqlite.
2012-05-01 08:40:04 +03:00
Claude Paroz 3904b74a3f Fixed #18013 -- Use the new 'as' syntax for exceptions.
Thanks Clueless for the initial patch.
Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-04-29 20:57:15 +02:00
Claude Paroz 9383a2761c Removed with_statement imports, useless in Python >= 2.6. Refs #17965. Thanks jonash for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17828 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-30 08:02:08 +00:00
Claude Paroz 8c54d7cf71 Fixed #17947 -- Fixed language restore after management command even when exceptions occur. Thanks andrey@kostenko.name for the report and the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17823 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-29 16:33:48 +00:00
Jannis Leidel a9a0f0b03f Fixed #17042 -- Extended startproject and startapp management commands to better handle custom app and project templates. Many thanks to Preston Holmes for his initial patch and Alex Gaynor, Carl Meyer, Donald Stufft, Jacob Kaplan-Moss and Julien Phalip for code reviewing.
* Added ability to pass the project or app directory path as the second argument
* Added ``--template`` option for specifying custom project and app templates
* Cleaned up admin_scripts tests a little while I was there

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17246 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-12-22 22:38:02 +00:00
Aymeric Augustin 694bc0f22b Fixed #16397 -- Respected the --traceback flag in BaseCommand. This should make import loops easier to debug. Refs #11667, #17369.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17197 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-12-11 10:03:09 +00:00
Ramiro Morales 5e2f5d1466 Fixed a couple of typos.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17166 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-12-03 17:34:52 +00:00
Ramiro Morales e92b3b723f Fixed #11118 -- Made management command BaseCommand restore locale after execution.
Thanks rvdrijst for the report and initial patch and Claude Paroz for enhancing it.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17077 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-07 11:28:31 +00:00
Ramiro Morales eedc9cb5f6 Fixed #16849 -- Updated management command verbosity option help text.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17053 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-10-29 15:01:17 +00:00
Carl Meyer d89be53d95 Fixed #17099 -- Removed an out-of-date warning and some unused code, now that startapp doesn't require creating app inside project. Thanks ptone for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17030 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-10-24 20:50:39 +00:00
Adrian Holovaty 40765f1bdd Fixed the ugly spacing of 'BEGIN;' and 'COMMIT;' in the output of the sql/sqlall commands. They're no longer smooshed with the rest of the SQL.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13993 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-06 21:19:08 +00:00
Luke Plant f9d051d5f0 Fixed #14145 - undeterministic behavior when project or app template contains dotdir
Thanks to marbu for report and patch.



git-svn-id: http://code.djangoproject.com/svn/django/trunk@13668 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-30 11:47:32 +00:00
Russell Keith-Magee 72dc12ed06 Rationalized the verbosity levels (including introducing a new super-verbose level) for syncdb, test and loaddata.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13539 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-07 06:58:14 +00:00
Russell Keith-Magee 5da6aeba17 Fixed #13636 -- Migrated fixtures tests to use unittests, eliminating another set of expensive flush calls. Thanks to Eric Holscher for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13319 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-06-05 05:26:04 +00:00
Russell Keith-Magee c4e0dc6b5e Fixed #13656 -- Ensure that the management commands use the right database for transaction start/end commands. Thanks to Alex Gaynor for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13311 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-05-28 13:46:12 +00:00
Russell Keith-Magee 5211f48ae3 Fixed #12164 -- Removed the Python 2.3 compatibility imports and workarounds. Thanks to timo and claudep for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13094 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-05-04 14:00:30 +00:00
Russell Keith-Magee be8a1f612d Fixed #12849 -- Corrected the way strings are encoded for display by the colorizer so that they work with unicode. Thanks to jype for the report, and frasern for his work on the issue.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12803 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-03-18 13:24:11 +00:00
Luke Plant 95393aedc9 Fixed #11621 - don't copy .pyo and .py.class files from example app/project
Thanks fwierzbicki, Steve Milner


git-svn-id: http://code.djangoproject.com/svn/django/trunk@11483 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-09-10 15:06:04 +00:00
Gary Wilson Jr 7af2b2dcea Fixed #10018 -- Fixed typo in `BaseCommand` docstring, patch from dswistowski.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10267 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-31 16:57:46 +00:00
Russell Keith-Magee 8d98e70e42 Promoted --verbosity to be a top level option for all management commands. Also added -v as a consistent short form of --verbosity. This is mostly to save Malcolm's poor arthritic fingers.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9110 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-10-02 12:57:13 +00:00
James Bennett 5563362c4c Add some docstrings to the base classes for management commands. Refs #9170.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9082 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-09-22 06:03:24 +00:00
Adrian Holovaty 883aa6b9c8 Fixed #9092 -- Improved validation of app/project names by startapp/startproject so that it doesn't allow names to start with a number.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9043 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-09-16 05:39:49 +00:00
Russell Keith-Magee ec7d8b7c61 Fixed #5943 -- Modified django-admin to behave like manage.py if settings are provided, either as --settings or DJANGO_SETTINGS_MODULE. Thanks to Joseph Kocherhans and Todd O'Bryan for their work on this ticket.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8282 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-10 08:42:49 +00:00
Malcolm Tredinnick 3cfa3cbd07 Fixed #5522 -- Moved make-messages, compile-messages and daily-cleanup into django-admin.py.
They are now called  "makemessages", "compilemessages" and "cleanup". This is
backwards incompatible for make-messages.py and compile-messages.py, although
the old executables still exist for now and print an error pointing the caller
to the right command to call.

This reduces the number of binaries and man pages Django needs to install.

Patch from Janis Leidel.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7844 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-06 06:39:44 +00:00
Malcolm Tredinnick fbf49dfcee Fixed #4431 -- Added a --traceback option for dumpdata and loaddata (which
shows how it can be used for other commands as well). Thanks, dakrauth.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6936 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-17 11:09:32 +00:00
Adrian Holovaty 14eaaafef8 Edited docstring changes from [6480] -- moved the intense parameter definitions into comments
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6767 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-30 05:13:05 +00:00
Gary Wilson Jr 5f9821a5d0 Removed unneeded use of `len()` in a couple expressions.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6483 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-13 18:45:49 +00:00
Gary Wilson Jr fd292d340e Removed an unused import and a duplicate import.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6482 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-13 18:33:03 +00:00
Gary Wilson Jr 1a07957f7e Removed trailing whitespace.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6481 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-13 16:40:20 +00:00
Gary Wilson Jr c142094ffb Added docstring to `copy_helper` function.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6480 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-13 16:38:19 +00:00
Gary Wilson Jr 300dcd6cae Removed unused itertools import and organized imports to adhere to PEP 8.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6479 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-13 16:02:54 +00:00
Russell Keith-Magee 302eeaf190 Fixed #5516 -- Added the ability for applications to define their own management commands. Pieces of this patch taken from a contribution by Todd O'Bryan. Thanks Todd.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6400 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-21 16:19:20 +00:00
Malcolm Tredinnick 7ca1a04633 Fixed #5443 -- Handle lack of os.access() and os.chmod() in Jython. Thanks, Leo Soto.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6281 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-15 11:19:50 +00:00
Adrian Holovaty 2cf419d9ed Got runserver auto-reloading working again by removing what appeared to be debugging code in django.core.management.base. Refs #5369
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6094 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-11 04:37:23 +00:00
Adrian Holovaty a291952a7d Refactored some small parts of core.management -- ManagementUtility.execute() no longer takes an argument, and ManagementUtility.__init__() now takes argv
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-11 04:24:35 +00:00
Adrian Holovaty a247c726c2 Changed core.management print_help() methods to accept a prog_name argument instead of an argv list, in an attempt to figure out why auto reloading stopped working
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6089 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-11 03:46:35 +00:00
Adrian Holovaty c554858f6b Renamed 'args' variables in django.core.management to 'argv' to be more clear, and removed an unneeded import
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6088 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-11 02:49:07 +00:00
Adrian Holovaty 71504127fd Fixed #5369 -- Refactored the django-admin.py help system, allowing each subcommand to register its own options. Thanks for the patch, Todd O'Bryan
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6075 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-09 21:57:59 +00:00
Adrian Holovaty d09d1428f8 Fixed #5307 -- startproject/startapp now makes sure all files it creates are writeable. Thanks, Thomas Stromberg
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6028 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-31 04:35:03 +00:00
Adrian Holovaty 44e620972d Changed 'validate' and 'runserver' management commands to display the number of errors. This was previous behavior before the management.py refactoring
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6022 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-27 00:30:37 +00:00
Adrian Holovaty 13061bf20b Refactored get_start_transaction_sql() to DatabaseOperations.start_transaction_sql(). Refs #5106
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5965 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20 00:24:03 +00:00
Adrian Holovaty e8cae6f96d Fixed bug in django.core.management.base.copy_helper, related to refactoring in [5903]
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5907 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-16 19:14:09 +00:00
Russell Keith-Magee 83f5f700b0 Improved error handling for management.py commands, especially for no argument or non-applabel argument commands.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5903 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-16 14:34:01 +00:00
Adrian Holovaty 01adbb55e6 Major refactoring of django.core.management -- it's now a package rather than a 1730-line single module. All django-admin/manage.py commands are now stored in separate modules. This is backwards-incompatible for people who used django.core.management functions directly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5898 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-16 06:06:55 +00:00