File: _dolog.amc

package info (click to toggle)
arb 6.0.6-1
  • links: PTS, VCS
  • area: non-free
  • in suites: stretch
  • size: 66,012 kB
  • ctags: 53,492
  • sloc: ansic: 394,907; cpp: 250,290; makefile: 19,637; sh: 15,879; perl: 10,473; fortran: 6,019; ruby: 683; xml: 503; python: 53; awk: 32
file content (48 lines) | stat: -rwxr-xr-x 1,331 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/perl
#
# auto-record ARB-session
# (for debugging purposes; user could as well record ARB crashes)
#
# call via:
# arb_ntree --execute _dolog database.arb
#
# rerun via
# arb_ntree --execute _logged database.arb


use strict;
use warnings;

use lib "$ENV{'ARBHOME'}/lib/";
use ARB;

my $logged_amc = '_logged.amc';

my $gb_main = ARB::open(":","r");
if (not $gb_main) {
  my $error = ARB::await_error();
  die "$error";
}

my $macrodir = ARB::getenvARBMACROHOME();
if (defined $macrodir) {
  if (not -d $macrodir) { die "No such directory '$macrodir'"; }
  my $last_logged = $macrodir.'/'.$logged_amc;
  if (-f $last_logged) {
    my $backupDir = $macrodir.'/_backup';
    if (not -d $backupDir) {
      mkdir($backupDir) || die "Failed to create directory '$backupDir' (Reason: $!)";
    }
    my $modtime = (stat $last_logged)[9];
    my $backup = $backupDir.'/_logged_'.$modtime.'.amc';
    print "backup '$last_logged' -> '$backup'\n";
    my $cmd = "cp -p $last_logged $backup";
    system($cmd)==0 || die "Failed to execute '$cmd'";
  }

  BIO::remote_action($gb_main,"ARB_NT","macros");
  BIO::remote_awar($gb_main,"ARB_NT","tmp/macro/file_name",$logged_amc);
  BIO::remote_action($gb_main,"ARB_NT","MACROS/macro_record"); # hack :)
  BIO::remote_action($gb_main,"ARB_NT","MACROS/CLOSE");
}
ARB::close($gb_main);