Mercurial > hg > Members > anatofuz > anatofuz-tools
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 } |