commit-womb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-womb] gnumaint/fsd gnufsd-psql


From: Kaloian Doganov
Subject: [commit-womb] gnumaint/fsd gnufsd-psql
Date: Sat, 06 Jun 2009 13:44:24 +0000

CVSROOT:        /sources/womb
Module name:    gnumaint
Changes by:     Kaloian Doganov <kaloian>       09/06/06 13:44:24

Modified files:
        fsd            : gnufsd-psql 

Log message:
        Dump information about project's subprograms.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/fsd/gnufsd-psql?cvsroot=womb&r1=1.6&r2=1.7

Patches:
Index: gnufsd-psql
===================================================================
RCS file: /sources/womb/gnumaint/fsd/gnufsd-psql,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gnufsd-psql 4 Jun 2009 10:47:38 -0000       1.6
+++ gnufsd-psql 6 Jun 2009 13:44:24 -0000       1.7
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: gnufsd-psql,v 1.6 2009/06/04 10:47:38 kaloian Exp $
+# $Id: gnufsd-psql,v 1.7 2009/06/06 13:44:24 kaloian Exp $
 # Extract information about GNU packages from the Free Software
 # Directory's PostgreSQL database.
 #
@@ -30,8 +30,8 @@
 # FIXME: What about handling UTF-8 from PostgreSQL?
 
 my ($dbh, $sth_homepage, $sth_download_url, $sth_activity_status,
-    $sth_categories, $sth_category, $sth_versions, $sth_licenses,
-    $sth_interfaces);
+    $sth_categories, $sth_subprograms, $sth_category, $sth_versions,
+    $sth_licenses, $sth_interfaces);
 
 my %user_level_enum = (
   0 => "unknown",
@@ -83,6 +83,10 @@
     "SELECT name, slug, parent_category_id  FROM directory_category
      WHERE id = ?;");
 
+  $sth_subprograms = $dbh->prepare (
+    "SELECT name FROM directory_subprogram
+     WHERE project_id = ?;");
+
   $sth_versions = $dbh->prepare (
     "SELECT v.id, v.name, v.date, v.status, v.notes,
        u.first_name || ' ' || u.last_name || ' <' || u.email || '>'
@@ -332,6 +336,17 @@
   return sort (@result);
 }
 
+# Fetch subprograms for a project.
+sub subprograms (\%)
+{
+  my ($project) = @_;
+  my $id = $project->{"id"};
+  $sth_subprograms->bind_param (1, $id);
+  my @subprograms = all_col ($sth_subprograms, "name");
+
+  return sort (@subprograms);
+}
+
 # Reformat paragraph text using coreutils' fmt.
 sub fmt ($)
 {
@@ -450,6 +465,9 @@
 
   print "category: $_\n" foreach (categories (%$project));
 
+  my $subprograms = join (" | ", subprograms (%$project));
+  print "subprograms: $subprograms\n" if ! ($subprograms eq '');
+
   print "entry-compiled-by: $project->{entry_compiled_by}\n";
 
   my @updated = iso_date_to_str ($project->{"updated"});




reply via email to

[Prev in Thread] Current Thread [Next in Thread]