def available_params(self):
        """
            Merge parameter values into a dictionary of available parameters

        :param param_values: A dictionary of Query param values.
        :return: A merged dictionary of parameter names and values. Values of non-existent parameters are removed.
        """

        p = extract_params(self.sql)
        if self.params:
            shared_dict_update(p, self.params)
        return p
Exemple #2
0
    def available_params(self):
        """
            Merge parameter values into a dictionary of available parameters

        :param param_values: A dictionary of Query param values.
        :return: A merged dictionary of parameter names and values. Values of non-existent parameters are removed.
        """

        p = extract_params(self.sql)
        if self.params:
            shared_dict_update(p, self.params)
        return p
Exemple #3
0
 def get_context_data(self, **kwargs):
     context = super(ReportsDetailView, self).get_context_data(**kwargs)
     res = self.report.execute_query_only()
     context['query'] = {
         'id': self.report.id,
         'title': self.report.title,
         'description': self.report.description,
         'params': extract_params(self.report.sql),
     }
     context.update({
         'html_filename':
         self.get_filename(self.report.title) +
         datetime.datetime.now().strftime('%Y%m%d') + '.html',
         'tasks_enabled':
         ENABLE_TASKS,
         'shared':
         self.report.shared,
         'form':
         None,
         'message':
         None,
         'error':
         None,
         'rows':
         EXPLORER_DEFAULT_ROWS,
         'data':
         res.data,
         'headers':
         res.headers,
         'total_rows':
         len(res.data),
         'duration':
         res.duration,
         'has_stats':
         len([h for h in res.headers if h.summary]),
         'no_jquery':
         True,
         'snapshots':
         self.report.snapshots,
         'ql_id':
         None,
         'unsafe_rendering':
         UNSAFE_RENDERING,
     })
     return context
Exemple #4
0
 def get_context_data(self, **kwargs):
     context = super(ReportsDetailView, self).get_context_data(**kwargs)
     self.report.execute_query_only()
     context["query"] = {
         "id": self.report.id,
         "title": self.report.title,
         "description": self.report.description,
         "params": extract_params(self.report.sql),
     }
     filename = self.get_filename(
         self.report.title) + datetime.datetime.now().strftime("%Y%m%d")
     context.update({
         "html_filename": filename + ".html",
         "pdf_filename": filename + ".pdf",
         "excel_filename": filename + ".xlsx",
         "no_jquery": True,
         "unsafe_rendering": UNSAFE_RENDERING,
     })
     return context
Exemple #5
0
 def get_context_data(self, **kwargs):
     context = super(ReportsDetailView, self).get_context_data(**kwargs)
     res = self.report.execute_query_only()
     context['query'] = {
         'id': self.report.id,
         'title': self.report.title,
         'description': self.report.description,
         'params': extract_params(self.report.sql),
     }
     filename = (self.get_filename(self.report.title) +
                 datetime.datetime.now().strftime('%Y%m%d'))
     context.update({
         'html_filename': filename + '.html',
         'pdf_filename': filename + '.pdf',
         'excel_filename': filename + '.xlsx',
         'no_jquery': True,
         'unsafe_rendering': UNSAFE_RENDERING,
     })
     return context
Exemple #6
0
 def test_extracting_params(self):
     sql = 'please swap $$this$$'
     expected = {'this': ''}
     self.assertEqual(extract_params(sql), expected)
Exemple #7
0
 def _assertSwap(self, tuple):
     self.assertEqual(extract_params(tuple[0]), tuple[1])
 def _assertSwap(self, tuple):
     self.assertEqual(extract_params(tuple[0]), tuple[1])
 def available_params(self):
     p = extract_params(self.sql)
     if self.params:
         shared_dict_update(p, self.params)
     return p
Exemple #10
0
 def available_params(self, param_values=None):
     p = extract_params(self.sql)
     if param_values:
         shared_dict_update(p, param_values)
     return p
 def test_extracting_params(self):
     sql = 'please swap $$this$$'
     expected = {'this': ''}
     self.assertEqual(extract_params(sql), expected)
Exemple #12
0
 def available_params(self, param_values=None):
     p = extract_params(self.sql)
     if param_values:
         shared_dict_update(p, param_values)
     return p
 def test_extracting_params(self):
     sql = "please swap $$this$$"
     expected = {"this": ""}
     self.assertEqual(extract_params(sql), expected)