def import_quicktime(request): if request.method != "POST": return HttpResponseRedirect("/cuit/") operations = [] params = [] try: s = Collection.objects.get(id=settings.QUICKTIME_IMPORT_COLLECTION_ID) server = Server.objects.get(id=settings.QUICKTIME_IMPORT_SERVER_ID) for filename in list_all_cuit_files(): if not filename.endswith(".mov"): continue vuuid = uuid.uuid4() # make db entry v = Video.objects.create(collection=s, title=os.path.basename(filename), creator=request.user.username, uuid=vuuid) cuit_file = File.objects.create(video=v, label="cuit file", filename=filename, location_type='cuit') ServerFile.objects.create(server=server, file=cuit_file) v.make_source_file("") o, p = v.make_import_from_cuit_operation(v.id, request.user) operations.append(o) params.append(p) except: transaction.rollback() raise else: transaction.commit() for o, p in zip(operations, params): process_operation.delay(o.id, p) return HttpResponse("database entries created. import has begun.")
def import_retry(request): failed = Operation.objects.filter(action="import from CUIT", status="failed") if request.method != "POST": return dict(failed=failed) for operation in failed: # try again process_operation.delay(operation.id, operation.params) return HttpResponse("retry has begun.")