From 78767acb58a6a2e68bd47f77de52f403745ac40b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 12:40:04 +0200 Subject: Merging upstream version 1.11.0. Signed-off-by: Daniel Baumann --- .github/workflows/ci.yml | 2 +- CHANGELOG.md | 13 +++++++++++++ TODO | 3 --- TODO.md | 6 ++++++ litecli/__init__.py | 2 +- litecli/liteclirc | 4 ++-- litecli/main.py | 16 +++++++++------- litecli/packages/special/dbcommands.py | 2 +- 8 files changed, 33 insertions(+), 15 deletions(-) delete mode 100644 TODO create mode 100644 TODO.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ee36cf..d4de9d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 diff --git a/CHANGELOG.md b/CHANGELOG.md index edee1e9..9530cd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## 1.11.0 - 2024-05-03 + +### Improvements + +* When an empty `\d` is invoked the list of tables are returned instead of an error. +* Show SQLite version at startup. + + +### Bug Fixes + +* Support a single item in the startup commands in the config. (bug #176) + + ## 1.10.1 - 2024-3-23 ### Bug Fixes diff --git a/TODO b/TODO deleted file mode 100644 index 7c854dc..0000000 --- a/TODO +++ /dev/null @@ -1,3 +0,0 @@ -* [] Sort by frecency. -* [] Add completions when an attach database command is run. -* [] Add behave tests. diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..58e2ebc --- /dev/null +++ b/TODO.md @@ -0,0 +1,6 @@ +* [ ] Change to use ruff +* [ ] Automate the release process via GH actions. [Article](https://simonwillison.net/2024/Jan/16/python-lib-pypi/) + +* [] Sort by frecency. +* [] Add completions when an attach database command is run. +* [] Add behave tests. diff --git a/litecli/__init__.py b/litecli/__init__.py index a0865bb..f84c53b 100644 --- a/litecli/__init__.py +++ b/litecli/__init__.py @@ -1 +1 @@ -__version__ = "1.10.1" +__version__ = "1.11.0" diff --git a/litecli/liteclirc b/litecli/liteclirc index 924b585..1184278 100644 --- a/litecli/liteclirc +++ b/litecli/liteclirc @@ -122,7 +122,7 @@ output.even-row = "" # Startup commands # litecli commands or sqlite commands to be executed on startup. -# some of them will require you to have a database attached. +# some of them will require you to have a database attached. # they will be executed in the same order as they appear in the list. [startup_commands] -#commands = ".tables", "pragma foreign_keys = ON;" \ No newline at end of file +#commands = ".tables", "pragma foreign_keys = ON;" diff --git a/litecli/main.py b/litecli/main.py index 268ede2..ebbc5ba 100644 --- a/litecli/main.py +++ b/litecli/main.py @@ -10,7 +10,7 @@ from time import time from datetime import datetime from io import open from collections import namedtuple -from sqlite3 import OperationalError +from sqlite3 import OperationalError, sqlite_version import shutil from cli_helpers.tabular_output import TabularOutputFormatter @@ -380,10 +380,8 @@ class LiteCli(object): key_bindings = cli_bindings(self) if not self.less_chatty: - print("Version:", __version__) - print("Mail: https://groups.google.com/forum/#!forum/litecli-users") + print(f"LiteCli: {__version__} (SQLite: {sqlite_version})") print("GitHub: https://github.com/dbcli/litecli") - # print("Home: https://litecli.com") def get_message(): prompt = self.get_prompt(self.prompt_format) @@ -588,7 +586,11 @@ class LiteCli(object): def startup_commands(): if self.startup_commands: if "commands" in self.startup_commands: - for command in self.startup_commands["commands"]: + if isinstance(self.startup_commands["commands"], str): + commands = [self.startup_commands["commands"]] + else: + commands = self.startup_commands["commands"] + for command in commands: try: res = sqlexecute.run(command) except Exception as e: @@ -819,7 +821,7 @@ class LiteCli(object): headers, format_name="vertical" if expanded else None, column_types=column_types, - **output_kwargs + **output_kwargs, ) if isinstance(formatted, (text_type)): @@ -841,7 +843,7 @@ class LiteCli(object): headers, format_name="vertical", column_types=column_types, - **output_kwargs + **output_kwargs, ) if isinstance(formatted, (text_type)): formatted = iter(formatted.splitlines()) diff --git a/litecli/packages/special/dbcommands.py b/litecli/packages/special/dbcommands.py index dec3507..687c9a4 100644 --- a/litecli/packages/special/dbcommands.py +++ b/litecli/packages/special/dbcommands.py @@ -224,7 +224,7 @@ def describe(cur, arg, **_): arg ) else: - raise ArgumentMissing("Table name required.") + return list_tables(cur) log.debug(query) cur.execute(query) -- cgit v1.2.3