The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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' 
    );

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).