56 lines
1.3 KiB
Python
Executable File
56 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
from qrfile import qrfile,qrimagefile
|
|
from pdffile import pdffile
|
|
from sys import argv,exit
|
|
from os import unlink
|
|
import os.path
|
|
from json import dumps
|
|
from hashlib import md5
|
|
from datetime import datetime
|
|
from urllib import quote as urlencode
|
|
from os.path import getsize
|
|
|
|
if not len(argv)==3:
|
|
print "Specify an input file and output pdf like: ./run.py wallet.dat output.pdf"
|
|
exit(0)
|
|
|
|
# Calculate file hash
|
|
filehash = md5()
|
|
f = open(argv[1], 'r')
|
|
while True:
|
|
data = f.read(1024*1024)
|
|
if not data:
|
|
break
|
|
filehash.update(data)
|
|
filehash=filehash.hexdigest()
|
|
|
|
# create info-qr
|
|
fileInfo = {
|
|
"name":argv[1],
|
|
"hash":filehash,
|
|
"date":str(datetime.now()),
|
|
"size":getsize(argv[1]),
|
|
"pieces":0
|
|
}
|
|
|
|
# Covert file to many QR codes
|
|
files = qrfile(argv[1], fileInfo["hash"])
|
|
|
|
# Insert pieces info now that we have it
|
|
fileInfo["pieces"] = len(files)
|
|
|
|
# Create info QR code
|
|
infoUrl = 'http://qrfile.kilobyt.es/import/?data='+urlencode(dumps(fileInfo))
|
|
f = open('./urls.txt', 'a'); f.write(infoUrl+"\n\n\n"); f.close()
|
|
qrimagefile(infoUrl, 'tmp/info.png')
|
|
print infoUrl
|
|
|
|
# Embed QR codes indo PDF
|
|
# img list, output name, original file name, info qr
|
|
pdffile(files, argv[2], os.path.basename(argv[1]), 'tmp/info.png')
|
|
|
|
# Delete temp files
|
|
for item in files:
|
|
unlink(item)
|
|
unlink('tmp/info.png')
|