OTP_LOGIN_PATH = "/login.pl"\r
\r
OTP_LOGIN_PARAM = {\r
- "op":"userlogin",\r
- "unickname":"",\r
- "returnto":"http://slashdot.jp",\r
- "upasswd":"",\r
-# "login_temp":0,\r
- "userlogin":"ログイン",\r
- }\r
+ "op":"userlogin",\r
+ "unickname":"",\r
+ "returnto":"http://slashdot.jp",\r
+ "upasswd":"",\r
+# "login_temp":0,\r
+ "userlogin":"ログイン",\r
+ }\r
\r
OTP_LIST_PATH = "/admin.pl"\r
\r
BROWSER = "Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (.NET CLR 3.5.30729) "\r
\r
-import sys, os\r
+import sys\r
+import os\r
import copy\r
import urllib, urllib2\r
import httplib\r
\r
class otptools(object):\r
- """\r
- Open Tech Press management library core module.\r
- """\r
-\r
- def __init__(self, path_cookie, login_name="", login_password=""):\r
+ """\r
+ Open Tech Press management library core module.\r
+ """\r
+\r
+ def __init__(self, path_cookie, login_name="", login_password=""):\r
+ """\r
+ @param path_cookie: path of file which cookie's information stored.\r
+ @type path_cookie: stinrg\r
+\r
+ @param login_name: OTP's login name for use.\r
+ @type login_name: string\r
+\r
+ @param login_password: OTP's login password.\r
+ @type login_password: string\r
+ """\r
+ self.path_cookie = path_cookie\r
+ self.unickname = login_name\r
+ self.upasswd = login_password\r
+ self.cookie = ""\r
+\r
+ def login(self):\r
+ """\r
+ login to OTP.\r
"""\r
- @param path_cookie: path of file which cookie's information stored.\r
- @type path_cookie: stinrg\r
+ login_param = copy.deepcopy(OTP_LOGIN_PARAM)\r
+ login_param["unickname"] = self.unickname\r
+ login_param["upasswd"] = self.upasswd\r
+\r
+ for item in login_param:\r
+ print "%s > %s" % (item, login_param[item])\r
+\r
+ encoded_data = urllib.urlencode(login_param)\r
+ print encoded_data\r
+\r
+ headers = {\r
+ "User-Agent": BROWSER,\r
+ "Content-type": "application/x-www-form-urlencoded",\r
+ "Accept": "text/plain",\r
+ }\r
+\r
+# obj = urllib.urlopen(OTP_LOGIN_URL, encoded_data)\r
+# print obj.info()\r
+\r
+ obj = httplib.HTTPConnection(OTP_LOGIN_HOST)\r
+ obj.request("POST", OTP_LOGIN_PATH, encoded_data, headers)\r
+ resp = obj.getresponse()\r
+ headers = resp.getheaders()\r
+\r
+ for item in headers:\r
+ print item\r
+\r
+# for header in headers:\r
+# if header[0] == "set-cookie":\r
+# str_cookie = header[1]\r
+# break\r
+# else:\r
+# return -1\r
+#\r
+# self.cookie = str_cookie\r
+# return 1\r
\r
- @param login_name: OTP's login name for use.\r
- @type login_name: string\r
+ def save_cookie(self):\r
+ file_obj = open(self.path_cookie, "w")\r
+ file_obj.write(self.cookie)\r
+ file_obj.close()\r
\r
- @param login_password: OTP's login password.\r
- @type login_password: string\r
+ def load_cookie(self):\r
"""\r
- self.path_cookie = path_cookie\r
- self.unickname = login_name\r
- self.upasswd = login_password\r
- self.cookie = ""\r
-\r
- def login( self ):\r
- login_param = copy.deepcopy( OTP_LOGIN_PARAM )\r
- login_param["unickname"] = self.unickname\r
- login_param["upasswd"] = self.upasswd\r
-\r
- for item in login_param:\r
- print "%s > %s" % (item, login_param[item] )\r
-\r
- encoded_data = urllib.urlencode( login_param )\r
- print encoded_data\r
-\r
- headers = {\r
- "User-Agent": BROWSER,\r
- "Content-type": "application/x-www-form-urlencoded",\r
- "Accept": "text/plain",\r
- }\r
-\r
-# obj = urllib.urlopen(OTP_LOGIN_URL, encoded_data )\r
-# print obj.info()\r
-\r
- obj = httplib.HTTPConnection( OTP_LOGIN_HOST )\r
- obj.request( "POST", OTP_LOGIN_PATH, encoded_data, headers )\r
- resp = obj.getresponse()\r
- headers = resp.getheaders()\r
-\r
- for item in headers:\r
- print item\r
-\r
-# for header in headers:\r
-# if header[0] == "set-cookie":\r
-# str_cookie = header[1]\r
-# break\r
-# else:\r
-# return -1\r
-#\r
-# self.cookie = str_cookie\r
-# return 1\r
-\r
- def save_cookie(self):\r
- file_obj = open( self.path_cookie, "w" )\r
- file_obj.write( self.cookie )\r
- file_obj.close()\r
-\r
- def load_cookie(self):\r
- file_obj = open( self.path_cookie, "r" )\r
- self.cookie = file_obj.readline()\r
- file_obj.close()\r
-\r
- def get_list(self):\r
- headers = {\r
- "User-Agent": BROWSER,\r
- "Content-type": "application/x-www-form-urlencoded",\r
- "Accept": "text/plain",\r
- "Cookie": self.cookie,\r
- }\r
- obj = httplib.HTTPConnection( OTP_LOGIN_HOST )\r
- obj.request( "POST", OTP_LIST_PATH, "", headers )\r
- resp = obj.getresponse()\r
- headers = resp.getheaders()\r
-\r
- return resp.read()\r
-\r
- \r
+ load session cookie from file.\r
+ """\r
+ file_obj = open(self.path_cookie, "r")\r
+ self.cookie = file_obj.readline()\r
+ file_obj.close()\r
+\r
+ def get_list(self):\r
+ """\r
+ Access admin.pl and retrieve stories list.\r
+ """\r
+ headers = {\r
+ "User-Agent": BROWSER,\r
+ "Content-type": "application/x-www-form-urlencoded",\r
+ "Accept": "text/plain",\r
+ "Cookie": self.cookie,\r
+ }\r
+ obj = httplib.HTTPConnection(OTP_LOGIN_HOST)\r
+ obj.request("POST", OTP_LIST_PATH, "", headers)\r
+ resp = obj.getresponse()\r
+ headers = resp.getheaders()\r
+\r
+ return resp.read()\r
+\r
+ \r