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()
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'
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()
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()
#!/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()
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()
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)