40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
# Copyright (C) 2026 Paul Retourné
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
import os
|
|
from pathlib import Path
|
|
|
|
from unisync.argparser import create_argparser
|
|
from unisync.runners import unisync_sync, unisync_add, unisync_mount
|
|
from unisync.config import load_config
|
|
from unisync.synchroniser import Synchroniser
|
|
from unisync.paths import *
|
|
|
|
from runners import *
|
|
|
|
def main():
|
|
parser = create_argparser(unisync_test, unisync_add, unisync_mount)
|
|
cli_args = parser.parse_args()
|
|
|
|
config_path = os.path.expanduser("./config.ini")
|
|
config = load_config(config_path)
|
|
|
|
print(config)
|
|
|
|
synchroniser = Synchroniser(
|
|
config.roots.remote,
|
|
config.roots.local,
|
|
config.server.user,
|
|
config.server.ip if config.server.ip != "" else config.server.hostname,
|
|
config.server.port,
|
|
config.unison.bools,
|
|
config.unison.values
|
|
)
|
|
|
|
paths_manager = PathsManager(Path(config.roots.local), config.other.cache_dir_path)
|
|
|
|
cli_args.func(synchroniser, paths_manager)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|