NAME

Tk::Mirror - Perl extension for a graphic user interface to up- or download local and remote directories

SYNOPSIS

# in the simplest kind and manner

use Tk;
my $mw->MainWindow->new();
$mw->Mirror()->grid();
MainLoop();

# in a detailed kind

use Tk;
my $mw = MainWindow->new();
my $mirror = $mw->Mirror(
-localdir => 'D:\\Homepage',
-remotedir => 'www.tiscali.de/name',
-user => 'my_ftp@username.de'
-ftpserver => 'ftp.server.de',
-pass => 'my_password',
-debug => 1, # default = 1
-delete => 'enable', # default = 'disabled'
-exclusions => ["private.txt", "secret.txt"],
-subset => [qr/(?i:HOME)(?i:DOC)?/, '.html'],
-timeout => 60,
-connection => undef, # or a connection to a ftp-server
-overwrite => 'older', # 'none', 'all', 'older', default = 'none'
)->grid();
for(keys(%{$mirror->GetChilds()}))
{
$mirror->Subwidget($_)->configure(
-font => "{Times New Roman} 14 {bold}",
);
}
for(qw/
TreeLocalDir
TreeRemoteDir
/)
{
$mirror->Subwidget($_)->configure(
-background => "#FFFFFF",
-width => 40,
-height => 20,
);
}
for(qw/
bEntryUser
EntryPass
bEntryFtpServer
bEntryLocalDir
bEntryRemoteDir
/)
{
$mirror->Subwidget($_)->configure(
-background => "#FFFFFF",
);
}
MainLoop();

DESCRIPTION

This is a graphic user interface to compare, up- or download local and remote directories.

CONSTRUCTOR and INITIALIZATION

(widget-Mirror-object) MainWindowObject->Mirror (options)

OPTIONS

-ftpserver the hostname of the ftp-server
-user the username for authentification
-pass password for authentification
-localdir local directory selecting information from, default '.'
-remotedir remote location selecting information from, default '/'
-debug set it true for more information about the ftp-process, default 1
-timeout the timeout for the ftp-serverconnection
-delete set this to "enable" to allow the deletion of files, default "disabled"
-connection A Net::FTP-object, you should not use that. default = undef
-exclusions A reference to a list of strings interpreted as regular-expressios ("regex") matching to something in the pathnames, you do not want to list. default = empty list [ ]
-subset A reference to a list of strings interpreted as regular-expressios matching to something in the local or remote pathnames, pathnames NOT matching will be ignored. You can also use a regex object [qr/TXT/i, "name", qr/MY_FILES/i, $regex] default = empty list [ ]
-overwrite Set the behavior for up- and download. 'none', 'all', 'older' default = 'none' The option 'older' will work only correctly, when both the FTP-Server and the computer using the same time-zone.

METHODS

(ref_hash_all_childs) Tk::MirrorObject->GetChilds (void) returns a hash of all childs used in the put-together widget, on which you can call the "configure" function.
KEYS VALUES
'LabelUser' => $label_user,
'bEntryUser' => $m->{bentry_user},
'LabelFtpServer' => $label_ftpserver,
'bEntryFtpServer' => $m->{bentry_ftpserver},
'LabelPass' => $label_pass,
'EntryPass' => $m->{entry_pass},
'LabelLocalDir' => $label_local_dir,
'LabelRemoteDir' => $label_remote_dir,
'bEntryLocalDir' => $m->{bentry_local_dir},
'bEntryRemoteDir' => $m->{bentry_remote_dir},
'TreeLocalDir' => $m->{tree_local_dir},
'TreeRemoteDir' => $m->{tree_remote_dir},
'LabelOverwrite' => $m->{label_overwrite},
'rButtonNone' => $m->{rbutton_none},
'rButtonAll' => $m->{rbutton_all},
'rButtonOlder' => $m->{rbutton_older},
'ButtonUpload' => $m->{button_upload},
'ButtonCompare' => $m->{button_compare},
'ButtonDownload' => $m->{button_download},
(ref_scalar_child) MirrorObject->Subwidget(above shown key) returns a reference of a child widget you can call the configure method

You should NOT use the following methods directly!!!

(1|undef) Tk::MirrorObject->CompareDirectories (void) Compares the localdirectory with the remotedirectory and draws the directory trees.
(1|undef) Tk::MirrorObject->Download (void) Download the remote directory to local hard disk, and draws the directory trees again.
(1|undef) Tk::MirrorObject->Upload (void) Upload the local directory from hard disk to the remote FTP-location, and draws the directory trees again.
(1|undef) Tk::MirrorObject->SetParams (void) Hands over the parameter, entered in the graphic user interface, to the Net::Download- and Net::Upload-Object.
(1) Tk::MirrorObject->StoreParams (void) Stores the values, entered in the graphic user intervace.
(1) Tk::MirrorObject->UpdateAccess (attribute, browseentry, value) Called by the BrowseEntry-Widget to update other widgets.
(1) Tk::MirrorObject->InsertLocalTree (void) Insert the local directory-tree after a call to the Compare() method.
(1) Tk::MirrorObject->InsertRemoteTree (void) Insert the remote directory-tree after a call to the Compare() method.
(1) Tk::MirrorObject->InsertStoredValues (void) Insert the stored parameters in the BrowseEntry-Widgets.
(1) Tk::MirrorObject->InsertPaths (tree-widget, ref_array_paths) Takes a tree-widget and a array-reference of pathnames to insert them in the directory tree.
(1) Tk::MirrorObject->DeletePaths (tree-widget, ref_array_paths) Takes a tree-widget and a array-reference of pathnames to delete them from the directory tree.
(1) Tk::MirrorObject->InsertProperties (tree-widget, ref_array_paths, property) Takes a tree-widget, a array-reference of pathnames and a string. The string will be added to all pathnames.
(1) Tk::MirrorObject->DeleteProperties (tree-widget, ref_array_pahts) Takes a tree-widget and a array-reference of pathnames. All strings, added to the pathnames, will be deleted.
(1) Tk::MirrorObject->InsertRemoteModifiedTimes (ref_array_remote_files) Takes a array-reference of remote files. The last- and current modified-times from the remote files, will be added.
(1) Tk::MirrorObject->InsertLocalModifiedTimes (ref_array_local_files) Takes a array-reference of local files. The last- and current modified-times from the local files, will be added.

EXPORT

None by default.

SEE ALSO

Tk
Net::MirrorDir
Net::UploadMirror
Net::DownloadMirror

BUGS

Maybe you'll find some. Let me know.

REPORTING BUGS

When reporting bugs/problems please include as much information as possible.

AUTHOR

Torsten Knorr, <create-soft@tiscali.de>

COPYRIGHT AND LICENSE

Copyright (C) 2006 - 2008 by Torsten Knorr

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.9.2 or, at your option, any later version of Perl 5 you may have available.

8 POD Errors

The following errors were encountered while parsing the POD:

Around line 871:

'=item' outside of any '=over'

Around line 873:

You forgot a '=back' before '=head2'

Around line 875:

'=item' outside of any '=over'

Around line 920:

You forgot a '=back' before '=head2'

Around line 922:

'=item' outside of any '=over'

Around line 951:

You forgot a '=back' before '=head2'

Around line 953:

'=item' outside of any '=over'

Around line 1008:

You forgot a '=back' before '=head2'