Beispiel #1
0
def deduplicate():
    gold = Media.select(
        peewee.fn.first_value(Media.id).over(
            partition_by=Media.digest,
            order_by=[
                Media.organized_at.asc(nulls='LAST'),
                peewee.fn.length(Media.stem).asc(),
                Media.taken_at.asc()
            ]).distinct())

    with Media.db:
        Media.update(duplicate=False).execute()
        Media.update(duplicate=True).where(Media.id.not_in(gold)).execute()
Beispiel #2
0
def update_media(id):

	payload = request.form.to_dict()

	if 'www.youtube.com/watch?v=' in payload['url']:
		payload['media_type'] = 'video'
	else:
		return jsonify(data={}, status={'code': 401, 'message': 'URL input is not valid.'})
	
	if payload['media_type'] == 'video':


		v_location = payload['url'].index('v')

		eq_location = payload['url'].index('=')

		if eq_location == v_location + 1:
			url_id = payload['url'][eq_location + 1: eq_location + 12]
		else:
			return jsonify(data={}, status={'code': 401, 'message': 'URL input is not valid.'})


		payload['full_html'] = '<iframe width="560" height="315" src="https://www.youtube.com/embed/{}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'.format(url_id)

		payload['thumbnail_html'] = 'http://i.ytimg.com/vi/{}/maxresdefault.jpg'.format(url_id)


	query = Media.update(**payload).where(Media.id == id)
	query.execute()

	media_dict = model_to_dict(Media.get_by_id(id))

	return jsonify(data=media_dict, status={'code': 201, 'message': 'Success'}) 
Beispiel #3
0
    def job_finished_cb(patero, job):
        tmp = []
        for filename in job['output']['files']:
            copy_or_link(filename, common.output_dir)
            os.unlink(filename)
            tmp.append(
                os.path.join(common.output_dir, os.path.basename(filename)))
        job['output']['files'] = tmp
        job.save()

        # here tell Caspa the file is ready
        media = Media()
        for key in ['metadata', 'stat']:
            media.update(job['output'][key])

        media['_id'] = job['output']['checksum']
        media['checksum'] = job['output']['checksum']
        media['files'] = job['output']['files']
        media['file'] = job['output']['transcoded']
        media['stat'] = job['output']['stat']

        media.save()