From c1de913b7e741142353a57d8e0c671fed2222e1e Mon Sep 17 00:00:00 2001 From: Mikhail Zakharov Date: Wed, 16 Oct 2024 13:19:36 +0200 Subject: [PATCH] __repr__(), __str()__, import --- CHANGELOG.md | 5 +++++ README.md | 3 +-- tsqlike/__init__.py | 2 +- tsqlike/tsqlike.py | 11 ++++++++++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be645df..c237bc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # CHANGELOG +* **2024.10.15 Current** + * `Table.__repr__()` returns object representation to be unambiguous + * `Table.__str__()` returns string representation of data to be readable + * module import simplified: `from tsqlike import tsqlike` can be replaced by just `import tsqlike` + * **2024.10.15 tSQLike-1.1.6** * Make `Table` object `iterable`, `iterate_header` boolean controls whether header to be included or not diff --git a/README.md b/README.md index b338fcd..709e708 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ Buy Me A Coffee - ## Description **tSQLike** is a `Python3` module that is written with a hope to make tabular data process easier using SQL-like primitives. @@ -19,7 +18,7 @@ ## Usage ```Python3 -from tsqlike import tsqlike +import tsqlike t1 = tsqlike.Table(data=[['h1', 'h2', 'h3', 'h4'], ['a', 'b', 'c', 'd'], diff --git a/tsqlike/__init__.py b/tsqlike/__init__.py index ee9ea8e..019de79 100644 --- a/tsqlike/__init__.py +++ b/tsqlike/__init__.py @@ -1,4 +1,4 @@ """SQL-like interface to tabular structured data""" -from tsqlike import tsqlike from tsqlike.__about__ import __version__ +from tsqlike.tsqlike import * diff --git a/tsqlike/tsqlike.py b/tsqlike/tsqlike.py index 40e5972..2c4fc89 100644 --- a/tsqlike/tsqlike.py +++ b/tsqlike/tsqlike.py @@ -312,7 +312,16 @@ def __iter__(self): # -------------------------------------------------------------------------------------------- # def __repr__(self): - return str(self.table) + me = self.__class__.__module__ + '.' + self.__class__.__qualname__ + return str(f"{me}(data={self.export_list_lists()}, name='{self.name}', " + f"timestamp={self.timestamp}, convert_bool={self.convert_bool}, " + f"convert_numbers={self.convert_numbers}, use_none={self.use_none}, " + f"globals={self.globals}, use_shortnames={self.use_shortnames}, " + f"iterate_header={self.iterate_header})") + + # -------------------------------------------------------------------------------------------- # + def __str__(self): + return str(self.export_list_lists()) # -------------------------------------------------------------------------------------------- # def _redimension(self):