Bank feeds parsers collection.
To use the VCF parser, use the VCFParser class:
from card_data_parsers import VCFParser, ParserError
try:
with open(dir + '/input.vcf') as input_file:
result = VCFParser.parse(
file_obj=input_file,
account_number_mask_begin=4,
account_number_mask_end=4
)
print(result)
except ParserError as e:
print(f'Omg! error {e}')
Similarly, you can use AmexParser, CDFParser, S3DFParser and HappayParser for the right file types.
pip install -r requirements.txt
Check implemented parsers for examples.
chmod +x test.sh
./test.sh
To release new version to Pypi:
- Create a new release here. OR
- Create a git tag and push that tag(after merge) with version number like:
git tag v0.1.0 git push origin v0.1.0
The parse method is supposed to return a list of transactions. This is a list of python dict objects that looks like this:
[{"bank_name": "Test BANK", "vendor": "Test", "sync_type": "BANK FEED - VCF", "transaction_type": "debit", "currency": "EUR", "amount": "124.74", "transaction_date": "2018-11-30T10:00:00.000000Z", "account_number": "4142********6333", "transaction_dt": "2018-11-30T10:00:00.000000Z", "external_id": "b2a242d1d9814394b594044b77f36f2f"}]
If there is any non-backward compatible change to this structure e.g. a key is deleted, then bump up major number. Otherwise, bump up minor number.