From 4055dc52d8df3e9567c4bfb162692201b298aa46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?GOLDERWEB=20=E2=80=93=20Jonathan=20Golder?= Date: Sat, 5 Mar 2016 15:55:38 +0100 Subject: [PATCH] Make it possible to get a RedPage-Object by pageid When working on redfams it is necessary to have information about redpage Related Task: [https://fs.golderweb.de/index.php?do=details&task_id=26 FS#26] --- lib/redpage.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/redpage.py b/lib/redpage.py index 176f6bc..ebedaba 100644 --- a/lib/redpage.py +++ b/lib/redpage.py @@ -39,19 +39,22 @@ class RedPage: Class for handling redundance discussion pages and archives """ - def __init__( self, page, archive=False ): + def __init__( self, page=None, pageid=None, archive=False ): """ Generate a new RedPage object based on the given pywikibot page object - @param page page Pywikibot/MediaWiki page object for page + @param page Pywikibot/MediaWiki page object for page + @type page pywikibot.Page + @param pageid MW-Pageid for related page + @type pageid int """ # Safe the pywikibot page object self.page = page + self.pageid = pageid self._archive = archive self.__handle_db( ) - self.is_page_changed() self._parsed = None @@ -62,7 +65,16 @@ class RedPage: """ # We need a connection to our mysqldb - self.__mysql = MysqlRedPage( self.page._pageid ) + if self.page: + self.__mysql = MysqlRedPage( self.page._pageid ) + self.pageid = self.page._pageid + elif self.pageid: + self.__mysql = MysqlRedPage( self.pageid ) + self.page = pywikibot.Page( pywikibot.Site(), + self.__mysql.data['page_title'] ) + self.page.exists() + else: + raise ValueError( "Page NOR pagid provided!" ) if not self.__mysql.data: self.__mysql.add_page( self.page.title(), self.page._revid )