forked from hans/Nominatim
Implemented statistics for the import of special phrases through the SpecialPhrasesImporterStatistics class
This commit is contained in:
130
nominatim/tools/special_phrases/importer_statistics.py
Normal file
130
nominatim/tools/special_phrases/importer_statistics.py
Normal file
@@ -0,0 +1,130 @@
|
||||
"""
|
||||
Contain the class which handle statistics for the
|
||||
import of special phrases.
|
||||
"""
|
||||
import logging
|
||||
LOG = logging.getLogger()
|
||||
|
||||
class SpecialPhrasesImporterStatistics():
|
||||
# pylint: disable-msg=too-many-instance-attributes
|
||||
"""
|
||||
Class handling statistics of the import
|
||||
process of special phrases.
|
||||
"""
|
||||
def __init__(self):
|
||||
self._set_lang_values_to_0()
|
||||
self._set_global_values_to_0()
|
||||
|
||||
def _set_global_values_to_0(self):
|
||||
"""
|
||||
Set all counts for the global
|
||||
import to 0.
|
||||
"""
|
||||
self.tables_created = 0
|
||||
self.tables_deleted = 0
|
||||
self.tables_ignored = 0
|
||||
self.global_phrases_invalid = 0
|
||||
self.global_phrases_added = 0
|
||||
self.global_phrases_ignored = 0
|
||||
self.global_phrases_deleted = 0
|
||||
|
||||
def _set_lang_values_to_0(self):
|
||||
"""
|
||||
Set all counts for the current
|
||||
lang to 0.
|
||||
"""
|
||||
self.lang_phrases_invalid = 0
|
||||
self.lang_phrases_added = 0
|
||||
self.lang_phrases_ignored = 0
|
||||
|
||||
def notify_one_phrase_invalid(self):
|
||||
"""
|
||||
Add +1 to the count of invalid entries
|
||||
fetched from the wiki.
|
||||
"""
|
||||
self.lang_phrases_invalid += 1
|
||||
self.global_phrases_invalid += 1
|
||||
|
||||
def notify_one_phrase_added(self):
|
||||
"""
|
||||
Add +1 to the count of entries
|
||||
added to the db.
|
||||
"""
|
||||
self.lang_phrases_added += 1
|
||||
self.global_phrases_added += 1
|
||||
|
||||
def notify_one_phrase_ignored(self):
|
||||
"""
|
||||
Add +1 to the count of ignored
|
||||
entries as it was already in the db.
|
||||
"""
|
||||
self.lang_phrases_ignored += 1
|
||||
self.global_phrases_ignored += 1
|
||||
|
||||
def notify_one_phrase_deleted(self):
|
||||
"""
|
||||
Add +1 to the count of phrases deleted
|
||||
from the database.
|
||||
"""
|
||||
self.global_phrases_deleted += 1
|
||||
|
||||
def notify_one_table_created(self):
|
||||
"""
|
||||
Add +1 to the count of created tables.
|
||||
"""
|
||||
self.tables_created += 1
|
||||
|
||||
def notify_one_table_deleted(self):
|
||||
"""
|
||||
Add +1 to the count of deleted tables.
|
||||
"""
|
||||
self.tables_deleted += 1
|
||||
|
||||
def notify_one_table_ignored(self):
|
||||
"""
|
||||
Add +1 to the count of ignored tables.
|
||||
"""
|
||||
self.tables_ignored += 1
|
||||
|
||||
|
||||
def notify_import_done(self):
|
||||
"""
|
||||
Print stats for the whole import process
|
||||
and reset all values.
|
||||
"""
|
||||
LOG.warning('====================================================================')
|
||||
LOG.warning('Final statistics of the import:')
|
||||
LOG.warning('- %s phrases were invalid.', self.global_phrases_invalid)
|
||||
if self.global_phrases_invalid > 0:
|
||||
LOG.warning(' Those invalid phrases have been skipped.')
|
||||
LOG.warning('- %s phrases were ignored as they are already in the database',
|
||||
self.global_phrases_ignored)
|
||||
LOG.warning('- %s phrases were added to the database', self.global_phrases_added)
|
||||
LOG.warning('- %s phrases were deleted from the database', self.global_phrases_deleted)
|
||||
if self.global_phrases_deleted > 0:
|
||||
LOG.warning(' They were deleted as they are not valid anymore.')
|
||||
LOG.warning('- %s tables were ignored as they already exist on the database',
|
||||
self.tables_ignored)
|
||||
LOG.warning('- %s tables were created', self.tables_created)
|
||||
LOG.warning('- %s tables were deleted from the database', self.tables_deleted)
|
||||
if self.tables_deleted > 0:
|
||||
LOG.warning(' They were deleted as they are not valid anymore.')
|
||||
|
||||
self._set_global_values_to_0()
|
||||
|
||||
def notify_current_lang_done(self, lang):
|
||||
"""
|
||||
Print stats for the current lang
|
||||
and then reset lang values.
|
||||
"""
|
||||
LOG.warning('====================================================================')
|
||||
LOG.warning('Statistics for the import of %s:', lang)
|
||||
LOG.warning('- %s phrases were invalid.', self.lang_phrases_invalid)
|
||||
if self.lang_phrases_invalid > 0:
|
||||
LOG.warning(' Those invalid phrases have been skipped.')
|
||||
LOG.warning('- %s phrases were ignored as they are already in the database',
|
||||
self.lang_phrases_ignored)
|
||||
LOG.warning('- %s phrases were added to the database', self.lang_phrases_added)
|
||||
LOG.warning('====================================================================')
|
||||
|
||||
self._set_lang_values_to_0()
|
||||
Reference in New Issue
Block a user