# Copy file with metadata shutil.copy2(filepath, backup_path)

def timestamp(self): return datetime.now().strftime("%Y%m%d_%H%M%S")

log.append( "time": self.timestamp(), "original": original, "backup": backup, "hash": hashlib.md5(open(original, 'rb').read()).hexdigest() )

def backup_file(self, filepath): # Create relative path to maintain folder structure rel_path = os.path.relpath(filepath, WATCH_DIR) backup_path = os.path.join(BACKUP_DIR, rel_path + f".self.timestamp().bak") os.makedirs(os.path.dirname(backup_path), exist_ok=True)

os.makedirs(BACKUP_DIR, exist_ok=True)

print(f"[Windev] Backed up: filepath → backup_path")

class WindevHandler(FileSystemEventHandler): def on_modified(self, event): if not event.is_directory: self.backup_file(event.src_path)

with open(LOG_FILE, 'w') as f: json.dump(log, f, indent=2)

Каталог 1 Фильтр 0 Избранное Профиль 0 Корзина
скидка на
первую покупку
Авторизация

Windev May 2026

# Copy file with metadata shutil.copy2(filepath, backup_path)

def timestamp(self): return datetime.now().strftime("%Y%m%d_%H%M%S")

log.append( "time": self.timestamp(), "original": original, "backup": backup, "hash": hashlib.md5(open(original, 'rb').read()).hexdigest() )

def backup_file(self, filepath): # Create relative path to maintain folder structure rel_path = os.path.relpath(filepath, WATCH_DIR) backup_path = os.path.join(BACKUP_DIR, rel_path + f".self.timestamp().bak") os.makedirs(os.path.dirname(backup_path), exist_ok=True)

os.makedirs(BACKUP_DIR, exist_ok=True)

print(f"[Windev] Backed up: filepath → backup_path")

class WindevHandler(FileSystemEventHandler): def on_modified(self, event): if not event.is_directory: self.backup_file(event.src_path)

with open(LOG_FILE, 'w') as f: json.dump(log, f, indent=2)

Восстановление пароля

Спасибо, Вы авторизованы!

Ваш пароль успешно изменен и отправлен SMS-сообщением на указанный номер.

Перейти на главную страницу сайта