]> thyrsus.com Git - freecode-submit.git/commitdiff
First successful fetch from API.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 15 Oct 2010 03:14:08 +0000 (23:14 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 15 Oct 2010 03:14:08 +0000 (23:14 -0400)
TEST
freshmeat-submit

diff --git a/TEST b/TEST
index 3b6e14402e36476b16c27413f5a1d2b9df56d2db..b25cdaccafbf4df214c466e7967074c385673cec 100644 (file)
--- a/TEST
+++ b/TEST
@@ -1,4 +1,4 @@
-Project: freshmeat
+Project: freshmeat-submit
 Version: 1.7
 Release-Focus: Major feature enhancements
 Hide: Y
index a4561e910f08fe6274b27ddf25ff6349dfa53735..21afa2a6a85f7fbb3af89967ab352f30a2d50ffa 100755 (executable)
@@ -33,7 +33,6 @@ class Update:
 
 class FreshmeatSession:
     "Encapsulate the state of a Freshmeat API session."
-    freshmeat_api = "http://freshmeat.net/projects/%s.json"
 
     def __init__(self, auth=None, verbose=0):
         "Initialize Freshmeat session credentials."
@@ -53,13 +52,19 @@ class FreshmeatSession:
             ret = credentials.authenticators("freshmeat")
             if not ret:
                 raise FreshmeatSessionException("no credentials for Freshmeat")
-            login, self.account, password = ret
+            login, self.auth, password = ret
 
     def on_project(self, name):
         "Select project by Freshmeat shortname."
         if self.verbose:
             print "Selecting project: %s" % name
         self.project = name
+        query = "http://freshmeat.net/projects/%s.json?auth_code=%s" \
+                % (self.project, self.auth)
+        self.handle = urllib2.urlopen(query)
+        content = json.loads(self.handle.read())
+        print "Header", self.handle.info()
+        print "Content", content
 
     def publish_release(self, data):
         "Add a new release to the current project."
@@ -261,7 +266,7 @@ if __name__ == "__main__":
         # Time to ship the update.
         if not noemit:
             # Establish session
-            session = FreshmeatSession(verbose=int(verbose))
+            session = FreshmeatSession(verbose=int(verbose))            
             session.on_project(update.name)
             # OK, now actually add or delete the release.
             if update.per_release:
@@ -277,7 +282,7 @@ if __name__ == "__main__":
         print >>sys.stderr,"freshmeat-submit:", e.msg
         sys.exit(1)
     except urllib2.URLError, f:
-        print >>sys.stderr,"freshmeat-submit: URLError %s" %  (f.reason)
+        print >>sys.stderr,"freshmeat-submit: URLError %s" %  (f.code,)
         sys.exit(1)
     except urllib2.HTTPError, f:
         print >>sys.stderr,"freshmeat-submit: HTTPError %s" %  (f.code)