hauberk package

Submodules

hauberk.actions module

hauberk.actions

Actions are triggered after a series of rules have been met.

class hauberk.actions.Archive[source]

Bases: object

Archive message.

class hauberk.actions.Delete[source]

Bases: object

Delete message.

This action marks a message as read.

class hauberk.actions.Move(folder)[source]

Bases: object

Move message to a new folder.

Parameters:folder – Folder to move message to
class hauberk.actions.Notify[source]

Bases: object

Notify through external means.

This is just a placeholder right now

class hauberk.actions.Read[source]

Bases: object

Read message action.

This action marks a message as read.

class hauberk.actions.Respond[source]

Bases: object

Auto respond.

class hauberk.actions.Trash[source]

Bases: object

Mark item as read and move to trash.

This combines the actions for Read and Move(‘Trash’)

hauberk.cli module

Console script for hauberk.

hauberk.core module

Main module.

class hauberk.core.Hauberk(dry_run=False)[source]

Bases: object

add_rule(filters, actions)[source]
existing_folders(folders)[source]

Make sure certain folders exist client side.

Parameters:folders – List of folder names
login(username, password, server)[source]
run()[source]
select_folder(folder)[source]

Select working folder.

Parameters:folder – Folder rules should be applied to
class hauberk.core.Message(envelope, body)[source]

Bases: object

class hauberk.core.Rule(filters, actions)

Bases: tuple

actions

Alias for field number 1

filters

Alias for field number 0

hauberk.filters module

class hauberk.filters.Age(days)[source]

Bases: object

class hauberk.filters.Body(regex)[source]

Bases: object

class hauberk.filters.From(regex)[source]

Bases: object

class hauberk.filters.Subject(regex)[source]

Bases: object

hauberk.flags module

class hauberk.flags.FetchFlags[source]

Bases: enum.Enum

An enumeration.

BODY = b'RFC822'
ENVELOPE = b'ENVELOPE'
class hauberk.flags.ImapFlags[source]

Bases: enum.Enum

An enumeration.

SEEN = b'\\Seen'

hauberk.log module

hauberk.log.setup_logger(logger=None, log_level='INFO')[source]

hauberk.logic module

class hauberk.logic.And(*args)[source]

Bases: object

class hauberk.logic.Or(*args)[source]

Bases: object

Module contents

Top-level package for Hauberk Email Automations.