# pyzor.engines.common

Common library shared by different engines.

class pyzor.engines.common.BaseEngine

  Bases: `object`

  Base class for Pyzor engines.

  absolute_source = True
  classmethod get_prefork_connections(fn, mode, max_age=None)

    Yields an unlimited number of partial functions that return a new engine instance, suitable for using toghether with the Pre-Fork server.

  handles_one_step = False
  items()

    Return a list of (key, record).

  iteritems()

    Iterate over pairs of (key, record).

  report(keys)

    Report the corresponding key as spam, incrementing the report count.

    Engines that implement don’t implement this method should have handles_one_step set to False.

  whitelist(keys)

    Report the corresponding key as ham, incrementing the whitelist count.

    Engines that implement don’t implement this method should have handles_one_step set to False.

class pyzor.engines.common.DBHandle(single_threaded, multi_threaded, multi_processing, prefork)

  Bases: `tuple`

  multi_processing

    Alias for field number 2

  multi_threaded

    Alias for field number 1

  prefork

    Alias for field number 3

  single_threaded

    Alias for field number 0

exception pyzor.engines.common.DatabaseError

  Bases: `Exception`

class pyzor.engines.common.Record(r_count=0, wl_count=0, r_entered=None, r_updated=None, wl_entered=None, wl_updated=None)

  Bases: `object`

  Prefix conventions used in this class: r = report (spam) wl = whitelist

  r_increment()
  r_update()
  wl_increment()
  wl_update()