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]
This commit is contained in:
2016-03-05 15:55:38 +01:00
parent 594130c8a6
commit 4055dc52d8

View File

@@ -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
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 )