Really ensure we don't catch any NULL or blank values

Fuck you too, Django.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-11-01 16:47:37 -05:00
parent 09ea244420
commit ade2c08899

View File

@ -8,7 +8,6 @@
""" """
from django.core.management.base import BaseCommand, CommandError from django.core.management.base import BaseCommand, CommandError
from django.db.models import Q
import logging import logging
import subprocess import subprocess
@ -44,9 +43,10 @@ def handle(self, *args, **options):
def generate_keyring(keyserver, keyring): def generate_keyring(keyserver, keyring):
logger.info("getting all known key IDs") logger.info("getting all known key IDs")
exclude = Q(pgp_key__isnull=True) & Q(pgp_key__exact="") # Screw you Django, for not letting one natively do value != <empty string>
key_ids = UserProfile.objects.exclude( key_ids = UserProfile.objects.filter(user__is_active=True,
exclude).values_list("pgp_key", flat=True) pgp_key__isnull=False).extra(where=["pgp_key != ''"]).values_list(
"pgp_key", flat=True)
logger.info("%d keys fetched from user profiles", len(key_ids)) logger.info("%d keys fetched from user profiles", len(key_ids))
gpg_cmd = ["gpg", "--no-default-keyring", "--keyring", keyring, gpg_cmd = ["gpg", "--no-default-keyring", "--keyring", keyring,