make sure the guid is there and only do an exists() query

This commit is contained in:
Jeff Balogh 2011-03-18 13:09:11 -07:00
Родитель 493ddabd04
Коммит 2bbd11ad26
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -161,10 +161,12 @@ def parse_xpi(xpi, addon=None):
def check_rdf(rdf, addon=None):
from addons.models import Addon, BlacklistedGuid
if not rdf['guid']:
raise forms.ValidationError(_("Could not find a UUID."))
if addon and addon.guid != rdf['guid']:
raise forms.ValidationError(_("UUID doesn't match add-on."))
if (not addon
and Addon.objects.filter(guid=rdf['guid'])
and Addon.objects.filter(guid=rdf['guid']).exists()
or BlacklistedGuid.objects.filter(guid=rdf['guid']).exists()):
raise forms.ValidationError(_('Duplicate UUID found.'))
if len(rdf['version']) > 32: