angelos.lib.replication.preset

Replication presets. The presets defines specific replication behavior needed for several purposes.

class angelos.lib.replication.preset.CustomPreset(archive: unicode, preset: unicode = 'custom', modified: datetime.datetime = None, path: pathlib.PurePosixPath = PurePosixPath('/'), owner: uuid.UUID = None)

Bases: angelos.lib.replication.preset.Preset

class angelos.lib.replication.preset.FileSyncInfo

Bases: object

class angelos.lib.replication.preset.MailClientPreset(modified: datetime.datetime = None)

Bases: angelos.lib.replication.preset.Preset

on_after_upload(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Remove sent and uploaded envelopes.

to_absolute(path: pathlib.PurePosixPath) → pathlib.PurePosixPath

Convert relative path to absolute.

class angelos.lib.replication.preset.MailServerPreset(modified: datetime.datetime = None, owner: uuid.UUID = None)

Bases: angelos.lib.replication.preset.Preset

on_after_download(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Remove received and downloaded envelopes.

class angelos.lib.replication.preset.Preset(archive: unicode, preset: unicode = 'custom', modified: datetime.datetime = None, path: pathlib.PurePosixPath = PurePosixPath('/'), owner: uuid.UUID = None)

Bases: object

Preset operation.

Holds the current status for an ongoing replication operation.

CLIENT = 0
SERVER = 1
T_CUSTOM = 'custom'
T_MAIL = 'mail'
property archive

The archive to synchronize.

file_processed(fileid: uuid.UUID)
property files

The list of files being replicated.

get_file_meta(keys: uuid.UUID)angelos.lib.replication.preset.FileSyncInfo

Pop meta information off.

property modified

Last modified datetime to synchronize.

on_after_delete(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event after delete.

on_after_download(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event after download.

on_after_pull(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event after pull.

on_after_push(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event after push.

on_after_upload(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event after upload.

on_before_delete(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event before delete.

on_before_download(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event before download.

on_before_pull(ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event before pull.

on_before_push(ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event before push.

on_before_upload(serverfile: angelos.lib.replication.preset.FileSyncInfo, clientfile: angelos.lib.replication.preset.FileSyncInfo, ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event before upload.

on_close(ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None, crash: bool = False)

Execute event after close.

on_init(ioc: angelos.lib.ioc.Container, portfolio: Optional[angelos.portfolio.collection.Portfolio] = None)

Execute event before init.

property owner

Owner UUID to synchronize.

property path

Path to synchronize.

property preset

Name of the preset.

property processed
Type

Already replicated files ID

pull_file_meta()angelos.lib.replication.preset.FileSyncInfo

Pop meta information off.

to_absolute(path: pathlib.PurePosixPath) → pathlib.PurePosixPath

Convert relative path to absolute.

to_relative(path: pathlib.PurePosixPath) → pathlib.PurePosixPath

Convert absolute path to relative.