Skip to content
Snippets Groups Projects
Select Git revision
  • a1aaccc1b85ed620c703385940cfbf4ef41f2762
  • master default protected
  • devel
  • hruska-feature-clients-api
  • malostik-#5066-deduplicate-idea-ids
  • warden-postgresql-port
  • hruska-feature-#6799-filter-keys
  • hruska-feature-5066-duplicateIdeaID
  • warden-client-3.0-beta3
  • warden-server-3.0-beta3
  • warden-client-2.2-final
  • warden-server-2.2-final
  • warden-client-3.0-beta2
  • warden-server-3.0-beta2
  • warden-client-2.2
  • warden-server-2.2-patch3
  • warden-client-3.0-beta1
  • warden-server-3.0-beta1
  • warden-server-2.2-patch1
  • warden-client-3.0-beta0
  • warden-server-3.0-beta0
  • warden-server-2.2
  • warden-server-2.1-patch1
  • warden-client-2.1
  • warden-server-2.1
  • warden-server-2.1-beta6
  • warden-server-2.1-beta5
  • warden-server-2.1-beta4
28 results

banner.py

Blame
  • DB.pm 3.06 KiB
    package DB;
    use strict;
    use warnings;
    
    use WardenApp::Constants;
    
    use constant DB_ENGINE_MYSQL => 'mysql';
    use constant DB_ENGINE_SQLITE => 'sqlite';
    use constant DB_SECTION => 'db';
    
    use DBI;
    
    sub connectDB {
        my ($cfg, $db_engine) = @_;
        
        my $dbh;
    
         if(lc $db_engine eq DB_ENGINE_MYSQL) {
            
            my $db      = Constants::assignValue('MYSQL.db',  $cfg, DB_SECTION);
            my $host    = Constants::assignValue('MYSQL.host',  $cfg, DB_SECTION);
            my $user    = Constants::assignValue('MYSQL.user',  $cfg, DB_SECTION);
            my $pass    = Constants::assignValue('MYSQL.pass',  $cfg, DB_SECTION);
            my $port    = Constants::assignValue('MYSQL.port',  $cfg, DB_SECTION);
    
            $dbh = DBI->connect("DBI:mysql:host=" . $host . ";port=" . $port . ";database=" . $db,
                                $user,
                                $pass,
                                {RaiseError => 0,AutoCommit => 0}) || die "Database connection not made: $DBI::errstr";
        }
        elsif (lc $db_engine eq DB_ENGINE_SQLITE) {
            
            my $db      = Constants::assignValue('SQLITE.db',  $cfg, DB_SECTION);
            my $user    = Constants::assignValue('SQLITE.user',  $cfg, DB_SECTION);
            my $pass    = Constants::assignValue('SQLITE.pass',  $cfg, DB_SECTION);
    
            $dbh = DBI->connect("DBI:SQLite:" . $db,
                                $user,
                                $pass,
                                {RaiseError => 0,AutoCommit => 1}) || die "Database connection not made: $DBI::errstr";
        }
    
        return \$dbh;
    }
    
    sub getOldDataDB {
    
        my ($db_engine, $expr, $maxage) = @_;
    
        my ($num, $word) = $maxage =~ /(\d+)([dmhDMH])/;
        my ($word_long, $word_desc);
    
        $word_long = "HOUR" if $word =~ /[hH]/;
        $word_long = "DAY"  if $word =~ /[dD]/;
        $word_long = "MONTH" if $word =~ /[mM]/;
    
        my $c;
        $c = "<" if($expr eq "OLDER");
        $c = ">" if($expr eq "NEWER");
    
    
        if($db_engine eq DB_ENGINE_MYSQL) {
            return sprintf("detected %s DATE_SUB(NOW(), INTERVAL %d %s)", $c, $num, $word_long);
        }
        
        if($db_engine eq DB_ENGINE_SQLITE) {
            return sprintf("datetime(detected) %s datetime('now','-%d %s')", $c, $num, $word_long);
        }
    
        return "";