Преглед изворни кода

HUE-5296 [fb] Deleting a file from File Browser should determine the trash dir via getTrashRoots

Jenny Kim пре 9 година
родитељ
комит
07e78ae
1 измењених фајлова са 13 додато и 1 уклоњено
  1. 13 1
      desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

+ 13 - 1
desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

@@ -163,7 +163,19 @@ class WebHdfs(Hdfs):
 
   @property
   def trash_path(self):
-    return self.join(self.get_home_dir(), '.Trash')
+    trash_path = self.join(self.get_home_dir(), '.Trash')
+    try:
+      path = '/'
+      params = self._getparams()
+      params['op'] = 'GETTRASHROOT'
+      json = self._root.get(path, params)
+      trash_path = json['Path']
+    except WebHdfsException, e:
+      if 'IllegalArgumentException' in e.message:
+        LOG.warn('WebHDFS operation GETTRASHROOT is not implemented, returning default trash path: %s' % trash_path)
+      else:
+        raise e
+    return trash_path
 
   @property
   def current_trash_path(self):