comparison hg-browse @ 0:78df974566a7

initial commit
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Mon, 12 Nov 2018 19:56:42 +0900
parents
children 85f5eada6707
comparison
equal deleted inserted replaced
-1:000000000000 0:78df974566a7
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use IPC::Run3;
5
6
7 # hg config経由でhgrcにかかれているpush先を確認する
8 my @cmd = ('hg','config','paths.default');
9 my ($stdout,$stderr);
10 eval { run3 \@cmd,undef,\$stdout,\$stderr;};
11
12 if ($@){
13 print "error! >> $stderr";
14 exit 1;
15 }
16
17 # 無かったら特に何もしない
18 exit 1 unless ($stdout);
19
20 # yomitanはパスで開けないので別枠
21 if ($stdout =~ /yomitan/){
22 yomitan($stdout);
23 } elsif ($stdout =~ /firefly/){
24 firefly($stdout);
25 }
26
27 if ( $stdout =~ m[(https?|ssh)://(\w+@)?(.*)]){
28 my $url = "http://$3";
29 print "$url\n";
30 @cmd = ('open',$url);
31 eval { run3 \@cmd,undef,\$stdout,\$stderr;};
32 if ($@){
33 print "error! >> $stderr";
34 exit 1;
35 }
36 }
37
38
39 sub yomitan {
40 my $input = shift;
41 my $http_domain = 'https://ie.u-ryukyu.ac.jp/hg/';
42 my $mid_path = 'index.cgi/home/hg/';
43 my $url;
44
45 if ($input =~ m[jp//home/hg/y(\d+)(.+)]){
46 $url = $http_domain . "y$1/".$mid_path."y$1".$2;
47 } elsif ($input =~ m[ssh://.*yomitan.*//home/hg/y(\d+)(.*)] ){
48 $url = $http_domain . "y$1/".$mid_path."y$1".$2;
49 }
50 @cmd = ('open',$url);
51 eval { run3 \@cmd,undef,\$stdout,\$stderr;};
52 exit 0;
53 }
54
55 sub firefly {
56 my $input = shift;
57 my $http_domain = 'http://www.cr.ie.u-ryukyu.ac.jp/';
58 my $url;
59 if ($input =~ m[.*firefly/(.*)]){
60 $url = $http_domain.$1;
61 }
62 @cmd = ('open',$url);
63 eval { run3 \@cmd,undef,\$stdout,\$stderr;};
64 exit 0;
65 }