Skip to content

Commit

Permalink
Create kcsb (#54)
Browse files Browse the repository at this point in the history
* Create KustoConnectionStringBuilder
* make primary_results return always a list
* Add support to KCSB with port
  • Loading branch information
toshetah authored Aug 16, 2018
1 parent c7b8c83 commit 493322b
Show file tree
Hide file tree
Showing 11 changed files with 439 additions and 289 deletions.
33 changes: 15 additions & 18 deletions azure-kusto-data/azure/kusto/data/_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

from abc import ABCMeta, abstractmethod
import json
import dateutil.parser
from enum import Enum
import numbers
import dateutil.parser
import pandas
import six
import numbers

# Regex for TimeSpan
_TIMESPAN_PATTERN = re.compile(
Expand Down Expand Up @@ -210,13 +210,13 @@ def _status_column(self):

@property
def primary_results(self):
"""Returns primary results. If there is more than one returns a list."""
if self.tables_count == 1:
return self.tables[0]
return self.tables
primary = list(
filter(lambda x: x.table_kind == WellKnownDataSet.PrimaryResult, self.tables)
)
if len(primary) == 1:
return primary[0]

return primary

@property
Expand All @@ -230,12 +230,12 @@ def errors_count(self):
return 0
min_level = 4
errors = 0
for q in query_status_table:
if q[self._error_column] < 4:
if q[self._error_column] < min_level:
min_level = q[self._error_column]
for row in query_status_table:
if row[self._error_column] < 4:
if row[self._error_column] < min_level:
min_level = row[self._error_column]
errors = 1
elif q[self._error_column] == min_level:
elif row[self._error_column] == min_level:
errors += 1

return errors
Expand All @@ -247,13 +247,13 @@ def get_exceptions(self):
None,
)
if not query_status_table:
return
return []
result = []
for q in query_status_table:
if q[self._error_column] < 4:
for row in query_status_table:
if row[self._error_column] < 4:
result.append(
"Please provide the following data ot Kusto: CRID='{0}' Description:'{1}'".format(
q[self._crid_column], q[self._status_column]
"Please provide the following data to Kusto: CRID='{0}' Description:'{1}'".format(
row[self._crid_column], row[self._status_column]
)
)
return result
Expand All @@ -272,9 +272,6 @@ def __getitem__(self, key):
def __len__(self):
return self.tables_count

def to_dataframe(self):
return pandas.DataFrame(data=self.tables, columns=self._tables_names)


class _KustoResponseDataSetV1(_KustoResponseDataSet):

Expand Down
Loading

0 comments on commit 493322b

Please sign in to comment.