Use tmpdir while processing
This commit is contained in:
parent
fa658f3fab
commit
c47490705c
@ -7,6 +7,7 @@ import uuid
|
||||
import sys
|
||||
import tempfile
|
||||
import stat
|
||||
import shutil
|
||||
|
||||
# external imports
|
||||
import csv
|
||||
@ -98,11 +99,11 @@ gas_oracle = OverrideGasOracle(limit=config.get('_GAS_LIMIT'), conn=rpc)
|
||||
chain_spec = ChainSpec.from_chain_str(config.get('SESSION_CHAIN_SPEC'))
|
||||
|
||||
try:
|
||||
os.makedirs(config.get('_OUTPUT_DIR'))
|
||||
logg.info('output dir {} created'.format(config.get('_OUTPUT_DIR')))
|
||||
except FileExistsError:
|
||||
os.stat(config.get('_OUTPUT_DIR'))
|
||||
sys.stderr.write('output directory {} already exists\n'.format(config.get('_OUTPUT_DIR')))
|
||||
sys.exit(1)
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
|
||||
class InvalidData(Exception):
|
||||
@ -133,6 +134,7 @@ def validate(row):
|
||||
|
||||
def main():
|
||||
tmp_out = tempfile.mkdtemp()
|
||||
logg.debug('using tmp dir {}'.format(tmp_out))
|
||||
|
||||
f = open(config.get('_INPUT_FILE'), 'r')
|
||||
cr = csv.reader(f)
|
||||
@ -144,18 +146,22 @@ def main():
|
||||
token = validate(row)
|
||||
except InvalidData as e:
|
||||
sys.stderr.write(str(e) + ' in line {}\n'.format(i))
|
||||
shutil.rmtree(tmp_out)
|
||||
sys.exit(1)
|
||||
multiplier = 10 ** token.decimals
|
||||
value = int(multiplier * float(row[2]))
|
||||
(tx_hash_hex, o) = erc20.transfer(row[1], signer_address, row[0], value, tx_format=TxFormat.RLP_SIGNED)
|
||||
fname = '{}_{}'.format(i, row[0])
|
||||
fpath = os.path.join(config.get('_OUTPUT_DIR'), fname)
|
||||
fpath = os.path.join(tmp_out, fname)
|
||||
f = open(fpath, 'x')
|
||||
f.write(o)
|
||||
f.close()
|
||||
logg.info('tx {}: {} ({} * 10^{}) {} {} -> {}'.format(tx_hash_hex, value, row[2], token.decimals, token.symbol, signer_address, row[0]))
|
||||
i += 1
|
||||
f.close()
|
||||
shutil.copytree(tmp_out, config.get('_OUTPUT_DIR'))
|
||||
logg.debug('files moved from tmp dir {} to {}'.format(tmp_out, config.get('_OUTPUT_DIR')))
|
||||
shutil.rmtree(tmp_out)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
Loading…
Reference in New Issue
Block a user