OSDN Git Service

beta 1
[otptools/otptools.git] / SourceForgeJP.pm
index 34ad541..5c5ecb0 100644 (file)
@@ -1,98 +1,98 @@
-# WWW::SourceForge.JP
-# by hylom
-# This code is under GPL.
-#
-
-use LWP;
-use HTTP::Cookies;
-use HTTP::Request::Common;
-use SourceForgeJP::Wiki;
-
-package WWW::SourceForgeJP;
-
-my $ua_string = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1';
-my $login_url = 'https://sourceforge.jp/account/login.php';
-my $logout_url = 'https://sourceforge.jp/account/logout.php';
-my $default_cookies = 'cookies.txt';
-
-sub new {
-  my $class = shift @_;
-  my $self = {
-                         'useragent' => $ua_string,
-                         'cookies_file' => $default_cookies,
-                        };
-  return bless $self, $class;
-}
-
-# getter/setter
-sub useragent {
-  my $self = shift @_;
-  return $self->{useragent};
-}
-
-sub cookies_file {
-  my $self = shift @_;
-  return $self->{cookies_file};
-}
-
-sub _get_project_dir {
-  my $self = shift @_;
-  my $project = shift @_;
-
-  return 'http://sourceforge.jp/projects/' . $project;
-}
-
-sub lwp_ua {
-  my $self = shift @_;
-
-  my $ua = LWP::UserAgent->new( 'agent' => $self->useragent, );
-  my $cookie_jar = HTTP::Cookies->new( file => $self->cookies_file, autosave => 1, ignore_discard => 1, );
-  $ua->cookie_jar( $cookie_jar );
-
-  return $ua;
-}
-
-sub login {
-  my $self = shift @_;
-  my $login_name = shift @_;
-  my $password = shift @_;
-
-  my $ua = $self->lwp_ua;
-
-  my $form_data = {
-                                  'return_to' => '/',
-                                  'login' => '1',
-                                  'form_loginname' => $login_name,
-                                  'form_pw' => $password,
-                                  'stay_in_ssl' => '1',
-                                 };
-  my $resp = $ua->post( $login_url, $form_data );
-
-  if ( $resp->is_error ) {
-       print $resp->as_string;
-       return 0;
-  } else {
-       return 1;
-  }
-
-}
-
-sub logout {
-  my $self = shift @_;
-
-  my $ua = $self->lwp_ua;
-  $ua->get( $logout_url );
-}
-
-sub Wiki {
-  my $self = shift @_;
-
-  if ( ! defined $self->{_wiki} ) {
-    $self->{_wiki} = WWW::SourceForgeJP::Wiki->new( $self );
-  }
-
-  return $self->{_wiki};
-}
-
-1;
-
+# WWW::SourceForge.JP\r
+# by hylom\r
+# This code is under GPL.\r
+#\r
+\r
+use LWP;\r
+use HTTP::Cookies;\r
+use HTTP::Request::Common;\r
+use SourceForgeJP::Wiki;\r
+\r
+package WWW::SourceForgeJP;\r
+\r
+my $ua_string = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1';\r
+my $login_url = 'https://sourceforge.jp/account/login.php';\r
+my $logout_url = 'https://sourceforge.jp/account/logout.php';\r
+my $default_cookies = $ENV{"HOME"} . "/" . '.sfjp_cookies';\r
+\r
+sub new {\r
+  my $class = shift @_;\r
+  my $self = {\r
+                         'useragent' => $ua_string,\r
+                         'cookies_file' => $default_cookies,\r
+                        };\r
+  return bless $self, $class;\r
+}\r
+\r
+# getter/setter\r
+sub useragent {\r
+  my $self = shift @_;\r
+  return $self->{useragent};\r
+}\r
+\r
+sub cookies_file {\r
+  my $self = shift @_;\r
+  return $self->{cookies_file};\r
+}\r
+\r
+sub _get_project_dir {\r
+  my $self = shift @_;\r
+  my $project = shift @_;\r
+\r
+  return 'http://sourceforge.jp/projects/' . $project;\r
+}\r
+\r
+sub lwp_ua {\r
+  my $self = shift @_;\r
+\r
+  my $ua = LWP::UserAgent->new( 'agent' => $self->useragent, );\r
+  my $cookie_jar = HTTP::Cookies->new( file => $self->cookies_file, autosave => 1, ignore_discard => 1, );\r
+  $ua->cookie_jar( $cookie_jar );\r
+\r
+  return $ua;\r
+}\r
+\r
+sub login {\r
+  my $self = shift @_;\r
+  my $login_name = shift @_;\r
+  my $password = shift @_;\r
+\r
+  my $ua = $self->lwp_ua;\r
+\r
+  my $form_data = {\r
+                                  'return_to' => '/',\r
+                                  'login' => '1',\r
+                                  'form_loginname' => $login_name,\r
+                                  'form_pw' => $password,\r
+                                  'stay_in_ssl' => '1',\r
+                                 };\r
+  my $resp = $ua->post( $login_url, $form_data );\r
+\r
+  if ( $resp->is_error ) {\r
+       print $resp->as_string;\r
+       return 0;\r
+  } else {\r
+       return 1;\r
+  }\r
+\r
+}\r
+\r
+sub logout {\r
+  my $self = shift @_;\r
+\r
+  my $ua = $self->lwp_ua;\r
+  $ua->get( $logout_url );\r
+}\r
+\r
+sub Wiki {\r
+  my $self = shift @_;\r
+\r
+  if ( ! defined $self->{_wiki} ) {\r
+    $self->{_wiki} = WWW::SourceForgeJP::Wiki->new( $self );\r
+  }\r
+\r
+  return $self->{_wiki};\r
+}\r
+\r
+1;\r
+\r