1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 """
20 Polecenie generujace aplikacje na podstawie szkieletu.
21
22 Polecenie pozwala na wygenerowanie aplikacji na podstawie pliku szablonu.
23 Aplikacja wymaga do poprawnego dzialania zainstalowanej biblioteki I{Ajango}
24 Wiecej informacji na ten temat w L{ajango}.
25
26 Skladnia polecenia
27 ==================
28
29 Przykladowe wywolanie polecenia::
30
31 $ python manager.py generateapps
32
33 Generator skorzysta domyslnie z pliku U{skeleton.xml}. Mozna to ustawienie
34 zmienic wywolujac polecenie z flaga C{-f} po ktorej podana powinna byc nazwa
35 pliku z szablonem.
36
37 Nalezy zwrocic uwage na to iz Ajagno nie jest w stanie wygenerowac aplikacji
38 w katalogu w ktorym sie znajduje. W przypadku testowania dzialania generatora
39 zaleca sie wykonanie kopi zapasowej katalogu projektowego oraz podmienianie go
40 przed kolejnym generowaniem aplikacji.
41 """
42
43 from django.core.management.base import BaseCommand
44 from ajango.generator import AjangoGenerator
45
47 """
48 Generowanie aplikacji na podstawie szkieletu.
49
50 Polecenie generuje aplikacje na postawie szkieletu. Jest on domyslnie
51 przechowywany w pliku I{skeleton.xml} i moze byc ustawiony flaga C{-f} lub
52 C{--file}.
53 """
54 help = ("Generate application from specyfic xml file.")
56 """ Definiowanie argumentow. """
57 parser.add_argument(
58 '-f', '--file',
59 action='store', dest='skeleton_file', default='skeleton.xml',
60 help='Path to file with skeleton',
61 )
62 parser.add_argument(
63 '-p', '--project',
64 action='store', dest='project_name', default='project',
65 help='Name of actual project',
66 )
68 """ Obsluga polecenia. """
69 skeleton_file = options['skeleton_file']
70 project_name = options['project_name']
71 options['extensions'] = ['py']
72 options['files'] = []
73 options['template'] = None
74 generator = AjangoGenerator(project_name, skeleton_file)
75 generator.set_options(options)
76 generator.make_apps()
77