| Version 2 (modified by peter, 10 years ago) (diff) |
|---|
Bookmarks Project Wishlist
- import/export of bookmark data
- tool to scan database for broken URLs
- machine tags
- could this be useful: http://stackoverflow.com/questions/418898/sqlite-upsert-not-insert-or-replace
- suite of tools to init, start, and stop an instance
- better name
Tool suite example to create an instance of the application in the directory "foo":
$ mkdir foo
$ cd foo
$ bkmk init
# writes a basic conf.yml, creates a bookmarks.db SQLite database using bookmarks.sql
# could prompt for settings or take them on the command line
$ bkmk start
# starts up the server using starman, by default on port 5000
$ bkmk stop
# stops the running server
Deleting bookmarks
sub delete {
my $self = shift;
my $bookmark = shift;
my $sth_insert = $self->dbh->prepare('insert into deleted_bookmarks (id, dtime) values (?, ?)');
$sth_insert->execute($bookmark->id, time);
my $sth_delete = $self->dbh->prepare('delete from bookmarks where id = ?');
$sth_delete->execute($bookmark->id);
}
Paging of results (will require counting bookmark total)
sub get_count {
my $self = shift;
my $search = shift;
my ($sql, @bind) = sql_interp(
'select count(*) from resources join bookmarks on resources.uri = bookmarks.uri',
$self->_sql_where_clause($search),
);
my $sth = $self->dbh->prepare($sql);
$sth->execute(@bind);
my ($count) = $sth->fetchrow_array;
return $count;
}
