Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.40 KB | None | 0 0
  1. """
  2. В programs идет массив программ вуза
  3. В programLinks массив ссылок к кажлой программе (если нет ссылки у программы то записывай None)
  4. В departments массив из факультетов итмо (можешь кидать как есть, прям с опечатками т.к. добавил словарь который приводит это в нормальный вид)
  5. level = 'Bachelor', 'Master', 'PhD', 'Master and Bachelor'
  6.  
  7. """
  8. class GroupOfProgramms:
  9.     def __init__(self, name, language, level, university, comment, programs, programLinks, departments):
  10.         self.language = language
  11.         self.level = level
  12.         self.university = university
  13.         self.comment = comment
  14.         self.programs = programs
  15.         self.departments = departments
  16.         self.name = name
  17.         self.programLinks = programLinks
  18.         self.dic = {'Art & Science' : 'Art & Science', 'Art & Science ' : 'Art & Science', 'Art & Science (Architecture)' : 'Art & Science', 'Art & Science (Architecture) ': 'Art & Science', 'Art & Science (Design, Architecture)' : 'Art & Science', 'Art & Science (Media and Communication)' : 'Art & Science', 'Art&Science':'Art & Science', 'CУиР (Очень отдаленно)' : 'CУиР', 'БТиНС (Биотехнологии)':'БТиНС (Биотехнологии)', 'ИДУ':'ИДУ', 'ИДУ (Транспортные системы)':'ИДУ', 'ИКТ':'ИКТ', 'ИКТ ':'ИКТ', 'ИКТ (Системы радиосвязи и радиодоступа, лучевая медицина, Биоинформатика)':'ИКТ', 'ИКТ ФТМИ':None, 'ИТМО.финтех':'ИТМО.финтех', 'ИТиП':'ИТиП', 'Институт дизайна и урбанистики':'ИДУ', 'Институт дизайна и урбанистки':'ИДУ', 'Институт трансляцинной медицины':'ИТМ', 'Институт трансляционной медицины':'ИТМ', 'Институт трансляционной медицины (Биоинформатика и Геномика)':'ИТМ', 'Институт трансляционной медицины (Биоинформатика)':'ИТМ', 'Институт трансялционной медицины (Биоинформатика)':'ИТМ', 'Институт трянсляционой медицины (Биоинформатика) ПИиКТ, ФИТиП, ИКТ':None, 'ЛФиОЭ':'ЛФиОЭ', 'ЛФиОЭ ':'ЛФиОЭ', 'МФКТиУ':'МФКТиУ', 'Мегафакультет трансляционных информационных технологий':'МФТИТ', 'Оптоэлектроника см. раздел Mechanical Engineering':'ЛФиО', 'ПБИ':'ПБИ', 'ПБИ ':'ПБИ', 'ПБИ (Биоинжинерия)':'ПБИ', 'ПБИ (Биотехнологии)':'ПБИ', 'ПБИ (Биотехнологии) ':'ПБИ', 'ПБИ (Биотехнологии, Продукты питания, Пищевые технологии, Биоинжинерия)':'ПБИ', 'ПБИ (Биотехнологии, Хим. технологии)':'ПБИ', 'ПБИ (Биотехнологии, Хим.техологии)':'ПБИ', 'ПБИ (Биотехнологии, биоинжинерия)':'ПБИ', 'ПБИ (Биотехнологии, хим. технологии)':'ПБИ', 'ПБИ (Биотехнологии, хим.технологии)':'ПБИ', 'ПБИ (Биотехологии, продукты биологического происхождения)':'ПБИ', 'ПБИ (Кроме Food Science)':'ПБИ', 'ПБИ (Нефтехимия)':'ПБИ', 'ПБИ (Пищевые биотехнологии)':'ПБИ', 'ПБИ (Пищевые биотехнологии, продукты питания)':'ПБИ', 'ПБИ (Пищевые биотехнологии, хим. технологии)':'ПБИ', 'ПБИ (Продукты питания)':'ПБИ', 'ПБИ (Хим. Инженерия)':'ПБИ', 'ПБИ (Хим. Технологии, биотехнологии)':'ПБИ', 'ПБИ (Хим.тех., биотех)':'ПБИ', 'ПБИ (Хим.технологии)':'ПБИ', 'ПБИ (Химические технологии и Биотехнологии)':'ПБИ', 'ПИКиКТ ':'ПИиКТ', 'ПИиИКТ, ФИТиП, ИКТ':None, 'ПИиКТ':'ПИиКТ', 'ПИиКТ (Интересные направления)':'ПИиКТ', 'ПИиКТ Институт трансляционной медицины ИКТ ФИТиП':None, 'ПИиКТ, ФИТиП':None, 'ПиКТ':'ПИиКТ', 'Рай для ПБИ (Продукты питания, биотехнологии)':'ПБИ', 'СУиР':'CУиР', 'СУиР ':'CУиР', 'СУиР (Мехатроника и робототехника, эклетротехника и электроэнергетика)':'CУиР', 'СУиР (Робототехника)':'CУиР', 'СУиР (Электроника и электротехника)':'CУиР', 'СУиР (Электротехника)':'CУиР', 'СУиР (Электроэнергетика и Электротехника)':'CУиР', 'СУиР (Электроэнергетика и электротехника)':'CУиР', 'СУиР (Электроэнергетика и электротехника, Системы управления)':'CУиР', 'Согласно брошюре только ФТМИ':'ТМИ', 'ФБИТ':'БИТ', 'ФИКТ':'ИКТ', 'ФИКТ (Мультимедийные технологии)':'ИКТ', 'ФИКТ (Телекоммуникационные технологии)':'ИКТ', 'ФИТиП':'ИТиП', 'ФИТиП ':'ИТиП', 'ФИТиП (?)':'ИТиП', 'ФЛФиОЭ':'ЛФиОЭ', 'ФНТЭ':'НТЭ', 'ФНТЭ ':'НТЭ', 'ФНТЭ (Возобновляемая энергетика)':'НТЭ', 'ФНТЭ (Возобновляемая энергетика, Экология)':'НТЭ', 'ФНТЭ (Возобновляемая энергетика, термодинамика, термофизика)':'НТЭ', 'ФНТЭ (Наноэнергетика)':'НТЭ', 'ФНТЭ (Термодинамика)':'НТЭ', 'ФНТЭ (Факультет низкотемпературной энергетики)':'НТЭ', 'ФНТЭ (Экология и возобновляемая энергетика)':'НТЭ', 'ФНТЭ (Экология)':'НТЭ', 'ФНТЭ (Экология, Системы жизнеобеспечения)':'НТЭ', 'ФНТЭ (Энергия и Экология)':'НТЭ', 'ФПБИ':'ПБИ', 'ФПБИ (Биотехнологии и хим.технологии)':'ПБИ', 'ФПБИ (Биотехнологии, хим.технологии)':'ПБИ', 'ФПБИ (Пищевые биотехнологии на испанском)':'ПБИ', 'ФПБИ (Продукты питания, биотехнологии)':'ПБИ', 'ФПБИ (Хим.тех., нефтехим. и биотехнологии)':'ПБИ', 'ФПИиКТ':'ПИиКТ', 'ФПО':'ФПО', 'ФТМИ':'ТМИ', 'ФТМИ ':'ТМИ', 'ФТМИ (Media and Communication)':'ТМИ', 'ФТМИ (Бизнес информатика)':'ТМИ', 'ФТФ':'ФТФ', 'ФТФ (Метаматериалы)':'ФТФ', 'ФТФ (Метаматериалы, нанофотоника)':'ФТФ', 'ФТФ (Нанофотоника)':'ФТФ', 'ФТФ (Нанофотоника, метаматериалы)':'ФТФ', 'ФТФ ИДУ ':None, 'ФиОИ':'ФиОИ', 'ФФиОИ':'ФиОИ', 'ФФиОИ ':'ФиОИ', 'ФФиОИ, ФПО, ЛФиОЭ':None, 'ФиОИ':'ФиОИ', 'ФиОИ (Архитектура вычислительных систем)':'ФиОИ', 'ХБК':'ХБК', 'ХБК ':'ХБК', 'ХБК (Advanced Materials)':'ХБК', 'ХБК (Chemoinformatics)':'ХБК', 'ХБК (Molecular Biosensing & Biorobotics)':'ХБК', 'ХБК (Molecular Biosensing and Biorobotics)':'ХБК', 'ХБК (Nanoengineering for Green Chemistry & Advanced Materials)':'ХБК', 'ХБК (Nanoengineering for Green Chemistry & Advanced Materials, Molecular Biosensing & Biorobotics)':'ХБК', 'ХБК (Nanoengineering for Green Chemistry & Advanced Materials, Биотехнологии, Хим. технологии)':'ХБК', 'ХБК (Nanoengineering)':'ХБК', 'ХБК (Nanoenginering for Green Chemistry & Advanced Materials)':'ХБК', 'ХБК (Nanoenginering)':'ХБК', 'ХБК (Хим. инженерия и биотехнология)':'ХБК', 'ХБК (Хим. инжиниринг и биотех., Molecular Biosensing)':'ХБК', 'ХБК (Хим.инжиниринг)':'ХБК', 'ХБК (Хим.инжиниринг, Nanoengineering for Green Chemistry & Advanced Materials, Molecular Biosensing & Biorobotics)':'ХБК', 'Хим-био кластер':'ХБК', 'Химико-био кластер':'ХБК'}
  19.  
  20.     def writeGroup(self):
  21.         for dep in self.departments:
  22.             if '(' in dep:
  23.                 self.comment = str(dep) + '\n' + self.comment
  24.         print("INSERT INTO mobility_groupofprograms (name, language_id, level_id, univeristy_id, comment) VALUES ('{}',(SELECT id from mobility_langauge WHERE name= '{}'), (SELECT id from mobility_langauge WHERE name= '{}'), (SELECT id from mobility_university WHERE name= '{}'), '{}');".format(self.name, self.language, self.level, self.university, self.comment))
  25.         for dep in self.departments:
  26.             if dep in self.dic:
  27.                 print("INSERT INTO mobility_groupofprograms_department (groupofprograms_id, department_id) VALUES ((SELECT id from mobility_groupofprograms WHERE name= '{}' AND level_id = (SELECT id from mobility_studylevel WHERE name= '{}')), (SELECT id from mobility_department WHERE name= '{}'));".format(self.name, self.level, self.dic[dep]))
  28.  
  29.     def writePrograms(self):
  30.         i = 0
  31.         for program in self.programs:
  32.             if self.programLinks[i]:
  33.                 print("INSERT INTO mobility_program (name, link, groupOfPrograms_id) VALUES ('{}', '{}', (SELECT id from mobility_groupofprograms WHERE name= '{}' AND level_id = (SELECT id from mobility_studylevel WHERE name= '{}')));".format(program, self.programLinks[i], self.name, self.level))
  34.             else:
  35.                 print("INSERT INTO mobility_program (name, groupOfPrograms_id) VALUES ('{}', (SELECT id from mobility_groupofprograms WHERE name= '{}' AND level_id = (SELECT id from mobility_studylevel WHERE name= '{}')));".format(program, self.name, self.level))
  36.             i = i + 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement