Add generatedependency command
This comment generated pip install requirement files. Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.core import management
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from ...classes import PythonDependency, DependencyGroup
|
||||
|
||||
|
||||
class Command(management.BaseCommand):
|
||||
help = 'Generate Python requirement files.'
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('environment', nargs='?', help='Environment name')
|
||||
parser.add_argument(
|
||||
'--exclude', action='store', dest='exclude', help=_(
|
||||
'Comma separated names of dependencies to exclude from the '
|
||||
'list generated.'
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--only', action='store', dest='only', help=_(
|
||||
'Comma separated names of dependencies to show in the list '
|
||||
'while excluding every other one.'
|
||||
),
|
||||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
dependency_list = PythonDependency.get_for_attribute(
|
||||
attribute_name='environment__name',
|
||||
attribute_value=options['environment'], subclass_only=True
|
||||
)
|
||||
exclude_list = (options['exclude'] or '').split(',')
|
||||
only_list = (options['only'] or '').split(',')
|
||||
result = []
|
||||
|
||||
for dependency in dependency_list:
|
||||
if only_list != ['']:
|
||||
if dependency.name in only_list:
|
||||
result.append(dependency)
|
||||
else:
|
||||
result.append(dependency)
|
||||
|
||||
for dependency in result:
|
||||
if dependency.name not in exclude_list:
|
||||
print(
|
||||
'{}{}'.format(dependency.name, dependency.version_string)
|
||||
)
|
||||
Reference in New Issue
Block a user