use Encode qw( decode_utf8 encode_utf8 );
use Data::Dump;
-use Carp ();
+use Carp;
with 'FrBr::Common::MooseX::Role::CommonOpts';
after 'BUILD' => sub {
my $self = shift;
- $self->init_app() unless $self->app_initialized;
+ $self->_init_app() unless $self->app_initialized;
$self->debug( "Anwendungsobjekt: ", $self ) if $self->verbose >= 3;
$self->debug( "Bereit zum Kampf - äh - was auch immer." );
#---------------------------------
-=head2 init_app( )
+=head2 _init_app( )
Initialisiert nach dem BUILD alles.
=cut
-sub init_app {
+sub _init_app {
my $self = shift;
$self->debug( "Initialisiere Anwendung ..." );
+ $self->init_app();
$self->app_initialized(1);
}
#---------------------------------
+=head2 init_app( )
+
+Initialisierung als Haken für andere Rollen und Objekte
+
+=cut
+
+sub init_app {
+
+ my $self = shift;
+
+ $self->debug( "Initialisierung beginnt ..." ) if $self->verbose >= 2;
+
+}
+
+#---------------------------------
+
+=head2 run( )
+
+Dummy-Funktion zum Start der Anwendung nach der Initialisierung.
+
+Muss in abgeleiteten Objekten überschrieben werden.
+
+=cut
+
+sub run {
+
+ my $self = shift;
+
+ $self->error( "run() im " . __PACKAGE__ . "-Objekt ist nur eine Dummy-Funktion." );
+ confess( "Dummy-Funktion." );
+
+}
+
+#---------------------------------
+
sub _init_log {
my $self = shift;
my $self = shift;
+ return if $self->app_initialized;
+
$self->debug( "Initialisiere ..." );
if ( $self->verbose >= 2 ) {
}
my $ftp = $self->ftp;
- if ( $ftp->login( $self->ftp_user, $self->ftp_password ) ) {
- $self->debug( "FTP-Login erfolgreich." );
- $self->_set_ftp_connected(1);
- return 1;
- }
- else {
+ unless ( $ftp->login( $self->ftp_user, $self->ftp_password ) ) {
$self->warn( sprintf( "FTP-Login misslungen: %s", $ftp->message ) );
+ return undef;
}
- return undef;
+ $self->debug( "FTP-Login erfolgreich." );
+ $self->_set_ftp_connected(1);
+
+ $self->debug( sprintf( "Wechsele in das FTP-Verzeichnis '%s' ...", $self->ftp_remote_dir->stringify ) );
+ my $result = $ftp->cwd( $self->ftp_remote_dir->stringify );
+ $self->error( sprintf( "Konnte nicht in das FTP-Verzeichnis '%s' wechseln: %s", $self->ftp_remote_dir->stringify, $ftp->message ) ) unless $result;
+
+ return $result;
}