Răsfoiți Sursa

Update client.py

Add method get_store_serv(self, remote_file_id). client can get storage info by file_id with this method.
Leo Tse 10 ani în urmă
părinte
comite
dcebd619df
1 a modificat fișierele cu 15 adăugiri și 0 ștergeri
  1. 15 0
      fdfs_client/client.py

+ 15 - 0
fdfs_client/client.py

@@ -63,6 +63,21 @@ class Fdfs_client(object):
             self.storages[(store_serv.ip_addr, store_serv.port)] = store
         return store
 
+    def get_store_serv(self, remote_file_id):
+        '''
+        Get store server info by remote_file_id.
+        @author: LeoTse
+        @param remote_file_id: string, file_id of file that is on storage server
+        @return Storage_server object
+        '''
+        tmp = split_remote_fileid(remote_file_id)
+        if not tmp:
+            raise DataError('[-] Error: remote_file_id is invalid.(in delete file)')
+        group_name, remote_filename = tmp
+        tc = Tracker_client(self.tracker_pool)
+        store_serv = tc.tracker_query_storage_update(group_name, remote_filename)
+        return store_serv
+
     def upload_by_filename(self, filename, meta_dict = None):
         '''
         Upload a file to Storage server.