A simple client library for google code
use Net::Google::Code; my $project = Net::Google::Code->new( project => 'net-google-code' ); $project->load; # load its metadata, e.g. summary, owners, members, etc. print join(', ', @{ $project->owners } ); # return a Net::Google::Code::Issue object, of which the id is 30 $project->issue( id => 30 ); # return a Net::Google::Code::Download object, of which the file name is # 'FooBar-0.01.tar.gz' $project->download( name => 'FooBar-0.01.tar.gz' ); # return a Net::Google::Code::Wiki object, of which the page name is 'Test' $project->wiki( name => 'Test' ); # loads all the downloads $project->load_downloads; my $downloads = $project->downloads; # loads all the wikis $project->load_wikis; my $wikis = $project->wikis;
Net::Google::Code is a simple client library for projects hosted in Google Code.
Since 0.15, Net::Google::Code offers google's official issues api support. Besides the new \*(C`Net::Google::Code::Issue::list\*(C', \*(C`Net::Google::Code::Issue::Comment::list\*(C' and <Net::Googlel::Code::Issue::load_comments> methods, which use the api from start, you can set $Net::Google::Code::Issue::USE_HYBRID to true to load, create and update issue with the api too.
But the official api is not function complete yet( e.g. no attachment support, can't merge, etc. ), Net::Google::Code will back to the scraping way to accomplish those stuff.
the project name
user's email and password, used to authenticate
the project homepage
the project svn url (without trunk)
the project feeds url
load project's home page, and parse its metadata
acturally do the parse job, for load();
load all the downloads, and store them as an arrayref in $self->downloads
load all the wikis, and store them as an arrayref in $self->wikis
return a new Net::Google::Code::Issue object, arguments will be passed to Net::Google::Code::Issue's new method.
return a new Net::Google::Code::Download object, arguments will be passed to Net::Google::Code::Download's new method.
return a new Net::Google::Code::Wiki object, arguments will be passed to Net::Google::Code::Wiki's new method.
Any::Moose, HTML::TreeBuilder, WWW::Mechanize, Params::Validate XML::FeedPP, DateTime, \s-1JSON\s0, URI::Escape, MIME::Types, File::MMagic
None reported.
No bugs have been reported.
This project is very very young, and api is not stable yet, so don't use this in production, at least for now.
sunnavy \*(C`<[email protected]>\*(C'
Fayland Lam \*(C`<[email protected]>\*(C'
Copyright 2008-2010 Best Practical Solutions.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.