add management command
this command already deployed; minimal testing requiredpull/1/head
parent
83534e17ea
commit
66bd4a043e
|
@ -0,0 +1,37 @@
|
|||
"""
|
||||
print user emails
|
||||
"""
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from regluit.core import models
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "claim books for rights_holder based on a text file of ISBNs"
|
||||
args = "<rights_holder_id> <filename>"
|
||||
|
||||
def handle(self, rights_holder_id, filename, **options):
|
||||
try:
|
||||
rh = models.RightsHolder.objects.get(id=int(rights_holder_id))
|
||||
except models.Identifier.DoesNotExist:
|
||||
print '{} not a rights_holder'.format(rights_holder_id)
|
||||
return
|
||||
with open(filename) as f:
|
||||
for isbn in f:
|
||||
isbn = isbn.strip()
|
||||
try:
|
||||
work = models.Identifier.objects.get(type='isbn',value=isbn).work
|
||||
try:
|
||||
c = models.Claim.objects.get(work=work)
|
||||
print '{} already claimed by {}'.format(work, c.rights_holder)
|
||||
except models.Claim.DoesNotExist:
|
||||
c = models.Claim.objects.create(
|
||||
work=work,
|
||||
rights_holder=rh,
|
||||
user=rh.owner,
|
||||
status='active')
|
||||
print '{} claimed for {}'.format(work, rh)
|
||||
except models.Identifier.DoesNotExist:
|
||||
print '{} not loaded'.format(isbn)
|
||||
continue
|
Loading…
Reference in New Issue