@@ -94,17 +94,26 @@ def create_file_url(client, protocol=None, **kwargs):
9494def list_share_files (cmd , client , directory_name = None , timeout = None , exclude_dir = False , exclude_extended_info = False ,
9595 num_results = None , marker = None ):
9696 from ..track2_util import list_generator
97- include = None
98- share_properties = client .get_share_properties ()
99- if share_properties .protocols == ['NFS' ]:
100- if exclude_extended_info :
101- logger .warning ('--exclude-extended-info is not supported for NFS shares.' )
102- else :
97+ # since get_share_properties requires share level read access, skip it, assume SMB share first
98+ results = None
99+ try :
103100 include = [] if exclude_extended_info else ["timestamps" , "Etag" , "Attributes" , "PermissionKey" ]
104- generator = client .list_directories_and_files (directory_name = directory_name , include = include ,
105- timeout = timeout , results_per_page = num_results )
106- pages = generator .by_page (continuation_token = marker )
107- results = list_generator (pages = pages , num_results = num_results )
101+ generator = client .list_directories_and_files (directory_name = directory_name , include = include ,
102+ timeout = timeout , results_per_page = num_results )
103+ pages = generator .by_page (continuation_token = marker )
104+ results = list_generator (pages = pages , num_results = num_results )
105+ except HttpResponseError as ex :
106+ if ex .error_code == "UnsupportedQueryParameter" :
107+ # try NFS share if include fails:
108+ if exclude_extended_info :
109+ logger .warning ('--exclude-extended-info is not supported for NFS shares.' )
110+ include = None
111+ generator = client .list_directories_and_files (directory_name = directory_name , include = include ,
112+ timeout = timeout , results_per_page = num_results )
113+ pages = generator .by_page (continuation_token = marker )
114+ results = list_generator (pages = pages , num_results = num_results )
115+ else :
116+ raise ex
108117
109118 if pages .continuation_token :
110119 logger .warning ('Next Marker:' )
0 commit comments