def run(self, curr_day = None, curr_hour = None):
        """Process the list of extensions."""

        # Allow these to be passed in for testing
        if curr_day is None:
            curr_day = int(datetime.datetime.now().strftime("%w"))
        if curr_hour is None:
            curr_hour = int(datetime.datetime.now().strftime("%H"))

        LOGGER.info ("Processing extensions for day segment %d and hour segment %d", curr_day, curr_hour)
        my_query = ''.join([
            "[[Category:Extension]]",
            "[[Has day segment::%d]]" % curr_day,
            "[[Has hour segment::%d]]" % curr_hour,
            "|sort=Creation date",
            "|limit=1000"])
        LOGGER.debug ("Query: %s" % my_query)

        extensions = self.bumble_bee.call({
            'action': 'ask',
            'query': my_query
        })

        i = 0
        for extension in extensions['query']['results'].items():
            i += 1
            LOGGER.info(extension)
            LOGGER.info("Processing extension %s", extension[1]['fulltext'])

            # Now call tasks to operate on extensions
            MediawikiTasks.delay(extension)

        return i
    def run(self, curr_day=None, curr_hour=None):
        """Process the list of extensions."""

        # Allow these to be passed in for testing
        if curr_day is None:
            curr_day = int(datetime.datetime.now().strftime("%w"))
        if curr_hour is None:
            curr_hour = int(datetime.datetime.now().strftime("%H"))

        LOGGER.info(
            "Processing extensions for day segment %d and hour segment %d",
            curr_day, curr_hour)
        my_query = ''.join([
            "[[Category:Extension]]",
            "[[Has day segment::%d]]" % curr_day,
            "[[Has hour segment::%d]]" % curr_hour, "|sort=Creation date",
            "|limit=1000"
        ])
        LOGGER.debug("Query: %s" % my_query)

        extensions = self.bumble_bee.call({'action': 'ask', 'query': my_query})

        i = 0
        for extension in extensions['query']['results'].items():
            i += 1
            LOGGER.info(extension)
            LOGGER.info("Processing extension %s", extension[1]['fulltext'])

            # Now call tasks to operate on extensions
            MediawikiTasks.delay(extension)

        return i
Exemple #3
0
    def test_get_mwpagetitle(self):
        """Extension:ConfirmEdit returns Extension:ConfirmEdit"""

        task = MediawikiTasks()
        assert task.get_mwpagetitle(
            "Extension:ConfirmEdit") == "Extension:ConfirmEdit"
        assert task.get_mwpagetitle(
            "Extension:Confirm User Accounts") == "Extension:ConfirmAccount"
Exemple #4
0
    def test_mediawiki_tasks(self):
        """Run the extensions for now."""

        task = MediawikiTasks()
        task.run("Extension:ConfirmEdit")
Exemple #5
0
    def test_get_rating(self):
        """Extension:ConfirmEdit has ratings on it"""

        task = MediawikiTasks()
        assert task.get_mwpagetitle("Extension:ConfirmEdit") > 0
Exemple #6
0
    def test_get_mwpagetitle(self):
        """Extension:ConfirmEdit returns Extension:ConfirmEdit"""

        task = MediawikiTasks()
        assert task.get_mwpagetitle("Extension:ConfirmEdit") == "Extension:ConfirmEdit"
        assert task.get_mwpagetitle("Extension:Confirm User Accounts") == "Extension:ConfirmAccount"
Exemple #7
0
    def test_mediawiki_tasks(self):
        """Run the extensions for now."""

        task = MediawikiTasks()
        task.run("Extension:ConfirmEdit")
Exemple #8
0
    def test_get_rating(self):
        """Extension:ConfirmEdit has ratings on it"""

        task = MediawikiTasks()
        assert task.get_mwpagetitle("Extension:ConfirmEdit") > 0