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

Annotation of /FigKernelPackages/ACHserver.pm

Parent Directory Parent Directory | Revision Log Revision Log


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

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3