Implemment handling of changed page meta data (rev_id, page_title, status)
This commit is contained in:
@@ -70,7 +70,7 @@ class MYSQL_RED_PAGE( MYSQL_RED ):
|
|||||||
|
|
||||||
@param int rev_id MediaWiki current rev_id for page to update
|
@param int rev_id MediaWiki current rev_id for page to update
|
||||||
@param str page_title MediaWiki new page_title for page to update
|
@param str page_title MediaWiki new page_title for page to update
|
||||||
@param int status Page parsing status (0 - not (successfully) parsed; 1 - successfully parsed)
|
@param int status Page parsing status (0 - not (successfully) parsed; 1 - successfully parsed; 2 - successfully parsed archive)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
cursor = type( self ).connection.cursor()
|
cursor = type( self ).connection.cursor()
|
||||||
|
|||||||
42
red_page.py
42
red_page.py
@@ -15,9 +15,13 @@ class RED_PAGE:
|
|||||||
|
|
||||||
self.__handle_db( )
|
self.__handle_db( )
|
||||||
|
|
||||||
# if( self._mysql_page ):
|
self.is_page_changed()
|
||||||
|
|
||||||
# self.is_page_changed()
|
self.__parsed = None
|
||||||
|
if( self.__changed or self.__mysql.data[ 'status' ] == 0 ):
|
||||||
|
self.parse()
|
||||||
|
|
||||||
|
self.__update_db()
|
||||||
|
|
||||||
# else:
|
# else:
|
||||||
# self.__mysql.add_page()
|
# self.__mysql.add_page()
|
||||||
@@ -36,15 +40,31 @@ class RED_PAGE:
|
|||||||
"""
|
"""
|
||||||
Check wether the page was changed since last run
|
Check wether the page was changed since last run
|
||||||
"""
|
"""
|
||||||
if( self._mysql_page[ 'rev_id' ] != self.page._revid ):
|
|
||||||
changed_rev_id = True
|
|
||||||
self._mysql_page[ 'rev_id' ] = self.page._revid
|
|
||||||
|
|
||||||
if( self._mysql_page[ 'page_title' ] != self.page.title ):
|
if( self.__mysql.data != { 'page_id': self.page._pageid, 'rev_id': self.page._revid, 'page_title': self.page.title, 'status': self.__mysql.data[ 'status' ] } ):
|
||||||
changed_title = True
|
self.__changed = True
|
||||||
self._mysql_page[ 'page_title' ] = self.page.title
|
else:
|
||||||
|
self.__changed = False
|
||||||
if( changed_rev_id or changed_title ):
|
|
||||||
|
def is_archive( self ):
|
||||||
|
"""
|
||||||
|
Detects wether current page is an archive of discussions
|
||||||
|
"""
|
||||||
|
if u"/Archiv" in self.page.title:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
def __update_db( self ):
|
||||||
|
"""
|
||||||
|
Updates the page meta data in mysql db
|
||||||
|
"""
|
||||||
|
if( self.__parsed ):
|
||||||
|
status = 1
|
||||||
|
|
||||||
|
if( self.is_archive() ):
|
||||||
|
status = 2
|
||||||
|
else:
|
||||||
|
status = 0
|
||||||
|
|
||||||
|
self.__mysql.update_page( self.page._revid, self.page.title, status )
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user