Compare commits

...
10 Commits
7 changed files with 95 additions and 53 deletions
+2
View File
@@ -13,6 +13,8 @@ datas = [
('dokogen/dictionaries', 'dokogen/dictionaries'), ('dokogen/dictionaries', 'dokogen/dictionaries'),
# Пустой опросник 152-ФЗ (для «Справка → Пустой опросник») # Пустой опросник 152-ФЗ (для «Справка → Пустой опросник»)
('dokogen/data', 'dokogen/data'), ('dokogen/data', 'dokogen/data'),
# Иконка приложения (для окна программы в exe)
('dokogen/icon.ico', 'dokogen'),
] ]
# ---------- Словари pymorphy3 (обязательно!) ---------- # ---------- Словари pymorphy3 (обязательно!) ----------
+2 -2
View File
@@ -14,8 +14,8 @@ import sys
import json import json
DEFAULT_SETTINGS = { DEFAULT_SETTINGS = {
'dadata_token': '', 'dadata_token': '431aa11706bf83f571cef0319259289aa750bcb1',
'ai_api_key': '', 'ai_api_key': 'sk-3c7e6673f245412697d0e14b6096435f',
'ai_model': 'deepseek-chat', 'ai_model': 'deepseek-chat',
'ai_base_url': 'https://api.deepseek.com', 'ai_base_url': 'https://api.deepseek.com',
} }
+16 -21
View File
@@ -1,22 +1,17 @@
[ [
"Сбор персональных данных", "сбор",
"Запись персональных данных", "систематизация",
"Систематизация персональных данных", "хранение",
"Накопление персональных данных", "извлечение",
"Хранение персональных данных", "передача (предоставление доступа)",
"Уточнение (обновление, изменение) персональных данных", "блокирование",
"Извлечение персональных данных", "уничтожение",
"Использование персональных данных", "запись",
"Передача (распространение, предоставление, доступ) персональных данных", "накопление",
"Обезличивание персональных данных", "уточнение (обновление, изменение)",
"Блокирование персональных данных", "использование",
"Удаление персональных данных", "обезличивание",
"Уничтожение персональных данных", "удаление",
"Трансграничная передача персональных данных", "распространение",
"Автоматизированная обработка персональных данных", "иные действия"
"Неавтоматизированная обработка персональных данных", ]
"Смешанная обработка персональных данных",
"Формирование и ведение баз данных",
"Передача данных третьим лицам",
"Внутренняя передача данных между подразделениями"
]
+15 -7
View File
@@ -1,8 +1,16 @@
[ [
"работники оператора", "Сотрудникам организации",
"клиенты", "Соискателям",
"контрагенты", "Родственникам сотрудников",
"родственники работников", "Уволенным сотрудникам",
"соискатели", "Контрагентам",
"иные лица" "Представителям контрагентов",
] "Клиентам",
"Посетителям сайта",
"Выгодоприобретателям по договорам",
"Субъект персональных данных, предоставивший согласие на трансграничную передачу персональных данных",
"Учащимя",
"Студентам",
"Законным представителям",
"Иным категориям субъектов персональных данных, персональные данные которых обрабатываются"
]
+39 -23
View File
@@ -1,28 +1,44 @@
[ [
"Фамилия, имя, отчество", "Фамилия, Имя, Отчество",
"Год рождения",
"Месяц рождения",
"Дата рождения", "Дата рождения",
"Место рождения", "Место рождения",
"Паспортные данные",
"Адрес регистрации",
"Адрес проживания",
"ИНН",
"СНИЛС",
"Номер телефона",
"Адрес электронной почты",
"Образование",
"Профессия",
"Сведения о доходах",
"Семейное положение", "Семейное положение",
"Состав семьи", "Социальное положение",
"Состояние здоровья", "Имущественное положение",
"Национальность", "Сведения о доходах",
"Гражданство", "Пол",
"Сведения о судимости", "Адрес электронной почты",
"Фотография", "Адрес места жительства",
"Биометрические данные", "Адрес регистрации",
"Рабочий e-mail", "Номер телефона",
"Страховой номер индивидуального лицевого счета (СНИЛС)",
"Идентификационный номер налогоплательщика (ИНН);",
"Сведения о гражданстве",
"Данные документа, удостоверяющего личность",
"Данные водительского удостоверения",
"Данные документа, удостоверяющего личность за пределами Российской Федерации",
"Данные документа, содержащиеся в свидетельстве о рождении",
"Реквизиты банковских карт",
"Номер расчетного счета",
"Номер лицевого счета",
"Профессия",
"Должность", "Должность",
"Табельный номер", "Сведения о трудовой деятельности (в том числе стаж работы, данные о трудовой занятости на текущее время с указанием наименования и расчетного счета организации)",
"Сведения о воинском учете", "Сведения об отношении к воинской обязанности, о воинском учете",
"Сведения о командировках" "Иные персональные данные",
] "Сведения, собираемые посредством метрических программ (например, Яндекс.Метрика)",
"Сведения об образовании",
"Фото-видео изображение лица",
"Данные голоса человека",
"Сведения о состоянии здоровья",
"Национальная принадлежность",
"Политические взгляды",
"Религиозные или философские убеждения",
"Сведения о судимости",
"Данные изображения лица, полученные с помощью фото- видео устройств, на основании которых можно установить его личность и которые используются оператором для установления личности субъекта персональных данных (биометрия)",
"Данные голоса человека, на основании которых можно установить его личность и которые используются оператором для установления личности субъекта персональных данных (биометрия)",
"Изображение папиллярных узоров пальцев рук",
"Иные биометрические персональные данные"
]
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

+21
View File
@@ -34,6 +34,7 @@ class DokoGenApp:
root.title("ДоКоГеНеРаТоР — 152-ФЗ (Персональные данные)") root.title("ДоКоГеНеРаТоР — 152-ФЗ (Персональные данные)")
root.geometry("1200x800") root.geometry("1200x800")
root.minsize(900, 600) root.minsize(900, 600)
self._set_app_icon()
self.model = Company() self.model = Company()
self.current_file: Optional[str] = None self.current_file: Optional[str] = None
@@ -81,6 +82,26 @@ class DokoGenApp:
self._load_autosave() self._load_autosave()
self._start_autosave_timer() self._start_autosave_timer()
def _set_app_icon(self):
"""Устанавливает иконку приложения на окно (заголовок, панель задач).
Работает и из исходников, и из exe (frozen):
- исходники: dokogen/icon.ico рядом с модулем
- exe: dokogen/icon.ico из _MEIPASS (ресурсы PyInstaller)
"""
try:
if getattr(sys, 'frozen', False):
base = getattr(sys, '_MEIPASS', os.path.dirname(sys.executable))
ico = os.path.join(base, 'dokogen', 'icon.ico')
if not os.path.exists(ico):
ico = os.path.join(os.path.dirname(sys.executable), 'icon.ico')
else:
ico = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'icon.ico')
if os.path.exists(ico):
self.root.iconbitmap(ico)
except Exception:
pass
# ==================== МЕНЮ ==================== # ==================== МЕНЮ ====================
def _build_menu(self): def _build_menu(self):
menubar = tk.Menu(self.root) menubar = tk.Menu(self.root)