summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml2
-rw-r--r--CHANGELOG.md13
-rw-r--r--TODO3
-rw-r--r--TODO.md6
-rw-r--r--litecli/__init__.py2
-rw-r--r--litecli/liteclirc4
-rw-r--r--litecli/main.py16
-rw-r--r--litecli/packages/special/dbcommands.py2
8 files changed, 33 insertions, 15 deletions
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)