Files @ 8da3fd4bd369
Branch filter:

Location: NPO-Accounting/import2ledger/import2ledger/util.py

Brett Smith
util: Add common word-slicing functions.
import datetime
import functools

def _rejoin_slice_words(method_name, source, wordslice, sep=None, limit=None, joiner=None):
    if joiner is None:
        joiner = ' ' if sep is None else sep
    return joiner.join(_slice_words(method_name, source, wordslice, sep, limit))
rejoin_slice_words = functools.partial(_rejoin_slice_words, 'split')
rejoin_rslice_words = functools.partial(_rejoin_slice_words, 'rsplit')

def _slice_words(method_name, source, wordslice, sep=None, limit=None):
    return getattr(source, method_name)(sep, limit)[wordslice]
slice_words = functools.partial(_slice_words, 'split')
rslice_words = functools.partial(_slice_words, 'rsplit')

def strpdate(date_s, date_fmt):
    return datetime.datetime.strptime(date_s, date_fmt).date()