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)
예제 #2
0
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)
예제 #3
0
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,
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,