Sympa::Archive(3Sympa)

NAME
Sympa::Archive - Archives of Sympa

SYNOPSIS
  use Sympa::Archive;
  $archive = Sympa::Archive->new(context => $list);

  @arcs = $archive->get_archives;

  $archive->store($message);
  $archive->html_store($message);

  $archive->select_archive('2015-04');
  ($message, $handle) = $archive->next;

  $archive->select_archive('2015-04');
  ($message, $handle) = $archive->fetch(message_id => $message_id);
  $archive->html_remove($message_id);
  $archive->remove($handle);

  $archive->html_rebuild('2015-04');

DESCRIPTION
Sympa::Archive implements the interface to handle archives.

  Methods and functions

new ( context => $list, [ create => 1 ] )
    Constructor. Creates new instance of Sympa::Archive.

    Parameter:

    context => $list
        Context of object, a Sympa::List instance.

    create => 1
        If necessary, creates directory structure of archive. Dies if creation fails. This parameter was introduced on Sympa 6.2.47b.

add_archive ( $arc )
    Instance method. Adds archive directory named $arc. Currently, archive directory must have the form "YYYY-MM".

purge_archive ( $arc )
    Instance method. Removes archive directory and its content entirely. removed content can not be recovered.

select_archive ( $arc, [ info => 1 ] )
    Instance method. Selects an archive directory. It will be referred by consequent operations.

fetch ( message_id => $message_id )
    Instance method. Gets a message from archive. select_archive() must be called in advance.

    Message will be locked to prevent multiple processing of a single message.

    Parameter:

    message_id => $message_id
        Message ID of the message to be fetched.

    Returns:

    Two-elements list of Sympa::Message instance and filehandle locking a message.

html_fetch ( file => $filename )
    Instance method. Gets a metadata of formatted message from HTML archive. select_archive() must be called in advance.

    Parameter:

    file => $filename
        File name of the message to be fetched.

    Returns:

    Hashref. Note that message won't be locked.

get_size ( )
    Instance method. Gets total size of messages in archives. This method was introduced on Sympa 6.2.17.

next ( [ reverse => 1 ] )
    Instance method. Gets next message in archive. select_archive() must be called in advance.

    Message will be locked to prevent multiple processing of a single message.

    Parameters:

    None.

    Returns:

    Two-elements list of Sympa::Message instance and filehandle locking a message.

html_next ( [ reverse => 1 ] )
    Instance method. Gets next metadata of formatted message in archive. select_archive() must be called in advance.

    Parameters:

    None.

    Returns:

    Hashref. Note that message will not be locked.

remove ( $handle )
    Instance method. Removes a message from archive.

    Parameter:

    $handle
        Filehandle, Sympa::LockedFile instance, locking message. It is returned by "fetch"() or "next"().

    Returns:

    True value if message could be removed. Otherwise false value.

html_remove ( $message_id )
    Instance method. TBD.

store ( $message )
    Instance method. Stores the message into archive.

    Parameters:

    $message
        A Sympa::Message instance to be stored. Following attributes and metadata are referred:

        {date}
            Unix time when the message would be delivered.

    Returns:

    If storing succeeded, marshalled metadata (file name) of the message. Otherwise "undef".

html_store ( $message )
    Instance method. TBD.

get_archives ( )
    Instance method. Gets a list of archive directories this archive contains. Items of returned value may be fed to select_archive() and so on.

html_rebuild ( $arc )
    Instance method. Rebuilds archives for the list the name of which is given in the argument $arc.

    Parameters:

    $arc
        A character string containing the name of archive directory in the list which we want to rebuild.

    Returns:

    undef if something goes wrong.

html_format ( $message, destination_dir => $destination_dir, attachment_url => $attachment_url )
    Function. Converts a message to HTML.

    Parameters:

    $message
        Message to be formatted. Sympa::Message instance.

    $destination_dir
        The directory result is stored in.

    $attachment_url
        Base URL used to link attachments.

        Note: On 6.2.13 and earlier, this option was named ""attachement_url"".

        Note: On 6.2.17 and later, this option may take an arrayref value. In such case items will be percent-encoded and conjuncted. Otherwise if a string is given, it will not be encoded.

get_id ( )
    Instance method. Gets unique identifier of instance.

SEE ALSO
archived(8), mhonarc(1), wwsympa(8), Sympa::Message.

HISTORY
Archive was renamed to Sympa::Archive on Sympa 6.2.