def getifshare(sha1arquivo): db = mysql.connector.connect(user=CONFIG['DB']['USER'], password=CONFIG['DB']['PASS'], host=CONFIG['DB']['ENDPOINT'], database=CONFIG['DB']['DATABASE']) cursor = db.cursor() query = "SELECT sha1arquivo, nome, tamanho, datahora, chunksize, numchunks FROM arquivos WHERE sha1arquivo = '" + sha1arquivo + "';" cursor.execute(query) rs = cursor.fetchall() if (len(rs) == 0): abort(404) ifshare_propriedades = dict() ifshare_propriedades['hashgeral'] = str(rs[0][0]) ifshare_propriedades['arquivo'] = str(rs[0][1]) ifshare_propriedades['tamanho'] = int(rs[0][2]) ifshare_propriedades['criacao_do_arquivo'] = rs[0][3] ifshare_propriedades['chunksize'] = int(rs[0][4]) ifshare_propriedades['numchunks'] = int(rs[0][5]) query = "SELECT DISTINCT sha1arquivo, sha1parte, chunk FROM partes WHERE sha1arquivo = '" + sha1arquivo + "' ORDER BY chunk;" cursor.execute(query) rs = cursor.fetchall() cursor.close() db.close() i = 0 for row in rs: ifshare_propriedades['hashchunk' + str(i)] = str(row[1]) i = i + 1 s = StringIO.StringIO() writeMetadata(s, ifshare_propriedades) s.seek(0, 0) return send_file(s, attachment_filename=ifshare_propriedades['arquivo'] + ".ifshare", as_attachment=True)
fd_input = open(arquivo_raw, 'rb') hashergeral = hashlib.sha1() for chunk in range(0, total_de_chunks): hasher = hashlib.sha1() buf = fd_input.read(ifshare_propriedades['chunksize']) hashergeral.update(buf) hasher.update(buf) ifshare_propriedades['hashchunk' + str(chunk)] = hasher.hexdigest() ifshare_propriedades['hashgeral'] = hashergeral.hexdigest() fd_input.close() showMetadata(ifshare_propriedades) fd_output = open(arquivo_saida, "w") writeMetadata(fd_output, ifshare_propriedades) fd_output.close() s3connection = getObjectStoreConnection(CONFIG['Incoming'], debug=False) bucket = createAndGetObjectStoreBucket(CONFIG['Incoming'], s3connection, debug=False) uploader = MultipartUploader(arquivo_raw, ifshare_propriedades['tamanho'], ifshare_propriedades['arquivo'], bucket) uploader.put() uploader = MultipartUploader(arquivo_raw + ".ifshare", os.path.getsize(arquivo_raw + ".ifshare"), ifshare_propriedades['arquivo'] + ".ifshare", bucket,