]> thyrsus.com Git - freecode-submit.git/commitdiff
Bug fixes for withdraw option.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 22 Oct 2010 02:27:06 +0000 (22:27 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 22 Oct 2010 02:27:06 +0000 (22:27 -0400)
freshmeat-submit

index 6af37f2418e42fdffc384ef06845731f178dae2e..10fccc8fea550a4b315124cb472e1cf8d6f649f8 100755 (executable)
@@ -11,6 +11,8 @@ class Update:
         self.per_project = {}
         self.urlassoc = []
         self.per_release = {}
+    def __repr__(self):
+        return "Update(" + repr(self.__dict__) + ")"
 
 # The Freshmeat API implementation is sensitive to the kind of HTTP request
 # method you use.  The general rule is:
@@ -257,7 +259,7 @@ class FreshmeatMetadataFactory:
             if key not in controls and value != None:
                 data[key] = value
                 del options.__dict__[key]
-        if data.get("version") != prior_version:
+        if data.get("version") != prior_version and not options.delete:
             raise FreshmeatSessionException("Version conflict in options.")
         # Hidden flag special handling
         if "hidden_from_frontpage" in data:
@@ -338,7 +340,7 @@ if __name__ == "__main__":
                 session.update_urls(update.urlassoc)
             if update.per_release and update.per_release.keys()!=["version"]:
                 if delete:
-                    session.withdraw_release(update['version'])
+                    session.withdraw_release(update.per_release['version'])
                 else:
                     session.publish_release(update.per_release)
     except FreshmeatSessionException, e: