Merge branch 'fs#109-redpage-redfam-join-type' into test-v3

This commit is contained in:
2017-03-09 15:33:05 +01:00
2 changed files with 16 additions and 6 deletions

View File

@@ -33,7 +33,7 @@ from pywikibot.bot import ExistingPageBot, NoRedirectPageBot
import jogobot
from lib.redpage import RedPage
from lib.redpage import RedPageParser
from lib.redfam import RedFamParser
@@ -127,7 +127,7 @@ class DiscussionParserBot(
else:
# If successfully parsed all pages in cat, flush db write cache
RedPage.flush_db_cache()
RedPageParser.flush_db_cache()
def treat_page( self ):
"""
@@ -146,13 +146,13 @@ class DiscussionParserBot(
return
# Initiate RedPage object
redpage = RedPage.session.query(RedPage).filter(
RedPage.pageid == self.current_page.pageid ).one_or_none()
redpage = RedPageParser.session.query(RedPageParser).filter(
RedPageParser.pageid == self.current_page.pageid ).one_or_none()
if redpage:
redpage.update( self.current_page )
else:
redpage = RedPage( self.current_page )
redpage = RedPageParser( self.current_page )
# Check whether parsing is needed
if redpage.is_parsing_needed():

View File

@@ -30,7 +30,8 @@ import mwparserfromhell as mwparser
import jogobot # noqa
from lib.mysqlred import MysqlRedPage
from lib.mysqlred import (
MysqlRedPage, relationship, attribute_mapped_collection )
from lib.redfam import RedFamParser
@@ -131,3 +132,12 @@ class RedPage( MysqlRedPage ):
Calls flush method of Mysql Interface class
"""
cls.session.commit()
class RedPageParser( RedPage ):
"""
Wrapper class to change the type of redfams collection elements in parser
"""
redfams = relationship(
"RedFamParser", enable_typechecks=False, back_populates="redpage",
collection_class=attribute_mapped_collection("famhash") )