← Back to team overview

harvest-dev team mailing list archive

[Merge] lp:~dholbach/harvest/627998 into lp:harvest

 

Daniel Holbach has proposed merging lp:~dholbach/harvest/627998 into lp:harvest.

Requested reviews:
  harvest-dev (harvest-dev)
Related bugs:
  #627998 Use anonymous Launchpad login
  https://bugs.launchpad.net/bugs/627998

-- 
https://code.launchpad.net/~dholbach/harvest/627998/+merge/34282
Your team harvest-dev is requested to review the proposed merge of lp:~dholbach/harvest/627998 into lp:harvest.
=== modified file 'harvest/common/launchpad.py'
--- harvest/common/launchpad.py	2010-06-02 14:12:23 +0000
+++ harvest/common/launchpad.py	2010-09-01 14:48:08 +0000
@@ -1,6 +1,4 @@
 from launchpadlib.launchpad import Launchpad, EDGE_SERVICE_ROOT
-from launchpadlib.credentials import Credentials
-from launchpadlib.errors import HTTPError
 
 from django.conf import settings
 
@@ -9,31 +7,19 @@
 def lp_login(lp_instance=EDGE_SERVICE_ROOT):
     """
     Return a logged in Launchpad object. 
-    
-    XXX: Once https://bugs.launchpad.net/soyuz/+bug/510180 is fixed we can 
-    probably use "anonymous login" everywhere.
     """
+
     cachedir = os.path.join(settings.PROJECT_PATH, 'lp_data/cache')
-    creddir = os.path.join(settings.PROJECT_PATH, 'lp_data/lp_credentials')
-    project = settings.PROJECT_NAME.strip()
-    if not os.path.isdir(creddir):
-        os.makedirs(creddir)
-    cred = os.path.join(creddir, '%s.credentials' % project)
-
-    if os.path.exists(cred):
-        credentials = Credentials()
-        credentials.load(open(cred))
-        launchpad = Launchpad(credentials, lp_instance, cachedir)
-    else:
+    client_ident = getattr(settings, 'LP_PROJECT_NAME', "Harvest")
+    try:
+        launchpad = Launchpad.login_anonymously(client_ident, lp_instance, cachedir)
+    except:
         try:
-            launchpad = Launchpad.get_token_and_login(project, lp_instance, 
-                                                      cachedir)
-        except HTTPError as e:
-            raise 'Error connecting to Launchpad: %s' % str(e.value)
-        f = open(cred, 'w')
-        os.chmod(cred, 0600)
-        launchpad.credentials.save(f)
-        f.close()
+            # Support for launchpadlib pre 1.5.4.
+            launchpad = Launchpad.login(client_ident, "", "", lp_instance, cachedir)
+        except:
+            # Launchpad might be offline.
+            return None
     return launchpad
 
 def get_packagesets(lp):

=== modified file 'harvest/opportunities/management/commands/updatepackagesets.py'
--- harvest/opportunities/management/commands/updatepackagesets.py	2010-05-31 15:44:43 +0000
+++ harvest/opportunities/management/commands/updatepackagesets.py	2010-09-01 14:48:08 +0000
@@ -42,10 +42,10 @@
                 # if package is in mapping, it can't be in the unseeded
                 # list any more
                 if package.packagesets.filter(name="unseeded"):
-                    package.packagesets.delete(unseeded)
+                    package.packagesets.remove(unseeded)
                 for packageset in package.packagesets.all():
                     if packageset.name not in package_mapping[package_name]:
-                        package.packagesets.delete(PackageSet.objects.get(name=packageset))
+                        package.packagesets.remove(PackageSet.objects.get(name=packageset))
                 package.save()
         unseeded_packages = SourcePackage.objects.filter(packagesets__isnull=True)
         for u in unseeded_packages: