From fbd24c2d8424fdd908f10963d20e580ec90bccea Mon Sep 17 00:00:00 2001 From: orbiter Date: Mon, 4 Jan 2010 16:07:31 +0000 Subject: [PATCH] integrated the torrent parser git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6547 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- source/net/yacy/document/TextParser.java | 3 +++ source/net/yacy/document/parser/torrentParser.java | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source/net/yacy/document/TextParser.java b/source/net/yacy/document/TextParser.java index 8c3b06dc1..bb5e7737c 100644 --- a/source/net/yacy/document/TextParser.java +++ b/source/net/yacy/document/TextParser.java @@ -56,6 +56,7 @@ import net.yacy.document.parser.rtfParser; import net.yacy.document.parser.sevenzipParser; import net.yacy.document.parser.swfParser; import net.yacy.document.parser.tarParser; +import net.yacy.document.parser.torrentParser; import net.yacy.document.parser.vcfParser; import net.yacy.document.parser.vsdParser; import net.yacy.document.parser.xlsParser; @@ -101,6 +102,7 @@ public final class TextParser { initParser(new sevenzipParser()); initParser(new swfParser()); initParser(new tarParser()); + initParser(new torrentParser()); initParser(new vcfParser()); initParser(new vsdParser()); initParser(new xlsParser()); @@ -109,6 +111,7 @@ public final class TextParser { public static Set idioms() { Set c = new HashSet(); + c.addAll(ext2parser.values()); c.addAll(mime2parser.values()); return c; } diff --git a/source/net/yacy/document/parser/torrentParser.java b/source/net/yacy/document/parser/torrentParser.java index 74b36db3b..cce24c27e 100644 --- a/source/net/yacy/document/parser/torrentParser.java +++ b/source/net/yacy/document/parser/torrentParser.java @@ -59,8 +59,9 @@ public class torrentParser extends AbstractParser implements Idiom { public static final Set SUPPORTED_EXTENSIONS = new HashSet(); static { SUPPORTED_EXTENSIONS.add("torrent"); + SUPPORTED_MIME_TYPES.add("application/x-bittorrent"); } - + public torrentParser() { super("Torrent Metadata Parser"); } @@ -92,7 +93,8 @@ public class torrentParser extends AbstractParser implements Idiom { List filelist = info.get("files").getList(); StringBuilder filenames = new StringBuilder(40 * filelist.size()); for (BObject fo: filelist) { - filenames.append(fo.getMap().get("path").getList().get(0).toString()).append(" "); + List l = fo.getMap().get("path").getList(); // one file may have several names + for (BObject fl: l) filenames.append(fl.toString()).append(" "); } String name = info.get("name").getString(); try {