new
Usage:
my $proj = new WWW::SourceForge::Project( id => 1234 );
my $proj2 = new WWW::SourceForge::Project( name => 'flightics' );
my @admins = $proj->admins(); # WWW::SourceForge::User objects
my @developers = $proj->developers(); # Ditto
Returns: WWW::SourceForge::Project object;
admins
@admins = $project->admins();
Returns a list of WWW::SourceForge::User objects which are the admins on this project.
developers
@devs = $project->devs();
Returns a list of WWW::SourceForge::User objects which are the developers on the project. This does not include the admins.
users
All project users - admins and non-admins.
files
List of recent released files
latest_release
Date of the latest released file. It's a string. The format is pretty much guaranteed to change in the future. For example, it'll probably be a DateTime object.
downloads
Download counts for the specified date range. If no date range is supplied, assume the 7 days leading up to today.
WARNING: This API is subject to change any moment. The downloads API gives us a LOT more information than just a count, and it may be that we want to expose all of it later one. Right now I just want a count.
my $dl_count = $project->downloads(
start_date => '2012-07-01',
end_date -> '2012-07-25'
);
logo
For Allura projects, the logo is at https://sourceforge.net/p/PROJECT/icon For Classic projects, who the heck knows?
WARNING WARNING WARNING This method will break the next time SF redesigns the project summary page. On the other hand, by then all projects will be Allura projects, and the else clause will never execute. WARNING WARNING WARNING
summary
Returns summary statement of project, if any.
WARNING WARNING WARNING This method relies on particular HTML IDs, and so will break the next time the site is redesigned. Hopefully by then this will be directly available in the API. WARNING WARNING WARNING
activity
Contents of the project activity RSS feed. It's an array, and each item looks like
{
'pubDate' => 'Tue, 12 Jun 2012 19:33:05 +0000',
'title' => 'sf-robot changed the public information on the Flight ICS project',
'link' => 'http://sourceforge.net/projects/flightics',
'description' => 'sf-robot changed the public information on the Flight ICS project'
}
Data access AUTOLOADER
Handles most of the data access for the Project object. Some parts of the data require special treatment.
NAME
WWW::SourceForge::Project - SourceForge project objects
SYNOPSIS
Uses the SourceForge API to load project details. This is a work in progress, and the interface will change. Mostly I'm just poking about to see what this needs to support. Please feel free to play along.
http://sf.net/projects/sfprojecttools/
DESCRIPTION
Implements a Perl interface to SourceForge projects. See http://sourceforge.net/p/forge/documentation/API/
USAGE
use WWW::SourceForge::Project;
my $project = WWW::SourceForge::Project->new( name => 'moodle' );
print $project->id();
print $project->type();
print $project->status();
print $project->latest_release();
See the 'project_details.pl' script in scripts/perl/ for more details.
BUGS
None
SUPPORT
http://sourceforge.net/p/sfprojecttools/tickets/
AUTHOR
Rich Bowen
CPAN ID: RBOW
SourceForge
rbowen@sourceforge.net
http://sf.net
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
perl(1).