Merge branch 'fs#76-redfam-without-dates' into fs#70-refactoring
This commit is contained in:
@@ -109,7 +109,7 @@ class DiscussionParserBot(
|
||||
for fam in red_page.parse():
|
||||
|
||||
# Run RedFamParser on section text
|
||||
redfam.RedFamParser.parser( fam, red_page.page._pageid,
|
||||
redfam.RedFamParser.parser( fam, red_page.page,
|
||||
red_page.is_archive() )
|
||||
|
||||
fam_counter += 1
|
||||
|
||||
27
redfam.py
27
redfam.py
@@ -137,14 +137,14 @@ class RedFamParser( RedFam ):
|
||||
wurde gewünscht von:"
|
||||
__done_notice2 = "{{Erledigt|"
|
||||
|
||||
def __init__( self, heading, red_page_id, red_page_archive,
|
||||
def __init__( self, heading, red_page, red_page_archive,
|
||||
beginning, ending=None ):
|
||||
"""
|
||||
Creates a RedFam object based on data collected while parsing red_pages
|
||||
combined with possibly former known data from db
|
||||
|
||||
@param red_fam_heading str Wikitext heading of section
|
||||
@param red_page_id int MediaWiki page_id
|
||||
@param red_page page Pywikibot.page object
|
||||
@param red_page_archive bool Is red_page an archive
|
||||
@param beginning datetime Timestamp of beginning
|
||||
str as strptime parseable string
|
||||
@@ -153,7 +153,7 @@ class RedFamParser( RedFam ):
|
||||
"""
|
||||
|
||||
# Set object attributes:
|
||||
self._red_page_id = red_page_id
|
||||
self._red_page_id = red_page._pageid
|
||||
self._red_page_archive = red_page_archive
|
||||
self._fam_hash = None
|
||||
|
||||
@@ -341,7 +341,7 @@ class RedFamParser( RedFam ):
|
||||
return False
|
||||
|
||||
@classmethod
|
||||
def parser( cls, text, pageid, isarchive=False ):
|
||||
def parser( cls, text, page, isarchive=False ):
|
||||
"""
|
||||
Handles parsing of redfam section
|
||||
|
||||
@@ -359,8 +359,21 @@ class RedFamParser( RedFam ):
|
||||
# Extract beginnig and maybe ending
|
||||
(beginning, ending) = RedFamParser.extract_dates( text, isarchive )
|
||||
|
||||
# Missing beginning (Task: FS#76)
|
||||
# Use first day of month of reddisc
|
||||
if not beginning:
|
||||
match = re.search(
|
||||
jogobot.config["redundances"]["reddiscs_onlyinclude_re"],
|
||||
page.title() )
|
||||
|
||||
if match:
|
||||
beginning = datetime.strptime(
|
||||
"01. {month} {year}".format(
|
||||
month=match.group(1), year=match.group(2)),
|
||||
"%d. %B %Y" )
|
||||
|
||||
# Create the RedFam object
|
||||
RedFamParser( heading, pageid, isarchive, beginning, ending )
|
||||
RedFamParser( heading, page, isarchive, beginning, ending )
|
||||
|
||||
@classmethod
|
||||
def extract_dates( cls, text, isarchive=False ):
|
||||
@@ -401,6 +414,10 @@ class RedFamParser( RedFam ):
|
||||
|
||||
else:
|
||||
ending = None
|
||||
# Missing dates (Task: FS#76)
|
||||
else:
|
||||
beginning = None
|
||||
ending = None
|
||||
|
||||
return (beginning, ending)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user