Merge commit '8a1cae77d279cc246a68109f6178b2bb05e7471f'
[fanfix.git] / src / be / nikiroo / fanfix / searchable / Fanfiction.java
index d25153eb28f6921ea7c4bc64410f384b6e812dd7..c2dfd5d5714a8f4c5e388aeccf7a8cd51053f303 100644 (file)
@@ -149,15 +149,6 @@ class Fanfiction extends BasicSearchable {
                return getStories(url, null, null);
        }
 
-       @Override
-       public int searchPages(String search) throws IOException {
-               String encoded = URLEncoder.encode(search.toLowerCase(), "utf-8");
-               String url = BASE_URL + "search/?ready=1&type=story&keywords="
-                               + encoded;
-
-               return getPages(load(url, false));
-       }
-
        @Override
        public List<MetaData> search(SearchableTag tag, int page)
                        throws IOException {
@@ -197,6 +188,25 @@ class Fanfiction extends BasicSearchable {
                return metas;
        }
 
+       @Override
+       public int searchPages(String search) throws IOException {
+               String encoded = URLEncoder.encode(search.toLowerCase(), "utf-8");
+               String url = BASE_URL + "search/?ready=1&type=story&keywords="
+                               + encoded;
+
+               return getPages(load(url, false));
+       }
+
+       @Override
+       public int searchPages(SearchableTag tag) throws IOException {
+               if (tag.isLeaf()) {
+                       String url = tag.getId();
+                       return getPages(load(url, false));
+               }
+
+               return 0;
+       }
+
        /**
         * Return the number of pages in this stories result listing.
         * 
@@ -260,12 +270,15 @@ class Fanfiction extends BasicSearchable {
                        MetaData meta = new MetaData();
                        meta.setImageDocument(false);
                        meta.setSource(getType().getSourceName());
+                       meta.setPublisher(getType().getSourceName());
+                       meta.setType(getType().toString());
 
                        // Title, URL, Cover
                        Element stitle = story.getElementsByClass("stitle").first();
                        if (stitle != null) {
                                meta.setTitle(stitle.text());
                                meta.setUrl(stitle.absUrl("href"));
+                               meta.setUuid(meta.getUrl());
                                Element cover = stitle.getElementsByTag("img").first();
                                if (cover != null) {
                                        // note: see data-original if needed?