Version 1 (modified by peter, 9 years ago) (diff) |
---|
Bookmarks 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; }