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
# in a detailed kind
use
Tk;
use
Tk::Mirror;
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
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'