def main(args): if args.verbose: lvl = logging.DEBUG elif args.quiet: lvl = logging.WARN else: lvl = logging.INFO logging.basicConfig(level=lvl) all_items = [] for fn in args.file: logging.debug('Reading %s..', fn) with open(fn) as fd: items = qif.parse_qif(fd) logging.debug('Read %s items from %s..', len(items), fn) all_items.extend(items) logging.debug('Opening GnuCash file %s..', args.gnucash_file) session = Session(args.gnucash_file) book = session.book commod_tab = book.get_table() currency = commod_tab.lookup('ISO4217', args.currency) for item in all_items: add_transaction(book, item, currency) logging.debug('Saving GnuCash file..') session.save() session.end()
def read_entries(fn, imported): logging.debug('Reading %s..', fn) if fn.startswith(MTP_SCHEME): items = read_entries_from_mtp(fn[len(MTP_SCHEME):], imported) else: base = os.path.basename(fn) if base in imported: logging.info('Skipping %s (already imported)', base) return [] with open(fn) as fd: items = qif.parse_qif(fd) imported.add(fn) logging.debug('Read %s items from %s', len(items), fn) return items
def read_entries(fn, imported): logging.debug("Reading %s..", fn) if fn.startswith(MTP_SCHEME): items = read_entries_from_mtp(fn[len(MTP_SCHEME) :], imported) else: base = os.path.basename(fn) if base in imported: logging.info("Skipping %s (already imported)", base) return [] with open(fn) as fd: items = qif.parse_qif(fd) imported.add(fn) logging.debug("Read %s items from %s", len(items), fn) return items
def read_entries_from_mtp_file(file_id, filename): with tempfile.NamedTemporaryFile(suffix=filename) as fd: subprocess.check_call(['mtp-getfile', file_id, fd.name]) entries_from_qif = qif.parse_qif(fd) logging.debug('Read %s entries from %s', len(entries_from_qif), filename) return entries_from_qif
def read_entries_from_mtp_file(file_id, filename): with tempfile.NamedTemporaryFile(suffix=filename) as fd: subprocess.check_call(["mtp-getfile", file_id, fd.name]) entries_from_qif = qif.parse_qif(fd) logging.debug("Read %s entries from %s", len(entries_from_qif), filename) return entries_from_qif