/*
* Overchan Android (Meta Imageboard Client)
* Copyright (C) 2014-2016 miku-nyan <https://github.com/miku-nyan>
*
* 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 3 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, see <http://www.gnu.org/licenses/>.
*/
package nya.miku.wishmaster.chans.dobrochan;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import nya.miku.wishmaster.api.models.BoardModel;
import nya.miku.wishmaster.api.models.SimpleBoardModel;
public class DobroBoards {
private static final List<BoardModel> LIST = new ArrayList<BoardModel>();
private static final Map<String, BoardModel> MAP = new HashMap<String, BoardModel>();
private static final SimpleBoardModel[] SIMPLE_ARRAY;
static {
addBoard("b", "Братство", "Общее", true);
addBoard("u", "Университет", "Общее", false);
addBoard("rf", "Refuge", "Общее", false);
addBoard("dt", "Dates and datings", "Общее", false);
addBoard("vg", "Видеоигры", "Общее", false);
addBoard("r", "Просьбы", "Общее", false);
addBoard("cr", "Творчество", "Общее", false);
addBoard("lor", "LOR", "Общее", false);
addBoard("mu", "Музыка", "Общее", false);
addBoard("oe", "Oekaki", "Общее", false);
addBoard("s", "Li/s/p", "Общее", false);
addBoard("w", "Обои", "Общее", false);
addBoard("hr", "Высокое разрешение", "Общее", false);
addBoard("a", "Аниме", "Аниме", false);
addBoard("ma", "Манга", "Аниме", false);
addBoard("sw", "Spice & Wolf", "Аниме", false);
addBoard("hau", "When They Cry", "Аниме", false);
addBoard("azu", "Azumanga Daioh", "Аниме", false);
addBoard("tv", "Кино", "На пробу", false);
addBoard("cp", "Копипаста", "На пробу", false);
addBoard("gf", "Gif/Flash-анимация", "На пробу", false);
addBoard("bo", "Книги", "На пробу", false);
addBoard("di", "Dining room", "На пробу", false);
addBoard("vn", "Visual novels", "На пробу", false);
addBoard("ve", "Vehicles", "На пробу", false);
addBoard("wh", "Вархаммер", "На пробу", false);
addBoard("fur", "Фурри", "На пробу", false);
addBoard("to", "Touhou Project", "На пробу", false);
addBoard("bg", "Настольные игры", "На пробу", false);
addBoard("wn", "События в мире", "На пробу", false);
addBoard("slow", "Слоудоска", "На пробу", false);
addBoard("mad", "Безумие", "На пробу", false);
addBoard("d", "Обсуждение", "Доброчан", false);
addBoard("news", "Новости", "Доброчан", false);
SIMPLE_ARRAY = new SimpleBoardModel[LIST.size()];
for (int i=0; i<LIST.size(); ++i) SIMPLE_ARRAY[i] = new SimpleBoardModel(LIST.get(i));
}
static BoardModel getBoard(String boardName) {
BoardModel board = MAP.get(boardName);
if (board == null) return createDefaultBoardModel(boardName, boardName, null, false);
return board;
}
static SimpleBoardModel[] getBoardsList() {
return SIMPLE_ARRAY;
}
private static void addBoard(String name, String description, String category, boolean nsfw) {
BoardModel model = createDefaultBoardModel(name, description, category, nsfw);
LIST.add(model);
MAP.put(name, model);
}
private static BoardModel createDefaultBoardModel(String name, String description, String category, boolean nsfw) {
BoardModel model = new BoardModel();
model.chan = DobroModule.CHAN_NAME;
model.boardName = name;
model.boardDescription = description;
model.boardCategory = category;
model.nsfw = nsfw;
model.uniqueAttachmentNames = false;
model.timeZoneId = "GMT+3";
switch (name) {
case "s": model.defaultUserName = "Доброкодер"; break;
case "sw": model.defaultUserName = "Лоуренс"; break;
case "wn": model.defaultUserName = "Анонимный эксперт"; break;
case "slow": model.defaultUserName = "Добропок"; break;
case "mad": model.defaultUserName = "Экспериментатор"; break;
default: model.defaultUserName = "Анонимус"; break;
}
model.bumpLimit = 500;
model.readonlyBoard = false;
model.requiredFileForNewThread = true;
model.allowDeletePosts = true;
model.allowDeleteFiles = false;
model.allowNames = true;
model.allowSubjects = true;
model.allowSage = true;
model.allowEmails = false;
model.allowCustomMark = false;
model.allowRandomHash = true;
model.allowIcons = true;
model.iconDescriptions = DobroModule.RATINGS;
model.attachmentsMaxCount = 5;
model.attachmentsFormatFilters = null;
model.markType = BoardModel.MARK_WAKABAMARK;
model.firstPage = 0;
model.lastPage = BoardModel.LAST_PAGE_UNDEFINED;
return model;
}
}