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 14:32:41 +0000

CVSROOT:        /sources/womb
Module name:    gnumaint
Changes by:     Kaloian Doganov <kaloian>       09/06/06 14:32:41

Modified files:
        fsd            : gnufsd-psql 

Log message:
        Dump information about project's computer languages.

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

Patches:
Index: gnufsd-psql
===================================================================
RCS file: /sources/womb/gnumaint/fsd/gnufsd-psql,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- gnufsd-psql 6 Jun 2009 13:44:24 -0000       1.7
+++ gnufsd-psql 6 Jun 2009 14:32:41 -0000       1.8
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: gnufsd-psql,v 1.7 2009/06/06 13:44:24 kaloian Exp $
+# $Id: gnufsd-psql,v 1.8 2009/06/06 14:32:41 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_subprograms, $sth_category, $sth_versions,
-    $sth_licenses, $sth_interfaces);
+    $sth_computer_languages, $sth_subprograms, $sth_categories,
+    $sth_category, $sth_versions, $sth_licenses, $sth_interfaces);
 
 my %user_level_enum = (
   0 => "unknown",
@@ -75,6 +75,17 @@
     "SELECT name, date FROM directory_version
      WHERE project_id = ? ORDER BY date DESC;");
 
+  $sth_computer_languages = $dbh->prepare (
+    "SELECT l.name
+     FROM directory_computerlanguage l, directory_project_computer_languages p
+     WHERE l.id = p.computerlanguage_id AND p.project_id = ?
+     ORDER BY l.name ASC;");
+
+  $sth_subprograms = $dbh->prepare (
+    "SELECT name FROM directory_subprogram
+     WHERE project_id = ?
+     ORDER BY name;");
+
   $sth_categories = $dbh->prepare (
     "SELECT category_id FROM directory_project_categories
      WHERE project_id = ?;");
@@ -83,10 +94,6 @@
     "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 || '>'
@@ -336,6 +343,17 @@
   return sort (@result);
 }
 
+# Fetch computer languages for a project.
+sub computer_languages (\%)
+{
+  my ($project) = @_;
+  my $id = $project->{"id"};
+  $sth_computer_languages->bind_param (1, $id);
+  my @computer_languages = all_col ($sth_computer_languages, "name");
+
+  return @computer_languages;
+}
+
 # Fetch subprograms for a project.
 sub subprograms (\%)
 {
@@ -344,7 +362,7 @@
   $sth_subprograms->bind_param (1, $id);
   my @subprograms = all_col ($sth_subprograms, "name");
 
-  return sort (@subprograms);
+  return @subprograms;
 }
 
 # Reformat paragraph text using coreutils' fmt.
@@ -463,11 +481,14 @@
   my $user_level = $user_level_enum{$project->{"user_level"}};
   print "user-level: $user_level\n";
 
-  print "category: $_\n" foreach (categories (%$project));
+  my $computer_lang = join (" | ", computer_languages (%$project));
+  print "computer-languages: $computer_lang\n" if ! ($computer_lang eq '');
 
   my $subprograms = join (" | ", subprograms (%$project));
   print "subprograms: $subprograms\n" if ! ($subprograms eq '');
 
+  print "category: $_\n" foreach (categories (%$project));
+
   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]