[Top][All Lists]
[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 15:10:28 +0000 |
CVSROOT: /sources/womb
Module name: gnumaint
Changes by: Kaloian Doganov <kaloian> 09/06/06 15:10:28
Modified files:
fsd : gnufsd-psql
Log message:
Dump information about related projects to a project.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/fsd/gnufsd-psql?cvsroot=womb&r1=1.8&r2=1.9
Patches:
Index: gnufsd-psql
===================================================================
RCS file: /sources/womb/gnumaint/fsd/gnufsd-psql,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- gnufsd-psql 6 Jun 2009 14:32:41 -0000 1.8
+++ gnufsd-psql 6 Jun 2009 15:10:27 -0000 1.9
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# $Id: gnufsd-psql,v 1.8 2009/06/06 14:32:41 kaloian Exp $
+# $Id: gnufsd-psql,v 1.9 2009/06/06 15:10:27 kaloian Exp $
# Extract information about GNU packages from the Free Software
# Directory's PostgreSQL database.
#
@@ -31,7 +31,8 @@
my ($dbh, $sth_homepage, $sth_download_url, $sth_activity_status,
$sth_computer_languages, $sth_subprograms, $sth_categories,
- $sth_category, $sth_versions, $sth_licenses, $sth_interfaces);
+ $sth_category, $sth_related, $sth_versions, $sth_licenses,
+ $sth_interfaces);
my %user_level_enum = (
0 => "unknown",
@@ -94,6 +95,12 @@
"SELECT name, slug, parent_category_id FROM directory_category
WHERE id = ?;");
+ $sth_related = $dbh->prepare (
+ "SELECT p.slug
+ FROM directory_project p, directory_project_related r
+ WHERE r.to_project_id = p.id AND r.from_project_id = ?
+ ORDER BY p.slug ASC;");
+
$sth_versions = $dbh->prepare (
"SELECT v.id, v.name, v.date, v.status, v.notes,
u.first_name || ' ' || u.last_name || ' <' || u.email || '>'
@@ -343,6 +350,17 @@
return sort (@result);
}
+# Fetch related projects for a project.
+sub related (\%)
+{
+ my ($project) = @_;
+ my $id = $project->{"id"};
+ $sth_related->bind_param (1, $id);
+ my @related = all_col ($sth_related, "slug");
+
+ return @related;
+}
+
# Fetch computer languages for a project.
sub computer_languages (\%)
{
@@ -489,6 +507,9 @@
print "category: $_\n" foreach (categories (%$project));
+ my $related = join (" | ", related (%$project));
+ print "related-packages: $related\n" if ! ($related eq '');
+
print "entry-compiled-by: $project->{entry_compiled_by}\n";
my @updated = iso_date_to_str ($project->{"updated"});
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06
- [commit-womb] gnumaint/fsd gnufsd-psql,
Kaloian Doganov <=
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06