From c2f9bd52fb790e4ad70f24c54150ad5b9ed103d4 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Mon, 15 May 2023 14:58:08 -0400 Subject: [PATCH] 2023-05-15 Fred Gleason * Added 'View Raw XML [Front]' and 'View Raw XML [Back]' items to the right-click menu in the 'Rivendell Feed List' dialog in rdadmin(1). Signed-off-by: Fred Gleason --- ChangeLog | 4 +++ rdadmin/feedlistview.cpp | 58 ++++++++++++++++++++++++++++++++++++++++ rdadmin/feedlistview.h | 4 +++ 3 files changed, 66 insertions(+) diff --git a/ChangeLog b/ChangeLog index e0391c21..d2990eac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24088,3 +24088,7 @@ 2023-05-15 Fred Gleason * Fixed a regression in rdcastmanager(1) which broke display of superfeed items in the 'Podcast Item List' dialog. +2023-05-15 Fred Gleason + * Added 'View Raw XML [Front]' and 'View Raw XML [Back]' items to + the right-click menu in the 'Rivendell Feed List' dialog in + rdadmin(1). diff --git a/rdadmin/feedlistview.cpp b/rdadmin/feedlistview.cpp index d5c3abc6..5b181e44 100644 --- a/rdadmin/feedlistview.cpp +++ b/rdadmin/feedlistview.cpp @@ -44,7 +44,18 @@ FeedListView::FeedListView(QWidget *parent) d_back_item_report_action=d_mouse_menu-> addAction(tr("Generate Item Report [Back]"),this,SLOT(generateBackItemReportData())); d_back_item_report_action->setCheckable(false); + d_mouse_menu->addSeparator(); + + d_front_raw_xml_action=d_mouse_menu-> + addAction(tr("View Raw XML [Front]"),this,SLOT(viewFrontRawXmlData())); + d_front_raw_xml_action->setCheckable(false); + d_back_raw_xml_action=d_mouse_menu-> + addAction(tr("View Raw XML [Back]"),this,SLOT(viewBackRawXmlData())); + d_back_raw_xml_action->setCheckable(false); + + d_mouse_menu->addSeparator(); + d_bluebrry_validate_action=d_mouse_menu-> addAction(tr("Validate with Bluebrry"),this,SLOT(validateBluebrryData())); @@ -138,6 +149,53 @@ void FeedListView::generateBackItemReportData() } +void FeedListView::viewFrontRawXmlData() +{ + QDateTime now=QDateTime::currentDateTime(); + bool ok=false; + QList front_ids; + QString err_msg; + RDFeedListModel *m=(RDFeedListModel *)model(); + QString keyname=m->data(m->index(d_mouse_row,0)).toString(); + RDFeed *feed=new RDFeed(keyname,rda->config(),this); + + if(feed->frontActiveCasts(&front_ids,&err_msg)) { + QString xml=feed->rssXml(&err_msg,now,&ok,&front_ids); + RDTextFile(xml,true); + } + else { + QMessageBox::warning(this,"RDAdmin - "+tr("Error"), + tr("Error accessing from XML data.")+"\n"+ + "["+err_msg+"]"); + } + delete feed; +} + + +void FeedListView::viewBackRawXmlData() +{ + QDateTime now=QDateTime::currentDateTime(); + bool ok=false; + QList back_ids; + QString err_msg; + QString output_filename="report.html"; + RDFeedListModel *m=(RDFeedListModel *)model(); + QString keyname=m->data(m->index(d_mouse_row,0)).toString(); + RDFeed *feed=new RDFeed(keyname,rda->config(),this); + + if(feed->backActiveCasts(&back_ids,&err_msg)) { + QString xml=feed->rssXml(&err_msg,now,&ok,&back_ids); + RDTextFile(xml,true); + } + else { + QMessageBox::warning(this,"RDAdmin - "+tr("Error"), + tr("Error accessing from XML data.")+"\n"+ + "["+err_msg+"]"); + } + delete feed; +} + + void FeedListView::validateBluebrryData() { RDFeedListModel *m=(RDFeedListModel *)model(); diff --git a/rdadmin/feedlistview.h b/rdadmin/feedlistview.h index 94059d67..96864747 100644 --- a/rdadmin/feedlistview.h +++ b/rdadmin/feedlistview.h @@ -41,6 +41,8 @@ class FeedListView : public RDTableView void aboutToShowMenuData(); void generateFrontItemReportData(); void generateBackItemReportData(); + void viewFrontRawXmlData(); + void viewBackRawXmlData(); void validateBluebrryData(); protected: @@ -51,6 +53,8 @@ class FeedListView : public RDTableView QMenu *d_mouse_menu; QAction *d_front_item_report_action; QAction *d_back_item_report_action; + QAction *d_front_raw_xml_action; + QAction *d_back_raw_xml_action; QAction *d_bluebrry_validate_action; QList d_xslt_engines; };