// rdrssschemas.cpp // // RSS schema definitions for Rivendell // // (C) Copyright 2020 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as // published by the Free Software Foundation. // // 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., 675 Mass Ave, Cambridge, MA 02139, USA. // #include "rdrssschemas.h" RDRssSchemas::RDRssSchemas() { // // Names // c_names.push_back("Custom"); // CustomSchema c_names.push_back("RSS 2.0.2"); // Rss202Schema c_names.push_back("Apple iTunes"); // AppleSchema c_names.push_back("Apple iTunes + Superfeed"); // AppleSuperfeedSchema // // Minimum Images Sizes // c_minimum_image_sizes.push_back(QSize(0,0)); // CustomSchema c_minimum_image_sizes.push_back(QSize(88,31)); // Rss202Schema c_minimum_image_sizes.push_back(QSize(1400,1400)); // AppleSchema c_minimum_image_sizes.push_back(QSize(1400,1400)); // AppleSuperfeedSchema // // Maximum Image Sizes // c_maximum_image_sizes.push_back(QSize(0,0)); // CustomSchema c_maximum_image_sizes.push_back(QSize(144,400)); // Rss202Schema c_maximum_image_sizes.push_back(QSize(3000,3000)); // AppleSchema c_maximum_image_sizes.push_back(QSize(3000,3000)); // AppleSuperfeedSchema // // Header Templates // // CustomSchema c_header_templates.push_back(""); // Rss202Schema c_header_templates.push_back("\n"); // AppleSchema c_header_templates.push_back("\n"); // AppleSuperfeedSchema c_header_templates.push_back("\n"); // // Channel Templates // // CustomSchema c_channel_templates.push_back(""); // Rs202Schema c_channel_templates.push_back("%TITLE%\n%DESCRIPTION%\n%CATEGORY%\n%LINK%\n%LANGUAGE%\n%COPYRIGHT%\n%BUILD_DATE%\n%PUBLISH_DATE%\n%EDITOR%\n%WEBMASTER%\n%GENERATOR%\n\n %IMAGE_URL%\n %TITLE%\n %LINK%\n %IMAGE_WIDTH%\n %IMAGE_HEIGHT%\n %IMAGE_DESCRIPTION%\n\n"); // AppleSchema c_channel_templates.push_back("%TITLE%\n%DESCRIPTION%\n%DESCRIPTION%\n%CATEGORY%\n%LINK%\n%LANGUAGE%\n%COPYRIGHT%\n%BUILD_DATE%\n%PUBLISH_DATE%\n%EDITOR%\n%WEBMASTER%\n%GENERATOR%\n\n %IMAGE_URL%\n %TITLE%\n %LINK%\n %IMAGE_WIDTH%\n %IMAGE_HEIGHT%\n %IMAGE_DESCRIPTION%\n\n\n%AUTHOR%\nepisodic\n\n %OWNER_NAME%\n %OWNER_EMAIL%\n\n\n\n%EXPLICIT%"); // AppleSuperfeedSchema c_channel_templates.push_back("%TITLE%\n%DESCRIPTION%\n%DESCRIPTION%\n%CATEGORY%\n%LINK%\n%LANGUAGE%\n%COPYRIGHT%\n%BUILD_DATE%\n%PUBLISH_DATE%\n%EDITOR%\n%WEBMASTER%\n%GENERATOR%\n\n %IMAGE_URL%\n %TITLE%\n %LINK%\n %IMAGE_WIDTH%\n %IMAGE_HEIGHT%\n %IMAGE_DESCRIPTION%\n\n\n%AUTHOR%\nepisodic\n\n %OWNER_NAME%\n %OWNER_EMAIL%\n\n\n\n%EXPLICIT%"); // // Item Image Support // // CustomSchema c_supports_item_images.push_back(true); // Rss202Schema c_supports_item_images.push_back(false); // AppleSchema c_supports_item_images.push_back(true); // AppleSuperfeedSchema c_supports_item_images.push_back(true); // // Item Templates // // CustomSchema c_item_templates.push_back(""); // Rss202Schema c_item_templates.push_back("%ITEM_TITLE%\n%ITEM_LINK%\n%ITEM_GUID%\n%ITEM_DESCRIPTION%\n%ITEM_AUTHOR%\n%ITEM_COMMENTS%\n%ITEM_SOURCE_TEXT%\n\n%ITEM_CATEGORY%\n%ITEM_PUBLISH_DATE%"); // AppleSchema c_item_templates.push_back("%ITEM_TITLE%\n%ITEM_TITLE%\n%ITEM_LINK%\n%ITEM_GUID%\n%ITEM_DESCRIPTION%\n%ITEM_DESCRIPTION%\n%ITEM_AUTHOR%\n%ITEM_AUTHOR%\n%ITEM_COMMENTS%\n%ITEM_SOURCE_TEXT%\n\n%ITEM_CATEGORY%\n%ITEM_PUBLISH_DATE%\n%ITEM_AUDIO_SECONDS%\n\n%ITEM_EXPLICIT%"); // AppleSuperfeedSchema c_item_templates.push_back("%ITEM_CHANNEL_TITLE%\n%ITEM_CHANNEL_DESCRIPTION%\n%ITEM_TITLE%\n%ITEM_TITLE%\n%ITEM_LINK%\n%ITEM_GUID%\n%ITEM_DESCRIPTION%\n%ITEM_DESCRIPTION%\n%ITEM_AUTHOR%\n%ITEM_AUTHOR%\n%ITEM_COMMENTS%\n%ITEM_SOURCE_TEXT%\n\n%ITEM_CATEGORY%\n%ITEM_PUBLISH_DATE%\n%ITEM_AUDIO_SECONDS%\n\n%ITEM_EXPLICIT%"); } QString RDRssSchemas::name(RssSchema schema) const { return c_names.at(schema); } QSize RDRssSchemas::minimumImageSize(RssSchema schema) const { return c_minimum_image_sizes.at(schema); } QSize RDRssSchemas::maximumImageSize(RssSchema schema) const { return c_maximum_image_sizes.at(schema); } QString RDRssSchemas::headerTemplate(RssSchema schema) const { return c_header_templates.at(schema); } QString RDRssSchemas::channelTemplate(RssSchema schema) const { return c_channel_templates.at(schema); } QString RDRssSchemas::itemTemplate(RssSchema schema) const { return c_item_templates.at(schema); } bool RDRssSchemas::supportsItemImages(RssSchema schema) const { return c_supports_item_images.at(schema); }