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 {