示例#1
0
def _main(cmd):
    from _TFL.load_config_file import load_config_file

    globs = globals()
    for cf in cmd.Config:
        load_config_file(cf, globs)
    if cmd.year:
        ptf = cmd.ptf
        year = cmd.year
        Y = CAL.Year(year)
        days = Y.days
        cm_d = Y.dmap[(year, 12, 24)]
        d_range = ""
        if cmd.after:
            days = tuple(d for d in days if d.date >= cmd.after)
            if cm_d.date < cmd.after:
                cm_d = None
            d = cmd.after
            d_range = "%02d.%02d." % (d.date.day, d.date.month)
            if not cmd.before:
                d_range = "%s-31.12." % (d_range,)
        if cmd.before:
            days = tuple(d for d in days if d.date <= cmd.before)
            if cm_d and cm_d.date > cmd.before:
                cm_d = None
            if not cmd.after:
                d_range = "01.01"
            d = cmd.before
            d_range = "%s-%02d.%02d" % (d_range, d.date.day, d.date.month)
        if d_range:
            d_range = " [%s]" % (d_range,)
        holidays = sum((d.is_weekday and bool(d.is_holiday)) for d in days) * ptf
        workdays = sum((d.is_weekday and not d.is_holiday) for d in days) * ptf
        vp = sum(float(d.is_weekday and not d.is_holiday) for d in days) / sum(
            float(d.is_weekday and not d.is_holiday) for d in Y.days
        )
        vacation = cmd.vacation * vp * ptf
        christmas = 0
        if cm_d:
            christmas = 2 * (cm_d.is_weekday and not cm_d.is_holiday)
        holidays += christmas
        workdays -= christmas
        workdays -= vacation
        form = "%s%s: %.0f Arbeitstage, %.0f Feiertage" ", %.0f Urlaubstage, %.0f Soll-Stunden"
        print(form % (year, d_range, workdays, holidays, vacation, workdays * cmd.hpd))
    if cmd.argv:
        splitter = TFL.Getter.date.week if cmd.Weekly else TFL.Getter.date.month
        P = load_periods(cmd.argv, splitter, cmd.before, cmd.after)
        tot = str(P)
        print(P.format % ("Periode", "Arbeit [h]", "Krank [h]", "Total [h]", "Urlaubstage"))
        if not cmd.quiet:
            for d in P.entries:
                print(d)
            print("=" * len(tot))
        print(tot)
示例#2
0
 def load_user_config (* config_fn) :
     from _TFL import sos
     from _TFL.load_config_file import load_config_file
     if not config_fn :
         config_fn = ("~", "PMA", ".config.py")
     load_config_file (sos.path.join (* config_fn), dict (PMA = PMA))
示例#3
0
def _main (cmd) :
    from _TFL.load_config_file import load_config_file
    globs = globals ()
    for cf in cmd.Config :
        load_config_file (cf, globs)
    if cmd.year :
        ptf       = cmd.ptf
        year      = cmd.year
        Y         = CAL.Year (year)
        days      = Y.days
        cm_d      = Y.dmap [(year, 12, 24)]
        d_range   = ""
        if cmd.after :
            days  = tuple (d for d in days if d.date >= cmd.after)
            if cm_d.date < cmd.after :
                cm_d = None
            d = cmd.after
            d_range  = "%02d.%02d." % (d.date.day, d.date.month)
            if not cmd.before :
                d_range = "%s-31.12." % (d_range, )
        if cmd.before :
            days  = tuple (d for d in days if d.date <= cmd.before)
            if cm_d and cm_d.date > cmd.before :
                cm_d = None
            if not cmd.after :
                d_range  = "01.01"
            d = cmd.before
            d_range = "%s-%02d.%02d" % (d_range, d.date.day, d.date.month)
        if d_range :
            d_range = " [%s]" % (d_range, )
        holidays  = sum \
            ((d.is_weekday and bool (d.is_holiday)) for d in days) * ptf
        workdays  = sum \
            ((d.is_weekday and not   d.is_holiday)  for d in days) * ptf
        vp        = \
            ( sum (float (d.is_weekday and not d.is_holiday)  for d in days)
            / sum (float (d.is_weekday and not d.is_holiday)  for d in Y.days)
            )
        vacation  = cmd.vacation * vp * ptf
        christmas = 0
        if cm_d :
            christmas = 2 * (cm_d.is_weekday and not cm_d.is_holiday)
        holidays += christmas
        workdays -= christmas
        workdays -= vacation
        form      = \
            ( "%s%s: %.0f Arbeitstage, %.0f Feiertage"
              ", %.0f Urlaubstage, %.0f Soll-Stunden"
            )
        print \
            ( form
            % (year, d_range, workdays, holidays, vacation, workdays * cmd.hpd)
            )
    if cmd.argv :
        splitter = TFL.Getter.date.week if cmd.Weekly else TFL.Getter.date.month
        P   = load_periods (cmd.argv, splitter, cmd.before, cmd.after)
        tot = str (P)
        print \
            ( P.format
            % ("Periode", "Arbeit [h]", "Krank [h]", "Total [h]", "Urlaubstage")
            )
        if not cmd.quiet :
            for d in P.entries :
                print (d)
            print ("=" * len (tot))
        print (tot)
示例#4
0
文件: __init__.py 项目: Tapyr/tapyr
 def load_user_config (* config_fn) :
     from _TFL import sos
     from _TFL.load_config_file import load_config_file
     if not config_fn :
         config_fn = ("~", "PMA", ".config.py")
     load_config_file (sos.path.join (* config_fn), dict (PMA = PMA))