annotate lib/list_projects.pl @ 2:37f15fe01f14

Uploaded
author jesse-erdmann
date Fri, 09 Dec 2011 12:02:18 -0500
parents 1437a2df99c0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
1 #/bin/perl
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
2 #
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
3 #------------------------------------------------------------------------------
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
4 # University of Minnesota
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
5 # Copyright 2010 - 2011, Regents of the University of Minnesota
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
6 #------------------------------------------------------------------------------
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
7 # Author:
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
8 #
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
9 # Jesse Erdmann
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
10 #
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
11 # POD documentation
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
12 #------------------------------------------------------------------------------
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
13 =pod BEGIN
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
14
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
15 =head1 NAME
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
16
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
17 list_projects.pl - TAPDANCE utility to list projects in the database
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
18
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
19 TAPDANCE functionality.
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
20
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
21 =head1 SYNOPSIS
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
22
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
23 list_projects.pl [-help]
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
24
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
25 See http://sf.net/p/tapdancebio for full documentation
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
26
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
27 =head1 OPTIONS
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
28
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
29 =over 6
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
30
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
31 =item B<-help>
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
32
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
33 Print this usage summary.
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
34
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
35 =item B<-user username>
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
36
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
37 Filter projects based on the user that created the project.
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
38
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
39 =item B<-tag tags>
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
40
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
41 Any number of tags may be specified to filter projects where at least
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
42 one of the tags has been specified as a metadata element for a library
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
43 within the project.
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
44
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
45 =back
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
46
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
47 =cut
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
48
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
49 #### END of POD documentation.
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
50 #-----------------------------------------------------------------------------
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
51 use strict;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
52 use Getopt::Long;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
53 use Pod::Usage;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
54
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
55 my $path = $0;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
56 $path =~ s/\/\w*\.pl$//g;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
57 require "$path/tapdance_base_config.pl";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
58 require "$path/project_man.pl";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
59 require "$path/util.pl";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
60
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
61 my $user = "cmd_line";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
62 my ($out_file, $help_flag);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
63 my @tags = ();
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
64 my $query_type = "all";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
65 my $db_config;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
66 my %options = (
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
67 "user|u=s" => \$user,
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
68 "tag=s" => \@tags,
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
69 "query_type=s" => \$query_type,
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
70 "db_config=s" => \$db_config,
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
71 "help" => \$help_flag
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
72 );
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
73
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
74 GetOptions(%options) or pod2usage(2);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
75 pod2usage(1) if $help_flag;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
76
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
77 if (defined($db_config)) {
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
78 my $db_cnf_path = $path . "/" . $db_config;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
79 require "$db_cnf_path";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
80 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
81
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
82 $user = &sanitize_project($user);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
83
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
84 my $projects_ref = &get_project_list($user, $query_type, @tags);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
85 foreach my $project (@{$projects_ref}) {
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
86 my $full_name = $project;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
87 $project =~ s/$user//;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
88 print "$full_name\t$project\n";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
89 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
90
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
91 exit;