From 8b8db2aaba001182565e6fa5d77a5abbf5b0eda3 Mon Sep 17 00:00:00 2001 From: apfelmaennchen Date: Tue, 3 May 2011 21:21:06 +0000 Subject: [PATCH] YMarks: some small changes/fixes git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@7695 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/YMarks.html | 8 +++++--- htroot/api/ymarks/get_ymark.json | 5 ++++- htroot/api/ymarks/import_ymark.java | 7 +++---- htroot/yacy/ui/js/jquery-flexigrid.js | 2 +- .../de/anomic/data/ymark/YMarkAutoTagger.java | 7 +++++++ source/de/anomic/data/ymark/YMarkTables.java | 19 +++++++++++++++++++ 6 files changed, 39 insertions(+), 9 deletions(-) diff --git a/htroot/YMarks.html b/htroot/YMarks.html index cf88a8157..7c0d7b767 100644 --- a/htroot/YMarks.html +++ b/htroot/YMarks.html @@ -25,8 +25,9 @@ {display: 'Public', name : 'public', width : 25, sortable : true, align: 'center'}, {display: 'Title', name : 'title', width : 400, sortable : true, align: 'left'}, {display: 'Tags', name : 'tags', width : 160, sortable : false, align: 'left'}, - {display: 'Folders', name : 'folders', width : 160, sortable : false, align: 'left', hide: false}, - {display: 'Date', name : 'date', width : 100, sortable : true, align: 'left'} + {display: 'Folders', name : 'folders', width : 160, sortable : true, align: 'left', hide: false}, + {display: 'Date added', name : 'date_added', width : 100, sortable : true, align: 'left'}, + {display: 'Date visited', name : 'date_visited', width : 100, sortable : true, align: 'left'} ], buttons: [ {name: 'Add', bclass: 'bookmark', onpress: bm_action}, @@ -96,7 +97,8 @@ var qtag = $(this).text().replace(/\s+/g,""); $('#ymarks').flexOptions({ query: qtag, - qtype: "_tags" + qtype: "_tags", + newp: 1 }); $('#ymarks').flexReload(); }); diff --git a/htroot/api/ymarks/get_ymark.json b/htroot/api/ymarks/get_ymark.json index 0328725bb..30a080014 100644 --- a/htroot/api/ymarks/get_ymark.json +++ b/htroot/api/ymarks/get_ymark.json @@ -9,7 +9,10 @@ rows: [ "

#[title]#

#[desc]#

#[url]#", "

#[tags]#

", "

#[folders]#

", -"

#[date_added]#

"]}#[comma]# +"

#[date_added]#

", +"

#[date_modified]#

", +"

#[date_visited]#

" +]}#[comma]# #{/json}# ] } \ No newline at end of file diff --git a/htroot/api/ymarks/import_ymark.java b/htroot/api/ymarks/import_ymark.java index 00a13f60a..8bebe3962 100644 --- a/htroot/api/ymarks/import_ymark.java +++ b/htroot/api/ymarks/import_ymark.java @@ -47,12 +47,11 @@ public class import_ymark { boolean empty = false; if(post.containsKey("autotag") && !post.get("autotag", "off").equals("off")) { - if(post.get("autotag").equals("merge")) { - autotag = true; + autotag = true; + if(post.get("autotag").equals("merge")) { merge = true; } if(post.get("autotag").equals("empty")) { - autotag = true; empty = true; } t = new Thread(new YMarkAutoTagger(autoTaggingQueue, sb.loader, sb.tables.bookmarks, bmk_user, merge),"YMarks - autoTagger"); @@ -154,7 +153,7 @@ public class import_ymark { try { String url = bmk.get(YMarkEntry.BOOKMARK.URL.key()); // other protocols could cause problems - if(url.startsWith("http")) { + if(url != null && url.startsWith("http")) { ymarks.addBookmark(bmk_user, bmk, true, true); if(autotag) { if(!empty) { diff --git a/htroot/yacy/ui/js/jquery-flexigrid.js b/htroot/yacy/ui/js/jquery-flexigrid.js index d48a8edca..f5813c40a 100644 --- a/htroot/yacy/ui/js/jquery-flexigrid.js +++ b/htroot/yacy/ui/js/jquery-flexigrid.js @@ -594,7 +594,7 @@ if ($.browser.opera) $(t).css('visibility','hidden'); - if (!p.newp) p.newp = 1; + if (!p.newp) p.newp = 1; if (p.page>p.pages) p.page = p.pages; //var param = {page:p.newp, rp: p.rp, sortname: p.sortname, sortorder: p.sortorder, query: p.query, qtype: p.qtype}; diff --git a/source/de/anomic/data/ymark/YMarkAutoTagger.java b/source/de/anomic/data/ymark/YMarkAutoTagger.java index 1e19b2625..986655899 100644 --- a/source/de/anomic/data/ymark/YMarkAutoTagger.java +++ b/source/de/anomic/data/ymark/YMarkAutoTagger.java @@ -65,6 +65,13 @@ public class YMarkAutoTagger implements Runnable, Thread.UncaughtExceptionHandle response = loader.load(loader.request(uri, true, false), CrawlProfile.CacheStrategy.IFEXIST, Long.MAX_VALUE, true); } catch (IOException e) { Log.logWarning(YMarkTables.BOOKMARKS_LOG, "loadDocument failed due to IOException for url: "+url); + try { + this.ymarks.addFolder(this.bmk_user, url, "/IOExceptions"); + } catch (IOException e1) { + Log.logException(e1); + } catch (RowSpaceExceededException e1) { + Log.logException(e1); + } return null; } try { diff --git a/source/de/anomic/data/ymark/YMarkTables.java b/source/de/anomic/data/ymark/YMarkTables.java index 76338a53d..22d3585b3 100644 --- a/source/de/anomic/data/ymark/YMarkTables.java +++ b/source/de/anomic/data/ymark/YMarkTables.java @@ -237,6 +237,25 @@ public class YMarkTables { } } + public void addFolder(final String bmk_user, final String url, final String folder) throws IOException, RowSpaceExceededException { + if(!folder.isEmpty()) { + // do not set defaults as we only want to add a folder + final YMarkEntry bmk = new YMarkEntry(false); + bmk.put(YMarkEntry.BOOKMARK.URL.key(), url); + bmk.put(YMarkEntry.BOOKMARK.FOLDERS.key(), folder); + this.addBookmark(bmk_user, bmk, true, true); + } + } + + public void visited(final String bmk_user, final String url) throws IOException, RowSpaceExceededException { + // do not set defaults + final YMarkEntry bmk = new YMarkEntry(false); + bmk.put(YMarkEntry.BOOKMARK.URL.key(), url); + bmk.put(YMarkEntry.BOOKMARK.DATE_VISITED.key(), (new YMarkDate()).toString()); + this.addBookmark(bmk_user, bmk, true, true); + } + + public void addBookmark(final String bmk_user, final YMarkEntry bmk, final boolean mergeTags, final boolean mergeFolders) throws IOException, RowSpaceExceededException { final String bmk_table = TABLES.BOOKMARKS.tablename(bmk_user); final String date = String.valueOf(System.currentTimeMillis());