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 = $project->admins();
Returns a list of WWW::SourceForge::User objects which are the admins on this project.
@devs = $project->devs();
Returns a list of WWW::SourceForge::User objects which are the developers on the project. This does not include the admins.
All project users - admins and non-admins.
List of recent released files
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.
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' );
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
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
Handles most of the data access for the Project object. Some parts of the data require special treatment.
WWW::SourceForge::Project - SourceForge project objects
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.
Implements a Perl interface to SourceForge projects. See http://sourceforge.net/p/forge/documentation/API/
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.
Rich Bowen CPAN ID: RBOW SourceForge firstname.lastname@example.org http://sf.net
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.