def main(): recruiter_1 = Recruiter('Bon Jovi', '*****@*****.**', 20) programmer_1 = Programmer('Jason Stathem', '*****@*****.**', 50) programmer_2 = Programmer('Vin Diesel', '*****@*****.**', 60) candidate_1 = Candidate('John Snow', '*****@*****.**', 'Jaba-Java', 'trainee') candidate_2 = Candidate('Hodor', '*****@*****.**', 'Hodor', 'hodor') candidate_3 = Candidate('Groot', 'iamgroot@groot', '01001101 programmer', 'guardian of senior') vacancy_1 = Vacancy('Python') vacancy_2 = Vacancy('01001101 programmer')
def main(): recruiter1 = Recruiter('Natali', nata @ gmail.com, 20) programmer1 = Programmer('Alex', alex @ mail.ru, 50) programmer2 = Programmer('Roman', roman @ gmail.com, 60) candidate1 = Candidate('Vasil', vasyok @ gmail.com, 'Python') candidate2 = Candidate('Grisha', grigor @ rambler.ru, 'Python') candidate3 = Candidate('Katya', kate @ gmail.com, 'FrontEnd') vacancy1 = Vacancy('Python') vacancy2 = Vacancy('FrontEnd')
def main(): recruiter1 = Recruiter() programmer1 = Programmer() programmer2 = Programmer() candidate1 = Candidate() candidate2 = Candidate() candidate3 = Candidate() vacancy1 = Vacancy() vacancy2 = Vacancy()
def main(): recr_1 = Recruiter('Vika', '*****@*****.**', 24) emp_2 = Programmer('Sophia', '*****@*****.**', 30, ['Python', 'SQL', 'CSS', 'PostgreSQL']) emp_3 = Programmer('Vlad', '*****@*****.**', 500, ['Python', 'GitHub', 'Java']) cand_1 = Candidate('Valentin Zal', '@gmail.com', ['SQL', 'Java'], 'English', 'Magister') cand_2 = Candidate('Valentin Zal', '@gmail.com', ['SQL', 'Java'], 'English', 'Magister') cand_3 = Candidate('Valentin Zal', '@gmail.com', ['SQL', 'Java'], 'English', 'Magister') vak_1 = Vacancy('Programmer', ['C++', 'C#'], 'Midle') vak_2 = Vacancy('Desiner', ['Figma', 'C#'], 'Midle')
class TestPairStairs(TestCase): def reset_db(self): Programmer.objects.all().delete() Pair.objects.all().delete() def setUp(self): self.reset_db() def tearDown(self): self.reset_db() def test_should_render_page_to_pair_stairs_page(self): response = Client().get('/pairstairs/') self.assertEqual(response.status_code, 200) def test_should_render_page_to_add_programmers_page(self): response = Client().get('/pairstairs/add') self.assertEqual(response.status_code, 200) def test_should_save_pairs(self): names = ','.join(['Kitty','Transformer']) Client().post('/pairstairs/add', {"programmer_names":names}) self.assertEqual(Programmer.objects.count(), 2) self.assertEqual(Programmer.objects.filter(name="Kitty").count(),1) self.assertEqual(Programmer.objects.filter(name="Transformer").count(),1) def prepare_data(self): self.programmer1 = Programmer(name='Jason') self.programmer2 = Programmer(name='David') self.programmer1.save() self.programmer2.save() def test_should_reset_stairs(self): self.prepare_data() Client().get("/pairstairs/reset") self.assertEqual(Programmer.objects.count(), 0) def test_should_update_count_of_pair(self): self.prepare_data() Client().get("/pairstairs/2/1") pair = Pair.objects.get(programmer_1=self.programmer2, programmer_2=self.programmer1) self.assertEqual(pair.count, 1)
def main(): vasilyev = Programmer( ['js', 'python', 'make good coffee'], 'Vasya', 'Vasilyev', '*****@*****.**', '+322223322', 32, ) gunko = Programmer(['js', 'python', 'kubernetes', 'docker'], 'petr', 'gunko', '*****@*****.**', '+322227772', 30) tatarinova = Recruiter('Lena', 'Tatarinova', '*****@*****.**', '+372223322', 32) gagarin = Candidate('Yuriy Gagarin', '*****@*****.**', ['spaceman', 'pilot'], 'pilot', 100) peterson = Candidate('Jim Peterson', 'jim_peterson.gmail.com', ['python', 'js'], 'python', 79) vorghol = Candidate('Anastasia Vorghol', 'vorghol_a1952.gmail.com', ['python', 'js'], 'js', 68) js_junior = Vacancy('JS Junior', 'js', 45) python_middle = Vacancy('Python Middle', 'python', 60) print(vasilyev, gunko, tatarinova, sep='\n') print(f'{vasilyev.name} salary: {vasilyev.check_salary()}') print(vasilyev.surname, 'said:', vasilyev.work()) print(vasilyev > tatarinova) print(vasilyev >= tatarinova) print(vasilyev.tech_stack) print(gunko) print(vasilyev < gunko) print(vasilyev + gunko) print(js_junior) print(peterson) print(vorghol) print(gagarin) print(python_middle) print(vasilyev.about_person) data = Candidate.make_candidates_from_csv() [print(i) for i in data]
def main(): employee_1 = Programmer('Alinka', '*****@*****.**', 100, ['Python', 'HTML', 'CSS', 'PostgreSQL']) employee_2 = Programmer('Nikita', '*****@*****.**', 500, ['Python', 'GitHub']) recruiter_1 = Recruiter('Dasha', '*****@*****.**', 100) candidate_1 = Candidate('Maria Klukina', '*****@*****.**', ['Python', 'Java Script'], 'Python', 'middle') candidate_2 = Candidate('Dima Mironin', '*****@*****.**', ['Ruby', 'C#', 'Java'], 'Ruby', 'senior') candidate_3 = Candidate('Vladislav Limov', '*****@*****.**', ['HTML', 'CSS', 'C++'], 'C++', 'junior') vacancy_1 = Vacancy('Python Developer', 'Python', 'middle') vacancy_2 = Vacancy('Ruby Developer', 'Ruby', 'senior') # candidate_1.work() # print(recruiter_1.full_info) # print(employee_1.full_info) # print(Candidate.from_csv('candidates.csv')) print( Candidate.from_csv( 'https://bitbucket.org/ivnukov/lesson2/raw/master/candidates.csv'))
def test_should_redirect_to_stair_page(self): programmer1 = Programmer(name='Minkey', id=1) programmer2 = Programmer(name='Minnie', id=2) programmer1.save() programmer2.save() response = Client().get("/stairs/2/1") self.assertRedirects(response, "/stairs/")
def test_should_save_pair(self): programmer1 = Programmer(name='Minkey', id=1) programmer2 = Programmer(name='Minnie', id=2) programmer1.save() programmer2.save() Client().get("/stairs/2/1") pair = Pair.objects.get(first=programmer2, second=programmer1) self.assertEqual(1, pair.count)
def test_that_all_programmers_get_deleted(self): factory = RequestFactory() request = factory.get('request') programmer1 = Programmer(name='Kory Kraft') programmer1.save() programmer2 = Programmer(name='Jason Wickstra') programmer2.save() delete_programmers(request) self.assertEqual(0,len(Programmer.objects.all()))
def test_should_get_pair_from_database_if_exist(self): programmer1 = Programmer(name='Minkey', id=1) programmer2 = Programmer(name='Minnie', id=2) programmer1.save() programmer2.save() programmers = [programmer1,programmer2] pair_times = 2 Pair(first=programmer2, second=programmer1, count =pair_times).save() pairs = create_pairs(programmers) self.assertEqual(pair_times, pairs[0].count)
def test_selected_programmer_gets_deleted(self): factory = RequestFactory() request = factory.get('request') programmer1 = Programmer(name='Kory Kraft') programmer1.save() programmer2 = Programmer(name='Jason Wickstra') programmer2.save() delete_programmer(request,1) self.assertEqual(1,len(Programmer.objects.all())) self.assertEqual('Jason Wickstra', Programmer.objects.all()[0].name)
def test_add_count_adds_1_to_pair_count(self): factory = RequestFactory() request = factory.get('request') programmer1 = Programmer(name='Kory Kraft') programmer1.save() programmer2 = Programmer(name='Jason Wickstra') programmer2.save() pair = Pair(pair1=programmer1, pair2=programmer2, count=0) pair.save() add_count(request=request, pair1_id=1, pair2_id=2) pair = Pair.objects.get(pk=1) self.assertEqual(pair.count, 1)
from models import Programmer, Recruiter from models import Candidate, Vacancy if __name__ == '__main__': technologies = ['python', 'js', 'html', 'css'] recruiter_anna = Recruiter('Anna', "*****@*****.**", 50) programmer_oleg = Programmer('Oleg', "*****@*****.**", 100) programmer_vasya = Programmer('Vasya', "*****@*****.**", 75) candidate_grisha = Candidate('Grisha Vetrov', '*****@*****.**', technologies, 'Python', 'Middle') candidate_petya = Candidate('Petr Vetrov', '*****@*****.**', technologies, 'Python', 'Junior') candidate_kolya = Candidate('Kolya Ivanov', '*****@*****.**', technologies, 'Python', 'Senior') vacancy_python_middle = Vacancy('Python Middle on Project 1', 'Python', 'Middle') vacancy_python_senior = Vacancy('Python Senior on Project 2', 'Python', 'Senior') print(programmer_oleg.work()) print(programmer_vasya.check_salary(15)) print(programmer_oleg.__str__()) print(recruiter_anna.work()) print(recruiter_anna.check_salary(15)) print(recruiter_anna.__str__()) print(candidate_grisha.__str__()) print(candidate_petya.__str__()) print(candidate_kolya.__str__()) print(vacancy_python_middle.__str__())
from models import Employee from models import Recruiter from models import Programmer programmer = Programmer(name='Vasya', email='*****@*****.**', salary=100) print(programmer) print(programmer.check_salary(50)) recruiter = Recruiter(name='masha', email='*****@*****.**', salary=20) print(recruiter) print(recruiter.check_salary(8))
new_net = '' for n in programmers[p]['networks']: new_net += f'{n}, ' new_net = new_net[:-2] if programmers[p]['rate_card']['P4'] == True: P4 = 1 else: P4 = 0 if programmers[p]['invoice_num'] == None: programmers[p]['invoice_num'] = 0 programmer = Programmer( i, p, programmers[p]['title'], programmers[p]['total_imp'], programmers[p]['revenue'], programmers[p]['rate_card']['value'], P4, new_net, programmers[p]['invoice_num'], programmers[p]['invoice_path'], programmers[p]['start_point'] ) prog_file = open(f'programmers/{p}.p', 'wb') pickle.dump(programmer, prog_file) i+=1
def prepare_data(self): self.programmer1 = Programmer(name='Jason') self.programmer2 = Programmer(name='David') self.programmer1.save() self.programmer2.save()
def main(): try: r = Recruiter(name="Sasha", zp_day=150, days=21, email='sasha@com') p = Programmer(name="Slava", zp_day=220, days=23, email='sl@com', tech_stack={'have a car ', 'Python', 'JS', 'Git', 'HTML'}) p2 = Programmer(name="Kostya", zp_day=200, days=24, email='kos@com', tech_stack={'know of English ', 'Python', 'Django', 'flaks', 'react'}) c = Candidate("Petya", "pet@com", "Razrabotka", "JS", "trenie") c2 = Candidate("Katya", "KET@com", "Recruter", "English", "С1") c3 = Candidate("Kiril", "Kir@com", "Razrabotkbotka", "Python", "junior") v = Vacancy("Programmer", "Python,JS,HTML", "junior") v2 = Vacancy("Recruiter", "комуникабельность , знание английского языка", "стаж 1год") # print(v) # print(v2) # # print('---------------------------') # # print(c) # # print(c.work()) # print(c2) # print(c3) # # print('---------------------------') # # print(r) # print(r.work()) # print(r.cheak_salary()) # # print('---------------------------') # # print(p) # print(p.work()) # print(p.cheak_salary()) # print(p.tech_stack) # # print('---------------------------') # print(r == p) # comparison by salary # print('---------------------------') # print(p.cheak_salary()) # # print(p2) # print(p2.work()) # print(p2.cheak_salary()) # print(p2.tech_stack) # # print('---------------------------') # print(p > p2) # print() # # alfaprogr = p + p2 # print(alfaprogr) # print(alfaprogr.work()) # print(alfaprogr.cheak_salary()) # print(alfaprogr.tech_stack) print(p.full_info) Candidate.create_candidat(' candidates.csv') except Exception as e: with open('logs.txt', 'a+') as log: mytime = (datetime.now().ctime()) log.write(mytime + '\n') log.write(traceback.format_exc() + '------------------' + '\n')
import datetime import traceback from models import Programmer from models import Recruiter from models import Employee from models import Candidate from models import Vacancy if __name__ == '__main__': igor = Programmer('Igor', 1000, '*****@*****.**', 'programmer', ['JS', 'Python', 'Delphi']) sasha = Programmer('Sasha', 130, '*****@*****.**', 'programmer', ['Python']) curt = Recruiter('Cobain', 180, '*****@*****.**', 'recruiter') john = Candidate('John Fitzgerald Kennedy', '*****@*****.**', ["Python", 'JS'], ['Pylon', 'JS'], ['Python -middle', 'JS-junior']) java = Vacancy('Java', ['Java game developer'], ['Java - middle', 'Python - senior']) full_stack = Vacancy('Full-Stack', ['PHP', 'MySQL', 'JS'], ['PHP - senior', 'MySql - senior', 'JS -middle'])