@startuml
create import_wip.py as script

create "ui : UiTk"
script ->> "ui : UiTk" : UiTk()

create "converter : Yw7Converter" as converter 
script ->> converter : Yw7Converter()

create "exportSourceFactory : ExportSourceFactory" as exportSourceFactory
converter ->> exportSourceFactory : ExportSourceFactory(fileClasses)

create "exportTargetFactory : ExportTargetFactory" as exportTargetFactory 
converter ->> exportTargetFactory : ExportTargetFactory(fileClasses)

create "importSourceFactory : ImportSourceFactory" as importSourceFactory 
converter ->> importSourceFactory : ImportSourceFactory(fileClasses)

create "importTargetFactory : ImportTargetFactory" as importTargetFactory 
converter ->> importTargetFactory : ImportTargetFactory(fileClasses)

create "newProjectFactory : NewProjectFactory" as newProjectFactory 
converter ->> newProjectFactory : NewProjectFactory(fileClasses)

script ->> converter : run(sourcePath, **kwargs)

activate converter
converter ->> exportSourceFactory : make_file_objects(sourcePath, **kwargs)

activate exportSourceFactory
exportSourceFactory -->> converter : exception
deactivate exportSourceFactory

converter ->> importSourceFactory : make_file_objects(sourcePath, **kwargs)

activate importSourceFactory
importSourceFactory -->> converter : exception
deactivate importSourceFactory

converter ->> newProjectFactory : make_file_objects(sourcePath, **kwargs)

activate newProjectFactory
create "source : HtmlImport" as source
newProjectFactory ->> source : HtmlImport()
create "target : Yw7File" as target
newProjectFactory ->> target : Yw7File()
newProjectFactory -->> converter : source, target
deactivate newProjectFactory

converter ->> converter : create_yw7(source, target)
activate converter
converter ->> "ui : UiTk" : set_info_what(message)

converter ->> source : read()
activate source
source -->> converter
deactivate source

converter ->> target : write()
activate target
target -->> converter
deactivate target
deactivate converter

converter ->> "ui : UiTk" : set_info_how(message)
deactivate converter

script ->> "ui : UiTk" : start()
@enduml