diff lib/list_projects.pl @ 0:1437a2df99c0

Uploaded
author jesse-erdmann
date Fri, 09 Dec 2011 11:56:56 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/list_projects.pl	Fri Dec 09 11:56:56 2011 -0500
@@ -0,0 +1,91 @@
+#/bin/perl                                                                                                                                                                         
+#
+#------------------------------------------------------------------------------
+#                         University of Minnesota
+#      Copyright 2010 - 2011, Regents of the University of Minnesota
+#------------------------------------------------------------------------------
+# Author:
+#
+#  Jesse Erdmann
+#
+# POD documentation
+#------------------------------------------------------------------------------
+=pod BEGIN
+
+=head1 NAME
+
+  list_projects.pl - TAPDANCE utility to list projects in the database
+
+ TAPDANCE functionality.
+
+=head1 SYNOPSIS
+
+   list_projects.pl [-help]
+
+    See http://sf.net/p/tapdancebio for full documentation
+
+=head1 OPTIONS
+
+=over 6
+
+=item  B<-help>
+
+  Print this usage summary.
+
+=item B<-user username>
+
+  Filter projects based on the user that created the project.
+
+=item B<-tag tags>
+
+  Any number of tags may be specified to filter projects where at least
+   one of the tags has been specified as a metadata element for a library 
+   within the project.
+
+=back
+
+=cut
+
+#### END of POD documentation.
+#-----------------------------------------------------------------------------
+use strict;
+use Getopt::Long;
+use Pod::Usage;
+
+my $path = $0;
+$path =~ s/\/\w*\.pl$//g;
+require "$path/tapdance_base_config.pl";
+require "$path/project_man.pl";
+require "$path/util.pl";
+
+my $user = "cmd_line";
+my ($out_file, $help_flag);
+my @tags = ();
+my $query_type = "all";
+my $db_config;
+my %options = (
+    "user|u=s"     => \$user,
+    "tag=s"        => \@tags,
+    "query_type=s" => \$query_type,
+    "db_config=s"  => \$db_config,
+    "help"         => \$help_flag
+);
+
+GetOptions(%options) or pod2usage(2);
+pod2usage(1) if $help_flag;
+
+if (defined($db_config)) {
+    my $db_cnf_path = $path . "/" . $db_config;
+    require "$db_cnf_path";
+}
+
+$user = &sanitize_project($user);
+
+my $projects_ref = &get_project_list($user, $query_type, @tags);
+foreach my $project (@{$projects_ref}) {
+    my $full_name = $project;
+    $project =~ s/$user//;
+    print "$full_name\t$project\n";
+}
+
+exit;