コード例 #1
0
ファイル: test_submitter.py プロジェクト: maroth/chreddit
    def setup(self):
        self.engine = create_engine('sqlite://')
        self.Session = sessionmaker()
        self.Session.configure(bind=self.engine)
        Base.metadata.create_all(self.engine)

        self.submitter = Submitter()
        self.submitter.dataAccess.Session = self.Session

        self.submitter.reddit = Mock()
コード例 #2
0
ファイル: test_submitter.py プロジェクト: maroth/chreddit
class TestSubmitter:
    def setup(self):
        self.engine = create_engine('sqlite://')
        self.Session = sessionmaker()
        self.Session.configure(bind=self.engine)
        Base.metadata.create_all(self.engine)

        self.submitter = Submitter()
        self.submitter.dataAccess.Session = self.Session

        self.submitter.reddit = Mock()

    def teardown(self):
        Base.metadata.drop_all(self.engine)

    def test_submitAllUnsubmitted_unsubmittedSubmission_isSubmitted(self):
        unsubmitted = create_submission(submitted=None)
        self.submitter.dataAccess.save(unsubmitted)

        self.submitter.submit_all_unsubmitted()

        assert self.submitter.reddit.submit.called

    def test_submitAllUnsubmitted_submittedSubmission_isNotSubmitted(self):
        submitted = create_submission()
        self.submitter.dataAccess.save(submitted)

        self.submitter.submit_all_unsubmitted()

        assert not self.submitter.reddit.submit.called

    def test_makeSubmissionTitle_shortValues_concatenatesCorrectly(self):
        title = self.submitter.make_submission_title(
            'title', 'description', 100)
        assert title == 'title ' + config.separator + ' description'

    def test_makeSubmissionTitle_longValues_cutsCorrectly(self):
        title = self.submitter.make_submission_title(
            'hans', 'guck in die luft', 12 + len(config.suffix))
        assert title == 'hans ' + config.separator + ' guck' + config.suffix

        title = self.submitter.make_submission_title(
            'hans', 'guck in die luft', 14 + len(config.suffix))
        assert title == 'hans ' + config.separator + ' guck in' + config.suffix

    def test_makeSubmissionTitle_noDescription_noSuffix(self):
        title = self.submitter.make_submission_title('hans', '', 100)
        assert title == 'hans'
コード例 #3
0
def main():
    print('Process the files in: ')
    submit_list, fail_list = get_submit_list()
    print('\nSubmit list: ' + str(len(submit_list)))
    print_list(submit_list)
    print('\nFail list: ' + str(len(fail_list)))
    print_list(fail_list)
    run = input('\nInput Y to begin submit now: ')
    if run == 'Y':
        print('\nBegin submit: ')
        url, username, password = get_tutor_info()
        course_id, homework_id = get_submit_info()
        submitter = Submitter(url, username, password, course_id, homework_id,
                              submit_list)
        submitter.add_single_task_callback(single_task_finished)
        submitter.start()
        submitter.clean()
コード例 #4
0
from exploiter import Exploiter
from webservice import WebService
from submitter import Submitter
from frontend import Frontend
import signal
import logging.config

if __name__ == '__main__':
    logging.config.fileConfig(fname='log.conf')
    logger_exploiter = logging.getLogger('exploiter')
    logger_submitter = logging.getLogger('submitter')
    logger_webservice = logging.getLogger('webservice')

    WebService.start(logger_webservice)
    Exploiter.start(logger_exploiter)
    Submitter.start(logger_submitter)
    Frontend.start()

    signal.pause()
コード例 #5
0
ファイル: tasks.py プロジェクト: maroth/chreddit
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import argparse
from importer import Importer
from submitter import Submitter
from feeds import feeds

parser = argparse.ArgumentParser(description='Start chreddit tasks')
parser.add_argument('taskname', metavar='task_name', help='The name of the task to run')
args = parser.parse_args()

if (args.taskname) == 'import':
    importer = Importer()
    importer.import_feeds(feeds)

if (args.taskname) == 'submit':
    submitter = Submitter()
    submitter.login()
    submitter.submit_all_unsubmitted()

コード例 #6
0
from __future__ import absolute_import, print_function, unicode_literals
from threading import Thread, Event
from time import sleep
from config import config
import sys

from backend.mongodb import MongoBackend

from logger import log

from submitter import Submitter

s = Submitter()


def safe_say(msg):
    print('\n{0}'.format(msg), file=sys.__stderr__)


class WorkerPool(object):
    """ this class will manage a basic pool of threads that will
    submit the flags to the scoreboard.
    since most of the time we are involved in I/O we can just use
    some threads since GIL will be released.
    Please read this before freaking out:
    http://jessenoller.com/2009/02/01/python-threads-and-the-global-interpreter-lock/
    """
    def __init__(self, backend=None):
        self.backend = backend
        self.cancel_event = Event()
コード例 #7
0
ファイル: submitter_example.py プロジェクト: isabella232/awfy
import utils
from slaves import Slave
from submitter import Submitter

utils.InitConfig("awfy.config")

slave = Slave("main")
submitter = Submitter(slave)

submitter.Start()

mode_name = "mysql_single"
mode_revision = "1234"
suite_name = "suite1"
test_name = "test1"
test_duration = 100

submitter.AddMode(mode_name, mode_revision)
submitter.SubmitTest(test_name, suite_name, "1.0", mode_name, test_duration)
submitter.SubmitTest("__total__", suite_name, "1.0", mode_name, test_duration)
submitter.Finish(1)