Exemplo n.º 1
0
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 {}
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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
Exemplo n.º 10
0
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
Exemplo n.º 11
0
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!'
Exemplo n.º 12
0
def delete_entry(entry):
    print(f"Deleting entry {entry.title}")
    s3_path = f"entry/{entry.title}"
    s3.delete(s3_path)
Exemplo n.º 13
0
def delete_asset(asset):
    print(f"Deleting asset {asset.name}")
    s3_path = f"asset/{asset.name}"
    s3.delete(s3_path)
Exemplo n.º 14
0
	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'