Files
mayan-edms/mayan/apps/dependencies/management/commands/generaterequirements.py
Roberto Rosario 4baeb6ce7e Code cleanups
PEP8 cleanups. Add keyword arguments.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-21 00:56:22 -04:00

48 lines
1.6 KiB
Python

from __future__ import unicode_literals
from django.core import management
from django.utils.translation import ugettext_lazy as _
from ...classes import PythonDependency
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)
)