/opt/imunify360/venv/lib/python3.11/site-packages/imav/migration_utils
NameSizeModeActions
__pycache__/-0755rm
other.py19370644editdlrm
plesk_sdk.py32540644editdlrm
revisium.py25200644editdlrm
settings.py14160644editdlrm
__init__.py00644editdlrm
Edit: /opt/imunify360/venv/lib/python3.11/site-packages/imav/migration_utils/other.py (1937B)
""" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program.  If not, see . Copyright © 2019 Cloud Linux Software Inc. This software is also available under ImunifyAV commercial license, see """ import functools import logging import inspect import itertools from pathlib import Path from typing import Optional from defence360agent.utils import importer logger = logging.getLogger(__name__) def batched(iterable, n): # batched('ABCDEFG', 3) --> ABC DEF G if n < 1: raise ValueError("n must be at least one") it = iter(iterable) while batch := tuple(itertools.islice(it, n)): yield batch def get_owner(path: Path) -> Optional[str]: try: return path.owner() except Exception: return None def im360_present(): return importer.exists("im360") def skip_for_im360(f): @functools.wraps(f) async def async_wrapper(*args, **kwargs): if im360_present(): logger.info("Imunify360 is already installed. Skipping...") return return await f(*args, **kwargs) @functools.wraps(f) def wrapper(*args, **kwargs): if im360_present(): logger.info("Imunify360 is already installed. Skipping...") return return f(*args, **kwargs) return async_wrapper if inspect.iscoroutinefunction(f) else wrapper