Пример #1
0
    def load_meta(self, tar):
        """Load the metadata from a tar file into searchable structures."""
        string = tar.extractfile('metadata.txt').read()

        meta_list = json.loads(string)

        # get the start index for the file
        self.file_count = file_count(tar)
        self.transaction_id = get_unique_id(1, 'transaction')
        self.start_id = get_unique_id(self.file_count, 'file')

        self.files = {}

        # all we care about for now is the hash and the file path
        id = self.start_id
        for meta in meta_list:
            if meta['destinationTable'] == 'Files':
                meta['_id'] = id
                self.files[str(id)] = meta
                id+=1

        trans = {}
        trans['destinationTable'] = 'Transactions._id'
        trans['value'] = self.transaction_id
        meta_list.append(trans)

        self.meta_str = json.dumps (meta_list, sort_keys = True, indent=4)
Пример #2
0
def search_matching_faces_callback():
    data = request.get_json()
    if not verify_data(data, "image_data", "image_name", "bboxes"):
        resp = {
            "status_code": status_codes["insufficient_data"], 
            "message": response_messages["insufficient_data"]
        }
        return jsonify(resp)
    if not verify_file_extension(data["image_name"]):
        resp = {
            "status_code": status_codes["file_extension_error"], 
            "message": response_messages["file_extension_error"]
        }
        return jsonify(resp)
    temp_img_name = get_unique_id() + "." + data["image_name"].split(".")[-1]
    temp_img_path = os.path.join("temp", temp_img_name)
    decode_from_base64(data["image_data"], temp_img_path)
    img = read_image(temp_img_path)
    bboxes = data["bboxes"]
    token = get_unique_id()
    mp_progress_dict[token] = 0.0
    proc = pool.apply_async(search_matching_faces, (img, bboxes, token, mp_progress_dict))
    mp_result_dict[token] = proc
    resp = {
        "status_code": status_codes["success"], 
        "message": response_messages["success"], 
        "token": token
    }
    return jsonify(resp)
Пример #3
0
    def __init__(self, name, type, data, stored=False, settings=None):
        """Initialize a source of data.

        Arguments:
        name -- file name (source file on disk)
        type -- type of the data (stype.Type)
        data -- physical data

        Keyword:
        stored -- flag informs that source is stored in a file
        settings -- a settings that was used by creating the source

        """
        EventSource.__init__(self)

        if name is not None:
            self._name = name
        else:
            self._name = "{0} ({1})".format(utils.get_timestamp_string(),
                                            utils.get_unique_id())

        self.type = type
        self.data = data
        self.stored = stored
        self.settings = settings
Пример #4
0
    def __init__(self, name, type, data, stored=False, settings=None):
        """Initialize a source of data.

        Arguments:
        name -- file name (source file on disk)
        type -- type of the data (stype.Type)
        data -- physical data

        Keyword:
        stored -- flag informs that source is stored in a file
        settings -- a settings that was used by creating the source

        """
        EventSource.__init__(self)

        if name is not None:
            self._name = name
        else:
            self._name = "{0} ({1})".format(utils.get_timestamp_string(),
                                            utils.get_unique_id())

        self.type = type
        self.data = data
        self.stored = stored
        self.settings = settings
Пример #5
0
def detect_faces_callback():
    data = request.get_json()
    if not verify_data(data, "image_data", "image_name"):
        resp = {
            "status_code": status_codes["insufficient_data"], 
            "message": response_messages["insufficient_data"]
        }
        return jsonify(resp)
    if not verify_file_extension(data["image_name"]):
        resp = {
            "status_code": status_codes["file_extension_error"], 
            "message": response_messages["file_extension_error"]
        }
        return jsonify(resp)
    temp_img_name = get_unique_id() + "." + data["image_name"].split(".")[-1]
    temp_img_path = os.path.join("temp", temp_img_name)
    decode_from_base64(data["image_data"], temp_img_path)
    img = read_image(temp_img_path)
    bboxes = detect_faces(img)
    resp = {
        "status_code": status_codes["success"], 
        "message": response_messages["success"], 
        "bboxes": bboxes
    }
    return jsonify(resp)
Пример #6
0
def register():
	response = render_template('register.html')
	if request.method == 'GET':
		return response
	if request.method == 'POST':
		logger.error(request.form)
		fullName = request.form.get('f_name')
		emailAddress = request.form.get('email')
		if not fullName and emailAddress:
			flash('Error: Please Check the Form')
			return response
		userId = get_unique_id()
		companyName = request.form.get('c_name')
		phoneNumber = request.form.get('tel')
		country = request.form.get('country_name')
		address = request.form.get('address')
		city = request.form.get('city')
		state = request.form.get('state')
		postCode = request.form.get('postcode')
		result = add_user(fullName=fullName, userId=userId, emailAddress=emailAddress,\
							companyName=companyName, phoneNumber=phoneNumber, country=country,\
							address=address, city=city, state=state, postCode=postCode)
		if not result:
			flash('Error: User with same Email Address Exists. ')
			return response
		return redirect('/apis/')
Пример #7
0
 def __init__(self, id, transition, place, inscriptions):
     self.id = id
     self.uid = utils.get_unique_id()
     self.place = place
     self.transition = transition
     for inscription in inscriptions:
         inscription.edge = self
     self.inscriptions = inscriptions
Пример #8
0
 def __init__(self, id, transition, place, inscriptions):
     self.id = id
     self.uid = utils.get_unique_id()
     self.place = place
     self.transition = transition
     for inscription in inscriptions:
         inscription.edge = self
     self.inscriptions = inscriptions
Пример #9
0
def get_job_id_from_attached_file():
    try:
        file_stream = request.files['file']
        file_content = file_stream.stream.read()
        unique_id = utils.get_unique_id()
        job_file_id = unique_id + "-" + file_stream.filename
        with open("/tmp/" + job_file_id, "wb") as job_file:
            job_file.write(file_content)
        return job_file_id
    except:
        return ""
Пример #10
0
def get_job_id_from_attached_file():
    try:
        file_stream = request.files['file']
        file_content = file_stream.stream.read()
        unique_id = utils.get_unique_id()
        job_file_id = unique_id + "-" + file_stream.filename
        with open("/tmp/" + job_file_id, "wb") as job_file:
            job_file.write(file_content)
        return job_file_id
    except:
        return ""
Пример #11
0
 def __init__(self, config, expr, target):
     self.uid = utils.get_unique_id()
     self.config = config
     self.expr = expr
     self.target = target
Пример #12
0
 def __init__(self, config, expr, target):
     self.uid = utils.get_unique_id()
     self.config = config
     self.expr = expr
     self.target = target