コード例 #1
0
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()
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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