[Bio] / FigKernelPackages / ACHserver.pm Repository:
ViewVC logotype

Annotation of /FigKernelPackages/ACHserver.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (view) (download) (as text)

1 : disz 1.1
2 :     package ACHserver;
3 :    
4 :     use LWP::UserAgent;
5 :     use Data::Dumper;
6 :     use YAML;
7 :    
8 :     use strict;
9 :    
10 :     sub new
11 :     {
12 :     my($class, $server_url) = @_;
13 :    
14 : olson 1.3 $server_url = "http://servers.nmpdr.org/ach/server.cgi" unless $server_url;
15 :    
16 :     #$server_url = "http://bio-macpro-2.mcs.anl.gov/~disz/FIG/ach_server.cgi" unless $server_url;
17 : disz 1.1 #$server_url = "http://bio-macpro-1.mcs.anl.gov/ross-proj/FIG/co_occurs_server.cgi" unless $server_url;
18 :    
19 :     my $self = {
20 :     server_url => $server_url,
21 :     ua => LWP::UserAgent->new(),
22 :     };
23 :     return bless $self, $class;
24 :     }
25 :    
26 :     sub equiv_precise {
27 :     my ($self, @args) = @_;
28 :     return $self->run_query("equiv_precise", @args);
29 :     }
30 :     sub equiv_sequence {
31 :     my ($self, @args) = @_;
32 :     return $self->run_query("equiv_sequence", @args);
33 :     }
34 :    
35 :    
36 :     sub run_query
37 :     {
38 :     my($self, $function, @args ) = @_;
39 :    
40 :     my $arg_string = Dump(@args);
41 :     my $form = [function => $function,
42 :     args => "$arg_string"];
43 :    
44 :     my $res = $self->{ua}->post($self->{server_url}, $form);
45 :     if ($res->is_success)
46 :     {
47 : olson 1.3 my $rc;
48 :     eval {
49 :     $rc = Load($res->content);
50 :     };
51 :     if ($@)
52 :     {
53 :     die "Bad YAML parse $@ on input\n" . $res->content;
54 :     }
55 : disz 1.1 }
56 :     else
57 :     {
58 : olson 1.3 die "error on post " . $res->status_line . " " . $res->content;
59 : disz 1.1 }
60 :     }
61 :    
62 :    
63 :     1;
64 :    
65 :    
66 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3