From 72644b6e3fc78ecf55b386854943ec3ad39f97bd Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sun, 5 Aug 2018 18:42:43 -0700 Subject: [PATCH] Support method chaining, added .last_id for accessing lastrowid Also shipping as 0.5 --- setup.py | 2 +- sqlite_utils/db.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index a044e5f..8230168 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages import io import os -VERSION = "0.4" +VERSION = "0.5" def get_long_description(): diff --git a/sqlite_utils/db.py b/sqlite_utils/db.py index ed2f267..88a676a 100644 --- a/sqlite_utils/db.py +++ b/sqlite_utils/db.py @@ -164,6 +164,7 @@ class Table: columns = {name: value for (name, value) in columns.items()} self.db.create_table(self.name, columns, pk=pk, foreign_keys=foreign_keys) self.exists = True + return self def create_index(self, columns, index_name=None): if index_name is None: @@ -177,6 +178,7 @@ class Table: index_name=index_name, table_name=self.name, columns=", ".join(columns) ) self.db.conn.execute(sql) + return self def drop(self): return self.db.conn.execute("DROP TABLE {}".format(self.name)) @@ -192,9 +194,9 @@ class Table: other_table=other_table, other_column=other_column, ) - result = self.db.conn.execute(sql) + self.db.conn.execute(sql) self.db.conn.commit() - return result + return self def enable_fts(self, columns): "Enables FTS on the specified columns" @@ -208,6 +210,7 @@ class Table: ) self.db.conn.executescript(sql) self.populate_fts(columns) + return self def populate_fts(self, columns): sql = """ @@ -217,6 +220,7 @@ class Table: table=self.name, columns=", ".join(columns) ) self.db.conn.executescript(sql) + return self def detect_column_types(self, records): all_column_types = {} @@ -294,7 +298,8 @@ class Table: ) result = self.db.conn.execute(sql, values) self.db.conn.commit() - return result + self.last_id = result.lastrowid + return self def upsert(self, record, pk=None, foreign_keys=None): return self.insert(record, pk=pk, foreign_keys=foreign_keys, upsert=True)