From f2fca005a2876e77a52b4565d836bc4a36bb635c Mon Sep 17 00:00:00 2001 From: jmcouffin Date: Wed, 3 Feb 2021 14:38:39 +0100 Subject: [PATCH] added try/except to wipe collaboration cache tool to handle case when there is no cache folder in a version of revit --- .../Wipe Collab Cache.pushbutton/script.py | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/extensions/pyRevitTools.extension/pyRevit.tab/Project.panel/Wipe.pulldown/Wipe Collab Cache.pushbutton/script.py b/extensions/pyRevitTools.extension/pyRevit.tab/Project.panel/Wipe.pulldown/Wipe Collab Cache.pushbutton/script.py index 4dad2c643..51fb4a724 100644 --- a/extensions/pyRevitTools.extension/pyRevit.tab/Project.panel/Wipe.pulldown/Wipe Collab Cache.pushbutton/script.py +++ b/extensions/pyRevitTools.extension/pyRevit.tab/Project.panel/Wipe.pulldown/Wipe Collab Cache.pushbutton/script.py @@ -24,23 +24,26 @@ def name(self): ' [ Linked ]' if self.linked else '' ) - -cmodels = [] -# grab collab caches -for cc in bim360.get_collab_caches(): - # add models - cmodels.extend( - [CacheModelItem(x) for x in cc.cache_models] - ) - # and linked models - cmodels.extend( - [CacheModelItem(x, linked=True) for x in cc.cache_linked_models] - ) - -# ask user for which model to delete -selected_cmodels = forms.SelectFromList.show(cmodels, multiselect=True) -if selected_cmodels: - # delete each selected cache - for cm in selected_cmodels: - logger.info('Deleting %s', cm) - bim360.clear_model_cache(cm) +try: + cmodels = [] + # grab collab caches + for cc in bim360.get_collab_caches(): + # add models + cmodels.extend( + [CacheModelItem(x) for x in cc.cache_models] + ) + # and linked models + cmodels.extend( + [CacheModelItem(x, linked=True) for x in cc.cache_linked_models] + ) + + # ask user for which model to delete + selected_cmodels = forms.SelectFromList.show(cmodels, multiselect=True) + if selected_cmodels: + # delete each selected cache + for cm in selected_cmodels: + logger.info('Deleting %s', cm) + bim360.clear_model_cache(cm) + +except: + nomodels = forms.alert('No Collaboration Cache for this version of Revit', title='pyRevit - Wipe Collaboration Cache', ok=True, cancel=False) \ No newline at end of file