b2sdk.sync.sync
¶
-
b2sdk.sync.sync.
next_or_none
(iterator)[source]¶ Return the next item from the iterator, or None if there are no more.
-
b2sdk.sync.sync.
zip_folders
(folder_a, folder_b, reporter, policies_manager=<b2sdk.sync.scan_policies.ScanPoliciesManager object>)[source]¶ Iterate over all of the files in the union of two folders, matching file names.
Each item is a pair (file_a, file_b) with the corresponding file in both folders. Either file (but not both) will be None if the file is in only one folder.
- Parameters
folder_a (b2sdk.sync.folder.AbstractFolder) – first folder object.
folder_b (b2sdk.sync.folder.AbstractFolder) – second folder object.
reporter – reporter object
policies_manager – policies manager object
- Returns
yields two element tuples
-
b2sdk.sync.sync.
count_files
(local_folder, reporter)[source]¶ Count all of the files in a local folder.
- Parameters
local_folder (b2sdk.sync.folder.AbstractFolder) – a folder object.
reporter – reporter object
-
class
b2sdk.sync.sync.
KeepOrDeleteMode
[source]¶ Bases:
enum.Enum
An enumeration.
-
DELETE
= 301¶
-
KEEP_BEFORE_DELETE
= 302¶
-
NO_DELETE
= 303¶
-
-
class
b2sdk.sync.sync.
Synchronizer
(max_workers, policies_manager=<b2sdk.sync.scan_policies.ScanPoliciesManager object>, dry_run=False, allow_empty_source=False, newer_file_mode=<NewerFileSyncMode.RAISE_ERROR: 103>, keep_days_or_delete=<KeepOrDeleteMode.NO_DELETE: 303>, compare_version_mode=<CompareVersionMode.MODTIME: 201>, compare_threshold=None, keep_days=None)[source]¶ Bases:
object
-
__init__
(max_workers, policies_manager=<b2sdk.sync.scan_policies.ScanPoliciesManager object>, dry_run=False, allow_empty_source=False, newer_file_mode=<NewerFileSyncMode.RAISE_ERROR: 103>, keep_days_or_delete=<KeepOrDeleteMode.NO_DELETE: 303>, compare_version_mode=<CompareVersionMode.MODTIME: 201>, compare_threshold=None, keep_days=None)[source]¶ Initialize synchronizer class and validate arguments
- Parameters
max_workers (int) – max number of workers
policies_manager – policies manager object
dry_run (bool) – test mode, does not actually transfer/delete when enabled
allow_empty_source (bool) – if True, do not check whether source folder is empty
newer_file_mode (b2sdk.v1.NewerFileSyncMode) – setting which determines handling for destination files newer than on the source
keep_days_or_delete (b2sdk.v1.KeepOrDeleteMode) – setting which determines if we should delete or not delete or keep for keep_days
compare_version_mode (b2sdk.v1.CompareVersionMode) – how to compare the source and destination files to find new ones
compare_threshold (int) – should be greater than 0, default is 0
keep_days (int) – if keep_days_or_delete is b2sdk.v1.KeepOrDeleteMode.KEEP_BEFORE_DELETE, then this should be greater than 0
-
sync_folders
(source_folder, dest_folder, now_millis, reporter)[source]¶ Syncs two folders. Always ensures that every file in the source is also in the destination. Deletes any file versions in the destination older than history_days.
- Parameters
source_folder (b2sdk.sync.folder.AbstractFolder) – source folder object
dest_folder (b2sdk.sync.folder.AbstractFolder) – destination folder object
now_millis (int) – current time in milliseconds
reporter (b2sdk.sync.report.SyncReport,None) – progress reporter
-
make_folder_sync_actions
(source_folder, dest_folder, now_millis, reporter, policies_manager=<b2sdk.sync.scan_policies.ScanPoliciesManager object>)[source]¶ Yield a sequence of actions that will sync the destination folder to the source folder.
- Parameters
source_folder (b2sdk.v1.AbstractFolder) – source folder object
dest_folder (b2sdk.v1.AbstractFolder) – destination folder object
now_millis (int) – current time in milliseconds
reporter (b2sdk.v1.SyncReport) – reporter object
policies_manager – policies manager object
-
make_file_sync_actions
(sync_type, source_file, dest_file, source_folder, dest_folder, now_millis)[source]¶ Yields the sequence of actions needed to sync the two files
- Parameters
sync_type (str) – synchronization type
source_file (b2sdk.v1.File) – source file object
dest_file (b2sdk.v1.File) – destination file object
source_folder (b2sdk.v1.AbstractFolder) – a source folder object
dest_folder (b2sdk.v1.AbstractFolder) – a destination folder object
now_millis (int) – current time in milliseconds
-