test the work identifier methods

pull/1/head
eric 2013-04-03 15:45:01 -04:00
parent c832f2f281
commit cd7082a676
2 changed files with 59 additions and 0 deletions

View File

@ -52,6 +52,8 @@ class BookLoaderTests(TestCase):
# work
self.assertTrue(edition.work)
self.assertEqual(edition.work.googlebooks_id, 'IDFfMPW32hQC')
self.assertEqual(edition.work.first_isbn_13(), '9780441007462')
# locale in language
edition = bookloader.add_by_isbn('9787500676911')

View File

@ -0,0 +1,57 @@
from django.core.management.base import BaseCommand
from django.contrib.auth.models import User
from datetime import timedelta
import datetime
from regluit.core import models
num=0
start = datetime.datetime.now()
for work in models.Work.objects.all():
try:
id = work.identifiers.values('type', 'value').filter(type='goog')[0]['value']
except IndexError:
pass
num += 1
if num == 10000:
break
end = datetime.datetime.now()
print "2 values "+str(end - start)
num=0
start = datetime.datetime.now()
for work in models.Work.objects.all():
try:
id = work.identifiers.filter(type='goog')[0].value
except IndexError:
pass
num += 1
if num == 10000:
break
end = datetime.datetime.now()
print "orig "+str(end - start)
num=0
start = datetime.datetime.now()
for work in models.Work.objects.all():
try:
id = work.identifiers.values('value').filter(type='goog')[0]['value']
except IndexError:
pass
num += 1
if num == 10000:
break
end = datetime.datetime.now()
print "1 value "+ str(end - start)
num=0
start = datetime.datetime.now()
for work in models.Work.objects.all():
try:
id = work.identifiers.values('type', 'value').filter(type='goog')[0]['value']
except IndexError:
pass
num += 1
if num == 10000:
break
end = datetime.datetime.now()
print "2 values "+str(end - start)