@@ -69,7 +69,7 @@ def filter_rule(rule: TOMLRule, config_filter: dict, exclude_fields: Optional[di
69
69
return True
70
70
71
71
72
- CURRENT_RELEASE_PATH = Path ( RELEASE_DIR ) / load_current_package_version ()
72
+ CURRENT_RELEASE_PATH = RELEASE_DIR / load_current_package_version ()
73
73
74
74
75
75
class Package (object ):
@@ -99,8 +99,8 @@ def __init__(self, rules: RuleCollection, name: str, release: Optional[bool] = F
99
99
100
100
@classmethod
101
101
def load_configs (cls ):
102
- """Load configs from packages.yaml ."""
103
- return load_etc_dump (PACKAGE_FILE )['package' ]
102
+ """Load configs from packages.yml ."""
103
+ return load_etc_dump (str ( PACKAGE_FILE ) )['package' ]
104
104
105
105
@staticmethod
106
106
def _package_kibana_notice_file (save_dir ):
@@ -175,17 +175,17 @@ def get_consolidated(self, as_api=True):
175
175
176
176
def save (self , verbose = True ):
177
177
"""Save a package and all artifacts."""
178
- save_dir = os . path . join ( RELEASE_DIR , self .name )
179
- rules_dir = os . path . join ( save_dir , 'rules' )
180
- extras_dir = os . path . join ( save_dir , 'extras' )
178
+ save_dir = RELEASE_DIR / self .name
179
+ rules_dir = save_dir / 'rules'
180
+ extras_dir = save_dir / 'extras'
181
181
182
182
# remove anything that existed before
183
183
shutil .rmtree (save_dir , ignore_errors = True )
184
- os . makedirs ( rules_dir , exist_ok = True )
185
- os . makedirs ( extras_dir , exist_ok = True )
184
+ rules_dir . mkdir ( parents = True , exist_ok = True )
185
+ extras_dir . mkdir ( parents = True , exist_ok = True )
186
186
187
187
for rule in self .rules :
188
- rule .save_json (Path ( rules_dir ). joinpath (rule .path .name ).with_suffix ('.json' ))
188
+ rule .save_json (rules_dir / Path (rule .path .name ).with_suffix ('.json' ))
189
189
190
190
self ._package_kibana_notice_file (rules_dir )
191
191
self ._package_kibana_index_file (rules_dir )
@@ -195,15 +195,15 @@ def save(self, verbose=True):
195
195
self .save_release_files (extras_dir , self .changed_ids , self .new_ids , self .removed_ids )
196
196
197
197
# zip all rules only and place in extras
198
- shutil .make_archive (os .path .join (extras_dir , self .name ), 'zip' , root_dir = os .path .dirname (rules_dir ),
199
- base_dir = os .path .basename (rules_dir ))
198
+ shutil .make_archive (extras_dir / self .name , 'zip' , root_dir = rules_dir .parent , base_dir = rules_dir .name )
200
199
201
200
# zip everything and place in release root
202
- shutil .make_archive (os .path .join (save_dir , '{}-all' .format (self .name )), 'zip' ,
203
- root_dir = os .path .dirname (extras_dir ), base_dir = os .path .basename (extras_dir ))
201
+ shutil .make_archive (
202
+ save_dir / f"{ self .name } -all" , "zip" , root_dir = extras_dir .parent , base_dir = extras_dir .name
203
+ )
204
204
205
205
if verbose :
206
- click .echo ('Package saved to: {}' . format ( save_dir ) )
206
+ click .echo (f 'Package saved to: { save_dir } ' )
207
207
208
208
def export (self , outfile , downgrade_version = None , verbose = True , skip_unsupported = False ):
209
209
"""Export rules into a consolidated ndjson file."""
@@ -419,7 +419,7 @@ def _generate_registry_package(self, save_dir):
419
419
asset_path = rules_dir / f'{ asset ["id" ]} .json'
420
420
asset_path .write_text (json .dumps (asset , indent = 4 , sort_keys = True ), encoding = "utf-8" )
421
421
422
- notice_contents = Path ( NOTICE_FILE ) .read_text ()
422
+ notice_contents = NOTICE_FILE .read_text ()
423
423
readme_text = textwrap .dedent ("""
424
424
# Prebuilt Security Detection Rules
425
425
0 commit comments