set destination folder name using name attribute of folder copy api.
This commit is contained in:
@ -1,15 +1,11 @@
|
||||
import dataclasses
|
||||
import os
|
||||
from argparse import Namespace
|
||||
from typing import Any
|
||||
from unicodedata import normalize
|
||||
|
||||
from pydantic import TypeAdapter
|
||||
|
||||
from mdrsclient.api import FileApi, FolderApi
|
||||
from mdrsclient.commands.base import BaseCommand
|
||||
from mdrsclient.exceptions import IllegalArgumentException
|
||||
from mdrsclient.models import FolderSimple
|
||||
|
||||
|
||||
class MvCommand(BaseCommand):
|
||||
@ -72,9 +68,5 @@ class MvCommand(BaseCommand):
|
||||
raise IllegalArgumentException(f"`{s_path}` and `{s_path}` are the same folder.")
|
||||
raise IllegalArgumentException(f"Cannot move `{s_path}` to `{d_path}`: Folder not empty.")
|
||||
folder_api = FolderApi(connection)
|
||||
if s_parent_folder.id != d_parent_folder.id:
|
||||
folder_api.move(s_folder, d_parent_folder.id)
|
||||
if s_basename != d_basename:
|
||||
d_folder_dict = dataclasses.asdict(s_folder) | {"name": normalize("NFC", d_basename)}
|
||||
d_folder = TypeAdapter(FolderSimple).validate_python(d_folder_dict)
|
||||
folder_api.update(d_folder)
|
||||
if s_parent_folder.id != d_parent_folder.id or d_basename != s_basename:
|
||||
folder_api.move(s_folder, d_parent_folder.id, normalize("NFC", d_basename))
|
||||
|
Reference in New Issue
Block a user