mirror of
https://github.com/ada-dmitry/oop_ada.git
synced 2026-09-24 08:10:24 +00:00
82 lines
2.2 KiB
Python
82 lines
2.2 KiB
Python
import psycopg2
|
|
|
|
class data_base:
|
|
def __init__(self):
|
|
self.db_params = {
|
|
"dbname": "postgres",
|
|
"user": "myuser",
|
|
"password": "qwerty",
|
|
"host": "localhost"
|
|
}
|
|
|
|
def connect(self):
|
|
return psycopg2.connect(**self.db_params)
|
|
|
|
def close(self, conn, cur):
|
|
if cur:
|
|
cur.close()
|
|
if conn:
|
|
conn.close()
|
|
|
|
class Employee:
|
|
def __init__(self, name, age, salary):
|
|
self.name = name
|
|
self.age = age
|
|
self.salary = salary
|
|
|
|
def display_info(self):
|
|
print(f"Name: {self.name}, Age: {self.age}, Salary: {self.salary}")
|
|
|
|
def add2db(self):
|
|
conn = None
|
|
cur = None
|
|
try:
|
|
conn = self.db.connect()
|
|
cur = conn.cursor()
|
|
cur.execute("INSERT INTO patient_db (pat_id, pat_fio, pat_born, medcard_id) VALUES (%s, %s, %s, %s)",\
|
|
(self.pat_id, self.pat_fio, self.pat_born, self.medcardc_id))
|
|
conn.commit()
|
|
finally:
|
|
self.db.close(conn, cur)
|
|
|
|
class Developer(Employee):
|
|
def __init__(self, name, age, salary, programming_languages):
|
|
super().__init__(name, age, salary)
|
|
self.programming_languages = programming_languages
|
|
|
|
def display_tech_stack(self):
|
|
print(f"{self.name}'s tech stack: {', '.join(self.programming_languages)}")
|
|
|
|
class Department:
|
|
def __init__(self, name, code, manager):
|
|
self.name = name
|
|
self.code = code
|
|
self.manager = manager
|
|
|
|
def get_manager_info(self):
|
|
return f"The manager of the department {self.name} is {self.manager}"
|
|
|
|
class Project:
|
|
def __init__(self, name):
|
|
self.name = name
|
|
|
|
def assign_team(self, team):
|
|
print(f"The team for project {self.name} has been assigned: {', '.join(team)}")
|
|
|
|
class ProgrammingLanguage:
|
|
def __init__(self, name, type):
|
|
self.name = name
|
|
self.type = type
|
|
|
|
def display_info(self):
|
|
print(f"Programming language: {self.name}, Type: {self.type}")
|
|
|
|
class Technology:
|
|
def __init__(self, name, description):
|
|
self.name = name
|
|
self.description = description
|
|
|
|
def display_tech_info(self):
|
|
print(f"Technology: {self.name}, Description: {self.description}")
|
|
|