Syncing two foldersΒΆ

This example is about syncing two folders or creating a backup.

import os
from pyquickhelper.filehelper import synchronize_folder
dest = "temp_sync"

if not os.path.exists(dest):
    print("creating", dest)
    os.makedirs(dest)
else:
    print("folder already created", dest)
creating temp_sync
try:
    copy = os.path.dirname(__file__)
except NameError:
    # __file__ does not exist when run with sphinx-gallery
    copy = "."

paths_to_try = [os.path.join("..", "notebooks"),
                os.path.join("_doc", "notebooks")]

for path in paths_to_try:
    src = os.path.abspath(path)
    if os.path.exists(src):
        break

src = os.path.abspath(src)
synchronize_folder(src, dest, fLOG=print)
[synchronize_folder] from 'somewhere/workspace/pyquickhelper/pyquickhelper_UT_39_std/_doc/notebooks'
[synchronize_folder] to   'temp_sync'
[synchronize_folder]   exploring f1='somewhere/workspace/pyquickhelper/pyquickhelper_UT_39_std/_doc/notebooks'
[synchronize_folder]   number of found files (p1) 19 2023-06-02 23:49:10.189329
[synchronize_folder]   exploring f2='temp_sync'
[synchronize_folder]     number of found files (p2) 1 2023-06-03 00:37:08.889947
[synchronize_folder] Starting synchronisation.
[synchronize_folder] ... 1/18 (current: 'README.txt' :: >+)
[synchronize_folder] ... 2/18 (current: 'check_matplotlib_backend.ipynb' :: >+)
[synchronize_folder] ... 3/18 (current: 'compare_files.ipynb' :: >+)
[synchronize_folder] ... 4/18 (current: 'compare_python_distribution.ipynb' :: >+)
[synchronize_folder] ... 5/18 (current: 'example_about_files.ipynb' :: >+)
[synchronize_folder] ... 6/18 (current: 'example_completion.ipynb' :: >+)
[synchronize_folder] ... 7/18 (current: 'example_documentation.ipynb' :: >+)
[synchronize_folder] ... 8/18 (current: 'example_nbimage.ipynb' :: >+)
[synchronize_folder] ... 9/18 (current: 'example_pyquickhelper.ipynb' :: >+)
[synchronize_folder] ... 10/18 (current: 'example_with_comments.ipynb' :: >+)
[synchronize_folder] ... 11/18 (current: 'exemple_of_fix_menu.ipynb' :: >+)
[synchronize_folder] ... 12/18 (current: 'git_dataframes.ipynb' :: >+)
[synchronize_folder] ... 13/18 (current: 'having_a_form_in_a_notebook.ipynb' :: >+)
[synchronize_folder] ... 14/18 (current: 'javascript_extension.ipynb' :: >+)
[synchronize_folder] ... 15/18 (current: 'nbimage.png' :: >+)
[synchronize_folder] ... 16/18 (current: 'notebook_with_svg.ipynb' :: >+)
[synchronize_folder] ... 17/18 (current: 'profiling.ipynb' :: >+)
[synchronize_folder] ... 18/18 (current: 'simple_example.ipynb' :: >+)
[synchronize_folder] END: no copy

[('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d4550>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d4700>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d44f0>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f847610>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f8476a0>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f847640>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d2cd0>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d2490>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d2c70>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d29a0>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d2640>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d2790>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda2f7d2910>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda47c17be0>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda47c17fa0>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda47c17d60>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda47c17e80>, 'temp_sync'), ('>+', <pyquickhelper.filehelper.file_tree_node.FileTreeNode object at 0x7fda47c17df0>, 'temp_sync')]

Total running time of the script: ( 0 minutes 0.044 seconds)

Gallery generated by Sphinx-Gallery