Sympa::Archive.3Sympa - Man Page

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.

Info

2020-05-24 sympa 6.2.56