#6017: order of django-admin.py options matters, but shouldn't
-----------------------+----------------------------------------------------
Reporter:  toddobryan  |       Owner:  nobody       
  Status:  new         |   Component:  Uncategorized
 Version:  SVN         |    Keywords:               
   Stage:  Unreviewed  |   Has_patch:  0            
-----------------------+----------------------------------------------------
 In ticket #5369, ``django-admin.py`` and ``manage.py`` are supposed to
 read all options, looking for ``--settings`` and ``--pythonpath``, and
 then use those two if they're present to access app-supplied commands. The
 code (which was mine) has a bug, in that options stop getting read as soon
 as something other than ``--settings`` or ``--pythonpath`` gets hit.

 Without the patch, you currently get: {{{
 >>> from django.core.management import LaxOptionParser, get_version
 >>> from django.core.management.base import BaseCommand
 >>> parser = LaxOptionParser(version=get_version(),
 option_list=BaseCommand.option_list)
 >>> options, args = parser.parse_args('django-admin.py command --option
 --settings=settingsmodule --pythonpath=/home/user/django-dir'.split())
 >>> print options
 {'pythonpath': None, 'settings': None}
 >>> args
 ['django-admin.py', 'command', '--settings=settingsmodule', '--
 pythonpath=/home/user/django-dir']
 }}}
 where both ``--pythonpath`` and ``--settings`` get ignored.

 With the included patch, you get:{{{
 >>> from django.core.management import LaxOptionParser, get_version
 >>> from django.core.management.base import BaseCommand
 >>> parser = LaxOptionParser(version=get_version(),
 option_list=BaseCommand.option_list)
 >>> options, args = parser.parse_args('django-admin.py command --option
 --settings=settingsmodule --pythonpath=/home/user/django-dir'.split())
 >>> print options
 {'pythonpath': '/home/user/django-dir', 'settings': 'settingsmodule'}
 >>> args
 ['django-admin.py', 'command', '--option']
 }}}
 as desired.

 If someone wants me to stick the doctest code somewhere, please tell me
 where. I think I may need to make a whole new folder, but I don't want to
 make a mess.

-- 
Ticket URL: <http://code.djangoproject.com/ticket/6017>
Django Code <http://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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to