• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

lib/WWW/H23-May-2013-909382

t/H23-May-2013-15099

ChangesH A D23-May-2013713 2014

LICENSEH A D23-May-201320.1 KiB384309

MANIFESTH A D23-May-2013459 2019

META.jsonH A D23-May-20131.2 KiB5049

META.ymlH A D23-May-2013699 3130

Makefile.PLH A D23-May-2013772 2419

READMEH A D23-May-20132.6 KiB7255

README.podH A D23-May-20132.7 KiB8960

TodoH A D23-May-201360 62

README

1NAME
2    WWW::SourceForge - Interfaces to the SourceForge data API
3
4SYNOPSIS
5    The WWW::SourceForge family of modules are intended to implement the API
6    documented at https://sourceforge.net/p/forge/documentation/API/
7
8    While this isn't an "official" SourceForge project, I am a SourceForge
9    employee, and maintain these as part of my job. I also use these modules
10    as part of my daily tasks, and so I have an interest in making them work
11    well.
12
13    These are part of a larger package of tools
14    (https:/sourceforge.net/projects/sfprojecttools/) including
15    greasemonkey scripts, and hopefully some day other implementations of
16    the API (PHP and Python would be a winner).
17
18USAGE
19  WWW::SourceForge::User
20     Usage:
21
22        my $user = new WWW::SourceForge::User( id => 1234 );
23        my $user2 = new WWW::SourceForge::User( username => 'rbowen' );
24        my @projects = $user->projects(); # WWW::SourceForge::Project objects
25
26  WWW::SourceForge::Project
27     Usage:
28
29        my $proj = new WWW::SourceForge::Project( id => 1234 );
30        my $proj2 = new WWW::SourceForge::Project( name => 'flightics' );
31
32        my @admins = $proj->admins(); # WWW::SourceForge::User objects
33        my @developers = $proj->developers(); # Ditto
34
35        # WARNING: This method is probably going to change in the future to
36        # return more detailed download data. Check docs frequently.
37        my $download_count = $proj->downloads(
38            start_date => '2012-07-01',
39            end_date   => '2012-07-25'
40        );
41
42  WWW::SourceForge::Release (future?)
43AUTHOR
44        Rich Bowen
45        CPAN ID: RBOW
46        SourceForge Community Geek Hacker
47        rbowen@apache.org
48
49SOURCE
50    The source is in Git on SourceForge:
51    https://sourceforge.net/p/sfprojecttools/code/ Patches make me happy.
52
53SUPPORT
54    https://sourceforge.net/p/sfprojecttools/tickets/
55
56HISTORY
57    A WWW::SourceForge module was originally developed by Kang-min Liu
58    (gugod@gugod.org), which utilized WWW::Mechanize to retrieve project
59    information from SourceForge project pages. With the many changes to the
60    SourceForge website, that module gradually fell out of usefulness. With
61    the new(ish) SourceForge data API, we have a means of accessing this
62    data without having to parse HTML. But many thanks to Kang-min Liu for
63    his early effort, and for his cooperation with me.
64
65COPYRIGHT
66    This program is free software; you can redistribute it and/or modify it
67    under the same terms as Perl itself.
68
69    The full text of the license can be found in the LICENSE file included
70    with this module.
71
72

README.pod

1=head1 NAME
2
3WWW::SourceForge - Interfaces to the SourceForge data API
4
5=head1 SYNOPSIS
6
7The WWW::SourceForge family of modules are intended to implement the API
8documented at https://sourceforge.net/p/forge/documentation/API/
9
10While this isn't an "official" SourceForge project, I am a SourceForge
11employee, and maintain these as part of my job. I also use these modules as part
12of my daily tasks, and so I have an interest in making them work well.
13
14These are part of a larger package of tools
15(https://sourceforge.net/projects/sfprojecttools/) including
16greasemonkey scripts, and hopefully some day other implementations of
17the API (PHP and Python would be a winner).
18
19=head1 USAGE
20
21=head2 WWW::SourceForge::User
22
23 Usage:
24
25    my $user = new WWW::SourceForge::User( id => 1234 );
26    my $user2 = new WWW::SourceForge::User( username => 'rbowen' );
27    my @projects = $user->projects(); # WWW::SourceForge::Project objects
28
29=head2 WWW::SourceForge::Project
30
31 Usage:
32
33    my $proj = new WWW::SourceForge::Project( id => 1234 );
34    my $proj2 = new WWW::SourceForge::Project( name => 'flightics' );
35
36    my @admins = $proj->admins(); # WWW::SourceForge::User objects
37    my @developers = $proj->developers(); # Ditto
38
39    # WARNING: This method is probably going to change in the future to
40    # return more detailed download data. Check docs frequently.
41    my $download_count = $proj->downloads(
42        start_date => '2012-07-01',
43        end_date   => '2012-07-25'
44    );
45
46    # WARNING: This method is probably going to change in the future so
47    # that we can return actual File or Release objects. Still to be
48    # decided. Check docs frequently.
49    my @files = $proj->files();
50    my $date_string = $proj->latest_release();
51
52=head2 WWW::SourceForge::Release (future?)
53
54=head1 AUTHOR
55
56    Rich Bowen
57    CPAN ID: RBOW
58    SourceForge Community Manager
59    rbowen@apache.org
60
61=head1 SOURCE
62
63The source is in Git on SourceForge: https://sourceforge.net/p/sfprojecttools/code/
64Patches make me happy.
65
66=head1 SUPPORT
67
68https://sourceforge.net/p/sfprojecttools/tickets/
69
70=head1 HISTORY
71
72A WWW::SourceForge module was originally developed by Kang-min Liu
73(gugod@gugod.org), which utilized WWW::Mechanize to retrieve project
74information from SourceForge project pages. With the many changes to the
75SourceForge website, that module gradually fell out of usefulness. With
76the new(ish) SourceForge data API, we have a means of accessing this
77data without having to parse HTML. But many thanks to Kang-min Liu for
78his early effort, and for his cooperation with me.
79
80=head1 COPYRIGHT
81
82This program is free software; you can redistribute
83it and/or modify it under the same terms as Perl itself.
84
85The full text of the license can be found in the
86LICENSE file included with this module.
87
88=cut
89