示例#1
0
def add_interviewer():
    form = request.form
    print('form is', form)
    name = form.get('interviewer_name', -1)
    print('name is', name)
    Interviewer.new(name=name)
    return redirect(url_for('.admin'))
示例#2
0
def add_slot_i(iid):
    t_from = request.args.get('t_from', -1)
    t_to = request.args.get('t_to', -1)
    if Interviewer.check_existence_by_id(iid):
        if is_slot_legal(t_from, t_to):
            t_from = int(t_from)
            t_to = int(t_to)
            Interviewer.add_slot_by_id(iid, t_from, t_to)
            slots = Interviewer.get_slots_by_id(iid)
            return api_encoder(slots)
        else:
            return bad_request('Slot is illegal')
    else:
        return bad_request('Interviewer not exists')
示例#3
0
def get_matching_for_candidate(cid):
    iids_raw = request.args.get('iids', [])
    iids = api_decoder(iids_raw)
    if Candidate.check_existence_by_id(cid):
        if type(iids) is list and len(iids) > 0:
            if Interviewer.check_all_existence_by_id(iids):
                print(cid, iids)
                ms = Candidate.get_matching_by_id(cid, iids)
                print(ms)
                return api_encoder(ms)
    else:
        return bad_request('Candidate not exists')

    return bad_request('Iids is illegal')
示例#4
0
def initialize4test():
    """
    Drop database and add candidates & interviewers for test purpose
    """
    client = MongoClient()
    client.drop_database('calender')
    Candidate.new(name='C1')
    Interviewer.new(name='I1')
    Interviewer.new(name='I2')
    Interviewer.new(name='I3')
示例#5
0
    def test_matching(self):

        initialize4test()

        dt1 = datetime(2018, 8, 8, 8)
        dt2 = datetime(2018, 9, 9, 9)
        dt3 = datetime(2018, 9, 9, 10)
        dt4 = datetime(2018, 9, 9, 11)
        dt5 = datetime(2018, 9, 9, 12)
        dt8 = datetime(2019, 1, 1, 1)

        et1 = datetime2epoch(dt1)
        et2 = datetime2epoch(dt2)
        et3 = datetime2epoch(dt3)
        et4 = datetime2epoch(dt4)
        et5 = datetime2epoch(dt5)
        et8 = datetime2epoch(dt8)

        Candidate.add_slot_by_id(1, et2, et5)
        Interviewer.add_slot_by_id(1, et2, et3)
        Interviewer.add_slot_by_id(2, et2, et4)
        Interviewer.add_slot_by_id(3, et3, et5)

        url1 = "http://localhost:5000/api/candidates/1/matching"
        querystring1 = {"iids":"[1]"}
        headers1 = {
            'Cache-Control': "no-cache",
            'Postman-Token': "fc7bc0ff-37d9-4175-a234-6111685758f4"
            }
        response1 = requests.request("GET", url1, headers=headers1, params=querystring1)
        m1_raw = response1.content.decode('ascii')
        m1 = json.loads(m1_raw)

        self.assertEqual(m1[0]['t_start'], et2)
        self.assertEqual(m1[0]['t_end'], et3)
        self.assertEqual(m1[0]['cid'], 1)
        self.assertEqual(m1[0]['iids'][0], 1)

        # matching test2

        url2 = "http://localhost:5000/api/candidates/1/matching"
        querystring2 = {"iids":"[1, 2, 3]"}
        headers2 = {
            'Cache-Control': "no-cache",
            'Postman-Token': "fc7bc0ff-37d9-4175-a234-6111685758f4"
            }
        response2 = requests.request("GET", url2, headers=headers2, params=querystring2)
        m2_raw = response2.content.decode('ascii')
        m2 = json.loads(m2_raw)

        self.assertEqual(m2[0]['t_start'], et2)
        self.assertEqual(m2[0]['t_end'], et3)
        self.assertEqual(m2[0]['iids'][0], 1)
        self.assertEqual(m2[0]['iids'][1], 2)
        self.assertEqual(m2[1]['t_start'], et3)
        self.assertEqual(m2[1]['t_end'], et4)
        self.assertEqual(m2[1]['iids'][0], 2)
        self.assertEqual(m2[1]['iids'][1], 3)
        self.assertEqual(m2[2]['t_start'], et4)
        self.assertEqual(m2[2]['t_end'], et5)
        self.assertEqual(m2[2]['iids'][0], 3)
def get_interviewers(rc_id):
    return Interviewer.objects(rc_id=rc_id)
def create_interviewer(name, availabilities, rc_id):
    new_interviewer = Interviewer(name=name, availabilities=availabilities,
                                  rc_id=rc_id)
    new_interviewer.save()
示例#8
0
def create_interviewer(name, availabilities, rc_id):
    new_interviewer = Interviewer(name=name,
                                  availabilities=availabilities,
                                  rc_id=rc_id)
    new_interviewer.save()
示例#9
0
def get_interviewers(rc_id):
    return Interviewer.objects(rc_id=rc_id)