@@ -280,6 +280,7 @@ def __init__(self, config, params):
280
280
self .show_missing = params ["show_missing" ]
281
281
self .save_missing = params ["save_missing" ]
282
282
self .released_missing_only = params ["released_missing_only" ]
283
+ self .create_asset_folders = params ["create_asset_folders" ]
283
284
self .mass_genre_update = params ["mass_genre_update" ]
284
285
self .mass_audience_rating_update = params ["mass_audience_rating_update" ]
285
286
self .mass_critic_rating_update = params ["mass_critic_rating_update" ]
@@ -746,7 +747,7 @@ def edit_tags(self, attr, obj, add_tags=None, remove_tags=None, sync_tags=None):
746
747
logger .info (f"Detail: { attr .capitalize ()} { _remove } removed" )
747
748
return updated
748
749
749
- def update_item_from_assets (self , item , overlay = None ):
750
+ def update_item_from_assets (self , item , overlay = None , create = False ):
750
751
name = os .path .basename (os .path .dirname (str (item .locations [0 ])) if self .is_movie else str (item .locations [0 ]))
751
752
logger .debug (name )
752
753
found_folder = False
@@ -798,12 +799,15 @@ def update_item_from_assets(self, item, overlay=None):
798
799
self .upload_images (episode , poster = episode_poster )
799
800
if not poster and overlay :
800
801
self .upload_images (item , overlay = overlay )
801
- if not overlay and self .asset_folders and not found_folder :
802
+ if create and self .asset_folders and not found_folder :
803
+ os .makedirs (os .path .join (self .asset_directory [0 ], name ), exist_ok = True )
804
+ logger .info (f"Asset Directory Created: { os .path .join (self .asset_directory [0 ], name )} " )
805
+ elif not overlay and self .asset_folders and not found_folder :
802
806
logger .error (f"Asset Warning: No asset folder found called '{ name } '" )
803
807
elif not poster and not background :
804
808
logger .error (f"Asset Warning: No poster or background found in an assets folder for '{ name } '" )
805
809
806
- def find_collection_assets (self , item , name = None ):
810
+ def find_collection_assets (self , item , name = None , create = False ):
807
811
if name is None :
808
812
name = item .title
809
813
for ad in self .asset_directory :
@@ -825,4 +829,7 @@ def find_collection_assets(self, item, name=None):
825
829
background = ImageData ("asset_directory" , os .path .abspath (matches [0 ]), prefix = f"{ item .title } 's " , is_poster = False , is_url = False )
826
830
if poster or background :
827
831
return poster , background
832
+ if create and self .asset_folders and not os .path .isdir (os .path .join (self .asset_directory [0 ], name )):
833
+ os .makedirs (os .path .join (self .asset_directory [0 ], name ), exist_ok = True )
834
+ logger .info (f"Asset Directory Created: { os .path .join (self .asset_directory [0 ], name )} " )
828
835
return None , None
0 commit comments