浏览代码

[notebook] Make progress and jobs methods public

Jenny Kim 10 年之前
父节点
当前提交
a87f23a

+ 2 - 2
desktop/libs/notebook/src/notebook/api.py

@@ -176,11 +176,11 @@ def get_logs(request):
 
   db = get_api(request.user, snippet, request.fs, request.jt)
   response['logs'] = db.get_log(notebook, snippet, startFrom=startFrom, size=size)
-  response['progress'] = db._progress(snippet, response['logs']) if snippet['status'] != 'available' and snippet['status'] != 'success' else 100
+  response['progress'] = db.progress(snippet, response['logs']) if snippet['status'] != 'available' and snippet['status'] != 'success' else 100
   response['job_urls'] = [{
       'name': job,
       'url': reverse('jobbrowser.views.single_job', kwargs={'job': job})
-    } for job in db._get_jobs(response['logs'])]
+    } for job in db.get_jobs(response['logs'])]
   response['status'] = 0
 
   return JsonResponse(response)

+ 7 - 1
desktop/libs/notebook/src/notebook/connectors/base.py

@@ -45,7 +45,7 @@ class QueryError(Exception):
     return force_unicode(str(self.message))
 
 
-class Notebook():
+class Notebook(object):
 
   def __init__(self, document=None):
     self.document = None
@@ -146,3 +146,9 @@ class Api(object):
 
   def autocomplete(self, database=None, table=None, column=None, nested=None):
     pass
+
+  def progress(self, snippet, logs=None):
+    return 50
+
+  def get_jobs(self, log):
+    return []

+ 2 - 2
desktop/libs/notebook/src/notebook/connectors/hiveserver2.py

@@ -152,7 +152,7 @@ class HS2Api(Api):
         message = e.message
       raise PopupException(message, detail='')
 
-  def _progress(self, snippet, logs):
+  def progress(self, snippet, logs):
     if snippet['type'] == 'hive':
       match = re.search('Total jobs = (\d+)', logs, re.MULTILINE)
       total = (int(match.group(1)) if match else 1) * 2
@@ -181,5 +181,5 @@ class HS2Api(Api):
     else:
       return {'status': -1}  # skipped
 
-  def _get_jobs(self, log):
+  def get_jobs(self, log):
     return _parse_out_hadoop_jobs(log)

+ 4 - 4
desktop/libs/notebook/src/notebook/connectors/jdbc.py

@@ -97,12 +97,12 @@ class JdbcApi(Api):
   def download(self, notebook, snippet, format):
     raise PopupException('Downloading is not supported yet')
 
-  def _get_jobs(self, logs):
-    return []
-
-  def _progress(self, snippet, logs):
+  def progress(self, snippet, logs):
     return 50
 
+  def get_jobs(self, logs):
+    return []
+
   @query_error_handler
   def close_statement(self, snippet):
     return {'status': -1}

+ 3 - 0
desktop/libs/notebook/src/notebook/connectors/mysql.py

@@ -79,3 +79,6 @@ class MySqlApi(Api):
   @query_error_handler
   def close_statement(self, snippet):
     return {'status': -1}
+
+  def get_jobs(self, logs):
+    return []

+ 2 - 2
desktop/libs/notebook/src/notebook/connectors/pig_batch.py

@@ -108,7 +108,7 @@ class PigApi(Api):
 
     return logs
 
-  def _progress(self, snippet, logs):
+  def progress(self, snippet, logs):
     job_id = snippet['result']['handle']['id']
 
     oozie_workflow = check_job_access_permission(MockRequest(self.user, self.fs, self.jt), job_id)
@@ -120,7 +120,7 @@ class PigApi(Api):
   def close_session(self, session):
     pass
 
-  def _get_jobs(self, log):
+  def get_jobs(self, log):
     return []
 
 

+ 2 - 2
desktop/libs/notebook/src/notebook/connectors/spark_batch.py

@@ -86,8 +86,8 @@ class SparkBatchApi(Api):
     # Batch jobs do not support interruption, so close statement instead.
     return self.close_statement(snippet)
 
-  def _progress(self, snippet, logs):
+  def progress(self, snippet, logs):
     return 50
 
-  def _get_jobs(self, log):
+  def get_jobs(self, log):
     return []

+ 2 - 2
desktop/libs/notebook/src/notebook/connectors/spark_shell.py

@@ -193,7 +193,7 @@ class SparkApi(Api):
 
     return api.get_log(session['id'], startFrom=startFrom, size=size)
 
-  def _progress(self, snippet, logs):
+  def progress(self, snippet, logs):
     return 50
 
   def close_statement(self, snippet): # Individual statements cannot be closed
@@ -215,5 +215,5 @@ class SparkApi(Api):
     else:
       return {'status': -1}
 
-  def _get_jobs(self, log):
+  def get_jobs(self, log):
     return []