fix: FSM calls do_transfer_offer() correctly; resume remembers target_host/user/port
This commit is contained in:
+2
-2
@@ -81,8 +81,8 @@ class FSM:
|
|||||||
from source.source import do_stop_service
|
from source.source import do_stop_service
|
||||||
do_stop_service()
|
do_stop_service()
|
||||||
elif name == "TRANSFER":
|
elif name == "TRANSFER":
|
||||||
from transfer.transfer import do_transfer
|
from source.source import do_transfer_offer
|
||||||
do_transfer()
|
do_transfer_offer()
|
||||||
elif name == "DONE":
|
elif name == "DONE":
|
||||||
success("Source-режим завершён")
|
success("Source-режим завершён")
|
||||||
|
|
||||||
|
|||||||
@@ -330,6 +330,24 @@ def do_stop_service():
|
|||||||
|
|
||||||
def do_transfer_offer():
|
def do_transfer_offer():
|
||||||
step(4, "ПЕРЕНОС НА НОВЫЙ СЕРВЕР (опционально)")
|
step(4, "ПЕРЕНОС НА НОВЫЙ СЕРВЕР (опционально)")
|
||||||
|
st = state.load_state()
|
||||||
|
|
||||||
|
# При resume: проверяем, были ли уже введены target-параметры
|
||||||
|
resume_host = st.get("target_host")
|
||||||
|
resume_user = st.get("target_user")
|
||||||
|
resume_port = st.get("target_port", 22)
|
||||||
|
if resume_host and resume_host not in ("", "None"):
|
||||||
|
info(f"Обнаружены ранее введённые параметры target: {resume_user}@{resume_host}:{resume_port}")
|
||||||
|
if confirm("Использовать эти параметры повторно (если ошибка была в SSH-ключе, выберите Y, после фикса)", default="y"):
|
||||||
|
host, user, port_int = resume_host, resume_user or "root", int(resume_port)
|
||||||
|
else:
|
||||||
|
# Сбрасываем, чтобы запросить заново
|
||||||
|
state.set_stage("SOURCE_STOP", target_host=None, target_user=None, target_port=None)
|
||||||
|
host = user = None
|
||||||
|
else:
|
||||||
|
host = user = None
|
||||||
|
|
||||||
|
if not host:
|
||||||
if not confirm("Перенести архив на новый сервер сейчас", default="y"):
|
if not confirm("Перенести архив на новый сервер сейчас", default="y"):
|
||||||
success("Готово! Архив оставлен на текущем сервере.")
|
success("Готово! Архив оставлен на текущем сервере.")
|
||||||
success(f"Manifest и архив лежат в: {_ARCHIVE_DIR}")
|
success(f"Manifest и архив лежат в: {_ARCHIVE_DIR}")
|
||||||
|
|||||||
Reference in New Issue
Block a user