def aud2text(filename, h): transcribe = boto3.client('transcribe') objname = f"pending-{h}.wav" s3.uploadfile(filename, objname) job_name = h + os.urandom(16).hex() job_uri = f"https://s3.us-east-1.amazonaws.com/search-in-video/pending-{h}.wav" transcribe.start_transcription_job(TranscriptionJobName=job_name, Media={'MediaFileUri': job_uri}, MediaFormat='wav', LanguageCode='en-US') while True: status = transcribe.get_transcription_job( TranscriptionJobName=job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in [ 'COMPLETED', 'FAILED' ]: break print("Audio not ready yet...") time.sleep(5) s3.delete(objname) if status['TranscriptionJob']['TranscriptionJobStatus'] == 'COMPLETED': r = requests.get( status['TranscriptionJob']['Transcript']['TranscriptFileUri']) j = json.loads(r.text) tran = '' for t in j['results']['transcripts']: tran += t['transcript'] return tran return {}
def delete_old_pre_release_builds(): s3Dir = "sumatrapdf/prerel/" keys = s3.list(s3Dir) files_by_ver = {} for k in keys: # print(k.name) # sumatrapdf/prerel/SumatraPDF-prerelease-4819.pdb.zip ver = re.findall( r'sumatrapdf/prerel/SumatraPDF-prerelease-(\d+)*', k.name) ver = int(ver[0]) # print(ver) val = files_by_ver.get(ver, []) # print(val) val.append(k.name) # print(val) files_by_ver[ver] = val versions = files_by_ver.keys() versions.sort() # print(versions) todelete = versions[:-3] # print(todelete) for vertodelete in todelete: for f in files_by_ver[vertodelete]: #print("Deleting %s" % f) s3.delete(f)
def delete_old_pre_release_builds(): s3Dir = "sumatrapdf/prerel/" keys = s3.list(s3Dir) files_by_ver = {} for k in keys: # print(k.name) # sumatrapdf/prerel/SumatraPDF-prerelease-4819.pdb.zip ver = re.findall(r'sumatrapdf/prerel/SumatraPDF-prerelease-(\d+)*', k.name) ver = int(ver[0]) # print(ver) val = files_by_ver.get(ver, []) # print(val) val.append(k.name) # print(val) files_by_ver[ver] = val versions = files_by_ver.keys() versions.sort() # print(versions) todelete = versions[:-3] # print(todelete) for vertodelete in todelete: for f in files_by_ver[vertodelete]: #print("Deleting %s" % f) s3.delete(f)
def librarize(key): s3.add('macros', key, s3.getImg('potentialmacros', key)) s3.delete('potentialmacros', key) pim = PotentialImageMacro.objects.get(key = key) pim.active = False im = ImageMacro.objects.create(key = key, name = name(pim.fullSizeLink)) m = Meme.objects.get(threadLink = pim.threadLink) m.classification = im m.topDist = 0 m.save()
def delete_pair(photo_id): photo = Photo.query.filter(Photo.photo_id == photo_id).first() if photo: if photo.original_photo: s3.delete(photo.original_photo) if photo.processed_photo: s3.delete(photo.processed_photo) db.session.delete(photo) db.session.commit() return ('', 200)
def DELETE(self, request, response): path = request.path[1:] folder = path.split('/') if s3.owner(path) == response.user or self.has_access(response, path): s3.delete(path) response.data = 'That probably worked...' else: response.data = 'Not allowed' response.status_code = 401 return response
def delete_ver(ver): print("deleting ver %d" % ver) d = get_stats_cache_dir() stats_file = os.path.join(d, "%d.txt" % ver) if os.path.exists(stats_file): print(" deleting %s" % stats_file) if not g_dry_run: file_remove_try_hard(stats_file) s3_files = s3_files_for_ver(ver) for f in s3_files: print(" deleting s3 %s" % f) if not g_dry_run: s3.delete(f)
def identify_person(): try: personGroup_name = request.args.get('personGroup_name') filename = http_utils.generate_ID(id_len=10) + '.jpg' if not extract_image(request, filename): return "Image not found in request." if upload(filename): image_url = config.s3_endpoint + 'uploads/' + filename print('personGroup_name: ', personGroup_name) print('image_url: ', image_url) num_faces, identified = face_recognition.identify_person( personGroup_name, image_url) if not s3.delete('uploads/' + filename): print("{} not deleted from S3".format(filename)) if not local_delete(filename): print("{} not deleted locally".format(filename)) if identified: data = { "message": "Person in personGroup {} successfully identified.".format( personGroup_name) } return jsonify(data), 200 data = { "message": "No one in {} identified.".format(personGroup_name) } return jsonify(data), 200 except: data = { "error": "Something went wrong. Make sure you include argument 'personGroup_name' and json formatted image." } return jsonify(data), 400
def add_person_to_personGroup(): try: person_name = request.args.get('person_name') personGroup_name = request.args.get('personGroup_name') filename = http_utils.generate_ID(id_len=10) + '.jpg' if not extract_image(request, filename): data = {"error": "Image not found in request."} return jsonify(data), 400 if upload(filename): image_url = config.s3_endpoint + 'uploads/' + filename face_recognition.add_person_to_PersonGroup(person_name, personGroup_name, image_url) if not s3.delete('uploads/' + filename): print("{} not deleted from S3".format(filename)) if not local_delete(filename): print("{} not deleted locally".format(filename)) data = { "message": "{} successfully added to {}".format(person_name, personGroup_name) } return jsonify(data), 200 data = { "error": "Image was not uploaded properly to S3, person add failed." } return jsonify(data), 500 except: data = { "error": "Something went wrong. Make sure you include arguments 'person_name' and 'personGroup_name'." } return jsonify(data), 400
def user_image(user): if request.method == 'GET': if s3.exists(personal(path(user))): obj = s3.get(personal(path(user))) return send_file(obj['Body'], mimetype=obj['ContentType']) elif s3.exists(original(path(user))): obj = s3.get(original(path(user))) return send_file(obj['Body'], mimetype=obj['ContentType']) else: return Response(missing, content_type='image/svg+xml') elif request.method == 'POST' and verify_token(request.args.get('token')): image = request.files['file'] mimetype = from_buffer(image.stream.read(1024), mime=True) s3.put(personal(path(user)), image, mimetype) return 'Personal image uploaded successfully' elif request.method == 'DELETE' and verify_token(request.args.get('token')): s3.delete(personal(path(user))) return 'Personal image deleted successfully' else: return 'You can only edit you own picture!'
def delete_entry(entry): print(f"Deleting entry {entry.title}") s3_path = f"entry/{entry.title}" s3.delete(s3_path)
def delete_asset(asset): print(f"Deleting asset {asset.name}") s3_path = f"asset/{asset.name}" s3.delete(s3_path)
def post(self, id): vid = rds.get_videos(specific_id=id)[0] rds.delete_video(video_id=id) key_name = vid['s3_url'].split('/')[-1] s3.delete(key_name=key_name) return 'Success'