You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yacy_search_server/htroot/xml/blacklists_p.java

88 lines
3.3 KiB

// /xml/blacklists_p.java
// -------------------------------
// (C) 2006 Alexander Schier
// part of YaCy
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
package xml;
import java.io.File;
import java.util.ArrayList;
import de.anomic.data.listManager;
import de.anomic.http.httpHeader;
import de.anomic.plasma.urlPattern.abstractURLPattern;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
public class blacklists_p {
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {
serverObjects prop = new serverObjects();
listManager.listsPath = new File(listManager.switchboard.getRootPath(),listManager.switchboard.getConfig("listManager.listsPath", "DATA/LISTS"));
String[] dirlist = listManager.getDirListing(listManager.listsPath);
int blacklistCount=0;
ArrayList list;
int count;
if (dirlist != null) {
for (int i = 0; i <= dirlist.length - 1; i++) {
prop.put("lists_" + blacklistCount + "_name", dirlist[i]);
if (listManager.listSetContains("BlackLists.Shared", dirlist[i])) {
prop.put("lists_" + blacklistCount + "_shared", 1);
} else {
prop.put("lists_" + blacklistCount + "_shared", 0);
}
String[] types = abstractURLPattern.BLACKLIST_TYPES_STRING.split(",");
for (int j=0; j<types.length; j++) {
prop.put("lists_" + blacklistCount + "_types_" + j + "_name", types[j]);
prop.put("lists_" + blacklistCount + "_types_" + j + "_value",
listManager.listSetContains(types[j] + ".Blacklist", dirlist[i]) ? 1 : 0);
}
prop.put("lists_" + blacklistCount + "_types", types.length);
list = listManager.getListArray(new File(listManager.listsPath, dirlist[i]));
count=0;
for (int j=0;j<list.size();++j){
String nextEntry = (String)list.get(j);
if (nextEntry.length() == 0) continue;
if (nextEntry.startsWith("#")) continue;
prop.put("lists_" + blacklistCount + "_items_" + count + "_item", nextEntry);
count++;
}
prop.put("lists_" + blacklistCount + "_items", count);
blacklistCount++;
}
}
prop.put("lists", blacklistCount);
// return rewrite properties
return prop;
}
}