1# coding=utf-8
2"""
3This is an entry point of this helper.
4It fetches data from Django manage commands delegating calles to _parser package report it via _xml module.
5See _xml module and readme.txt for more info.
6
7One may also add list of commands, separated with comma as argument. This is a list of commands to skip.
8Could be useful if you know command may lead to freeze
9
10Module can be called directly, but be sure env var DJANGO_SETTINGS_MODULE is set to something like "mysite.settings"
11"""
12
13
14import django
15
16from django_manage_commands_provider._parser import parser
17from django_manage_commands_provider import _xml
18import sys
19
20
21__author__ = 'Ilya.Kazakevich'
22
23# Some django versions require setup
24if hasattr(django, 'setup'):
25    django.setup()
26dumper = _xml.XmlDumper()
27commands_to_skip = str(sys.argv[1]).split(",") if len(sys.argv) > 1 else []
28parser.report_data(dumper, commands_to_skip)
29print(dumper.xml)