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():
|
for fam in red_page.parse():
|
||||||
|
|
||||||
# Run RedFamParser on section text
|
# Run RedFamParser on section text
|
||||||
redfam.RedFamParser.parser( fam, red_page.page._pageid,
|
redfam.RedFamParser.parser( fam, red_page.page,
|
||||||
red_page.is_archive() )
|
red_page.is_archive() )
|
||||||
|
|
||||||
fam_counter += 1
|
fam_counter += 1
|
||||||
|
|||||||
27
redfam.py
27
redfam.py
@@ -137,14 +137,14 @@ class RedFamParser( RedFam ):
|
|||||||
wurde gewünscht von:"
|
wurde gewünscht von:"
|
||||||
__done_notice2 = "{{Erledigt|"
|
__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 ):
|
beginning, ending=None ):
|
||||||
"""
|
"""
|
||||||
Creates a RedFam object based on data collected while parsing red_pages
|
Creates a RedFam object based on data collected while parsing red_pages
|
||||||
combined with possibly former known data from db
|
combined with possibly former known data from db
|
||||||
|
|
||||||
@param red_fam_heading str Wikitext heading of section
|
@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 red_page_archive bool Is red_page an archive
|
||||||
@param beginning datetime Timestamp of beginning
|
@param beginning datetime Timestamp of beginning
|
||||||
str as strptime parseable string
|
str as strptime parseable string
|
||||||
@@ -153,7 +153,7 @@ class RedFamParser( RedFam ):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# Set object attributes:
|
# 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._red_page_archive = red_page_archive
|
||||||
self._fam_hash = None
|
self._fam_hash = None
|
||||||
|
|
||||||
@@ -341,7 +341,7 @@ class RedFamParser( RedFam ):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def parser( cls, text, pageid, isarchive=False ):
|
def parser( cls, text, page, isarchive=False ):
|
||||||
"""
|
"""
|
||||||
Handles parsing of redfam section
|
Handles parsing of redfam section
|
||||||
|
|
||||||
@@ -359,8 +359,21 @@ class RedFamParser( RedFam ):
|
|||||||
# Extract beginnig and maybe ending
|
# Extract beginnig and maybe ending
|
||||||
(beginning, ending) = RedFamParser.extract_dates( text, isarchive )
|
(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
|
# Create the RedFam object
|
||||||
RedFamParser( heading, pageid, isarchive, beginning, ending )
|
RedFamParser( heading, page, isarchive, beginning, ending )
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def extract_dates( cls, text, isarchive=False ):
|
def extract_dates( cls, text, isarchive=False ):
|
||||||
@@ -401,6 +414,10 @@ class RedFamParser( RedFam ):
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
ending = None
|
ending = None
|
||||||
|
# Missing dates (Task: FS#76)
|
||||||
|
else:
|
||||||
|
beginning = None
|
||||||
|
ending = None
|
||||||
|
|
||||||
return (beginning, ending)
|
return (beginning, ending)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user