On Tue, Aug 28, 2012 at 2:40 PM, Phill Tornroth <famousactr...@gmail.com>wrote:

> 'Ello.
>
> I'm gauging support for a tiny new feature, or at least a refactoring of
> an internal API that will allow the feature to be developed without code
> duplication. I'd like to stop typing import statements for all of my models
> and other common stuff into my django shell. In fact, I'd love for all of
> us to stop typing those import statements! I tossed up the following pull
> requests as an example for how this might look:
>
> https://github.com/django/django/pull/303
>
> This is effectively a subset of the functionality that shell_plus [1]
> appears to provide. The problem that I have with building my own, or with
> using shell_plus is that the shell command doesn't allow this change to be
> built without effectively copying the entire internal implementation of the
> shell command. New features added to, or issues fixed in shell will have to
> be copied over to shell_plus, or our homegrown solutions which is
> unfortunate. So at the very least it seems reasonable to provide something
> like the get_initial_shell_locals method I added in my pull request,
> which makes this feature easy enough to add without duplication.
>
> In fact, that's where my thinking started but I also don't see a downside
> to providing this functionality in core either. I don't think it's
> usefulness is particularly questionable or niche, as the existence of
> shell_plus seems evidence of.
>
> I haven't opened a ticket because the contribution docs suggest gauging
> consensus, first. So I think these are the two potential (not mutually
> exclusive) changes worth gauging support for:
>
> 1. An overridable method (or some other internal API change?) to make it
> possible to implement this functionality without copying the entire shell
> implementation.
> 2. A default implementation for said method that supports auto-importing
> useful objects into the shell scope.
>
>
> Curious to hear what people think. Of course, please let me know if I'm
> going about this the wrong way.
>
> Thanks!
> Phill
>
> [1]:
> https://github.com/django-extensions/django-extensions/blob/master/django_extensions/management/commands/shell_plus.py
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/django-developers/-/gcpo73Sk5aMJ.
> To post to this group, send email to django-developers@googlegroups.com.
> To unsubscribe from this group, send email to
> django-developers+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-developers?hl=en.
>

I'm pretty strongly -1 on this. I understand it can be a real convenience,
but this is precisely the type of feature that makes things way more
confusing for anyone who's new to a project, "Why are the things magically
available here?". I realize this is "just" the shell, but I've been very
critical of other frameworks for making things magically available, and I'm
going to hold us to the same standard.

Alex

-- 
"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to