44from django .template .loader import render_to_string
55from django .test .client import RequestFactory
66
7- from pattern_library import (
8- get_base_template_names , get_pattern_base_template_name
9- )
7+ from pattern_library import get_base_template_names , get_pattern_base_template_name
108from pattern_library .utils import (
11- get_pattern_context , get_pattern_templates , get_template_ancestors ,
12- render_pattern
9+ get_pattern_context ,
10+ get_pattern_templates ,
11+ get_template_ancestors ,
12+ render_pattern ,
1313)
1414
1515
@@ -19,44 +19,46 @@ class Command(BaseCommand):
1919 def add_arguments (self , parser ):
2020 super ().add_arguments (parser )
2121 parser .add_argument (
22- ' --output' ,
23- '-o' ,
24- action = ' store' ,
25- dest = ' output_dir' ,
26- default = ' dpl-rendered-patterns' ,
27- help = ' Directory where to render your patterns' ,
22+ " --output" ,
23+ "-o" ,
24+ action = " store" ,
25+ dest = " output_dir" ,
26+ default = " dpl-rendered-patterns" ,
27+ help = " Directory where to render your patterns" ,
2828 type = str ,
2929 )
3030 parser .add_argument (
31- ' --dry-run' ,
32- action = ' store_true' ,
31+ " --dry-run" ,
32+ action = " store_true" ,
3333 help = "Render the patterns without writing them to disk." ,
3434 )
3535 parser .add_argument (
36- ' --wrap-fragments' ,
37- action = ' store_true' ,
36+ " --wrap-fragments" ,
37+ action = " store_true" ,
3838 help = "Render fragment patterns wrapped in the base template." ,
3939 )
4040
4141 def handle (self , ** options ):
42- self .verbosity = options [' verbosity' ]
43- self .dry_run = options [' dry_run' ]
44- self .wrap_fragments = options [' wrap_fragments' ]
45- self .output_dir = options [' output_dir' ]
42+ self .verbosity = options [" verbosity" ]
43+ self .dry_run = options [" dry_run" ]
44+ self .wrap_fragments = options [" wrap_fragments" ]
45+ self .output_dir = options [" output_dir" ]
4646
4747 templates = get_pattern_templates ()
4848
4949 factory = RequestFactory ()
50- request = factory .get ('/' )
50+ request = factory .get ("/" )
5151
5252 if self .verbosity >= 2 :
5353 if self .dry_run :
54- self .stderr .write (f'Target directory: { self .output_dir } . Dry run, not writing files to disk' )
54+ self .stderr .write (
55+ f"Target directory: { self .output_dir } . Dry run, not writing files to disk"
56+ )
5557 else :
56- self .stderr .write (f' Target directory: { self .output_dir } ' )
58+ self .stderr .write (f" Target directory: { self .output_dir } " )
5759
5860 if self .wrap_fragments :
59- self .stderr .write (' Writing fragment patterns wrapped in base template' )
61+ self .stderr .write (" Writing fragment patterns wrapped in base template" )
6062
6163 # Resolve the output dir according to the directory the command is run from.
6264 parent_dir = Path .cwd ().joinpath (self .output_dir )
@@ -67,27 +69,31 @@ def handle(self, **options):
6769 self .render_group (request , parent_dir , templates )
6870
6971 def render_group (self , request , parent_dir : Path , pattern_templates ):
70- for template in pattern_templates [' templates_stored' ]:
72+ for template in pattern_templates [" templates_stored" ]:
7173 if self .verbosity >= 2 :
72- self .stderr .write (f' Pattern: { template .pattern_filename } ' )
74+ self .stderr .write (f" Pattern: { template .pattern_filename } " )
7375 if self .verbosity >= 1 :
7476 self .stderr .write (template .origin .template_name )
7577
7678 render_path = parent_dir .joinpath (template .pattern_filename )
77- rendered_pattern = self .render_pattern (request , template .origin .template_name )
79+ rendered_pattern = self .render_pattern (
80+ request , template .origin .template_name
81+ )
7882
7983 if self .dry_run :
8084 if self .verbosity >= 2 :
8185 self .stdout .write (rendered_pattern )
8286 else :
8387 render_path .write_text (rendered_pattern )
8488
85- if not pattern_templates [' template_groups' ]:
89+ if not pattern_templates [" template_groups" ]:
8690 return
8791
88- for pattern_type_group , pattern_templates in pattern_templates ['template_groups' ].items ():
92+ for pattern_type_group , pattern_templates in pattern_templates [
93+ "template_groups"
94+ ].items ():
8995 if self .verbosity >= 2 :
90- self .stderr .write (f' Group: { pattern_type_group } ' )
96+ self .stderr .write (f" Group: { pattern_type_group } " )
9197 group_parent = parent_dir .joinpath (pattern_type_group )
9298 if not self .dry_run :
9399 group_parent .mkdir (exist_ok = True )
@@ -104,12 +110,14 @@ def render_pattern(self, request, pattern_template_name):
104110 pattern_template_name ,
105111 context = get_pattern_context (pattern_template_name ),
106112 )
107- pattern_is_fragment = set (pattern_template_ancestors ).isdisjoint (set (get_base_template_names ()))
113+ pattern_is_fragment = set (pattern_template_ancestors ).isdisjoint (
114+ set (get_base_template_names ())
115+ )
108116
109117 if pattern_is_fragment :
110118 base_template = get_pattern_base_template_name ()
111119 context = get_pattern_context (base_template )
112- context [' pattern_library_rendered_pattern' ] = rendered_pattern
120+ context [" pattern_library_rendered_pattern" ] = rendered_pattern
113121 return render_to_string (base_template , request = request , context = context )
114122 else :
115123 return rendered_pattern
0 commit comments