Changeset 5349:f6fd7e51b446 in livinglogic.python.xist

Show
Ignore:
Timestamp:
02/14/13 19:09:51 (6 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Require that all function and methods are enhanced generators (except for templates).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/ul4c.py

    r5348 r5349  
    18811881            kwargs.update((yield from self.remkwargs.eval(vars))) 
    18821882        result = obj(*args, **kwargs) 
    1883         if isinstance(result, types.GeneratorType): 
     1883        if isinstance(obj, (Template, TemplateClosure)): 
     1884            return result 
     1885        else: 
    18841886            return (yield from result) 
    1885         else: 
    1886             return result 
    18871887 
    18881888    def ul4ondump(self, encoder): 
     
    23712371@AST.makefunction 
    23722372def function_str(obj=""): 
     2373    yield from () 
    23732374    return _str(obj) 
    23742375 
     
    23762377@AST.makefunction 
    23772378def function_repr(obj): 
     2379    yield from () 
    23782380    return _repr(obj) 
    23792381 
     
    23812383@AST.makefunction 
    23822384def function_now(): 
     2385    yield from () 
    23832386    return datetime.datetime.now() 
    23842387 
     
    23862389@AST.makefunction 
    23872390def function_utcnow(): 
     2391    yield from () 
    23882392    return datetime.datetime.utcnow() 
    23892393 
     
    23912395@AST.makefunction 
    23922396def function_date(year, month, day, hour=0, minute=0, second=0, microsecond=0): 
     2397    yield from () 
    23932398    return datetime.datetime(year, month, day, hour, minute, second, microsecond) 
    23942399 
     
    23962401@AST.makefunction 
    23972402def function_timedelta(days=0, seconds=0, microseconds=0): 
     2403    yield from () 
    23982404    return datetime.timedelta(days, seconds, microseconds) 
    23992405 
     
    24012407@AST.makefunction 
    24022408def function_monthdelta(months=0): 
     2409    yield from () 
    24032410    return misc.monthdelta(months) 
    24042411 
     
    24062413@AST.makefunction 
    24072414def function_random(): 
     2415    yield from () 
    24082416    return random.random() 
    24092417 
     
    24112419@AST.makefunction 
    24122420def function_xmlescape(obj): 
     2421    yield from () 
    24132422    return _xmlescape(obj) 
    24142423 
     
    24162425@AST.makefunction 
    24172426def function_csv(obj): 
     2427    yield from () 
    24182428    if obj is None: 
    24192429        return "" 
     
    24292439@AST.makefunction 
    24302440def function_asjson(obj): 
     2441    yield from () 
    24312442    return _asjson(obj) 
    24322443 
     
    24352446def function_fromjson(string): 
    24362447    from ll import ul4on 
     2448    yield from () 
    24372449    return json.loads(string) 
    24382450 
     
    24412453def function_asul4on(obj): 
    24422454    from ll import ul4on 
     2455    yield from () 
    24432456    return ul4on.dumps(obj) 
    24442457 
     
    24472460def function_fromul4on(string): 
    24482461    from ll import ul4on 
     2462    yield from () 
    24492463    return ul4on.loads(string) 
    24502464 
     
    24522466@AST.makefunction 
    24532467def function_int(obj=0, base=None): 
     2468    yield from () 
    24542469    if base is None: 
    24552470        return int(obj) 
     
    24602475@AST.makefunction 
    24612476def function_float(obj=0.0): 
     2477    yield from () 
    24622478    return float(obj) 
    24632479 
     
    24652481@AST.makefunction 
    24662482def function_bool(obj=False): 
     2483    yield from () 
    24672484    return bool(obj) 
    24682485 
     
    24702487@AST.makefunction 
    24712488def function_len(sequence): 
     2489    yield from () 
    24722490    return len(sequence) 
    24732491 
     
    24752493@AST.makefunction 
    24762494def function_abs(number): 
     2495    yield from () 
    24772496    return abs(number) 
    24782497 
     
    24802499@AST.makefunction 
    24812500def function_any(iterable): 
     2501    yield from () 
    24822502    return any(iterable) 
    24832503 
     
    24852505@AST.makefunction 
    24862506def function_all(iterable): 
     2507    yield from () 
    24872508    return all(iterable) 
    24882509 
     
    25762597@AST.makefunction 
    25772598def function_isundefined(obj): 
     2599    yield from () 
    25782600    return isinstance(obj, Undefined) 
    25792601 
     
    25812603@AST.makefunction 
    25822604def function_isdefined(obj): 
     2605    yield from () 
    25832606    return not isinstance(obj, Undefined) 
    25842607 
     
    25862609@AST.makefunction 
    25872610def function_isnone(obj): 
     2611    yield from () 
    25882612    return obj is None 
    25892613 
     
    25912615@AST.makefunction 
    25922616def function_isstr(obj): 
     2617    yield from () 
    25932618    return isinstance(obj, str) 
    25942619 
     
    25962621@AST.makefunction 
    25972622def function_isint(obj): 
     2623    yield from () 
    25982624    return isinstance(obj, int) and not isinstance(obj, bool) 
    25992625 
     
    26012627@AST.makefunction 
    26022628def function_isfloat(obj): 
     2629    yield from () 
    26032630    return isinstance(obj, float) 
    26042631 
     
    26062633@AST.makefunction 
    26072634def function_isbool(obj): 
     2635    yield from () 
    26082636    return isinstance(obj, bool) 
    26092637 
     
    26112639@AST.makefunction 
    26122640def function_isdate(obj): 
     2641    yield from () 
    26132642    return isinstance(obj, (datetime.datetime, datetime.date)) 
    26142643 
     
    26162645@AST.makefunction 
    26172646def function_istimedelta(obj): 
     2647    yield from () 
    26182648    return isinstance(obj, datetime.timedelta) 
    26192649 
     
    26212651@AST.makefunction 
    26222652def function_ismonthdelta(obj): 
     2653    yield from () 
    26232654    return isinstance(obj, misc.monthdelta) 
    26242655 
     
    26262657@AST.makefunction 
    26272658def function_islist(obj): 
     2659    yield from () 
    26282660    return isinstance(obj, collections.Sequence) and not isinstance(obj, str) and not isinstance(obj, color.Color) 
    26292661 
     
    26312663@AST.makefunction 
    26322664def function_isdict(obj): 
     2665    yield from () 
    26332666    return isinstance(obj, collections.Mapping) and not isinstance(obj, Template) 
    26342667 
     
    26362669@AST.makefunction 
    26372670def function_iscolor(obj): 
     2671    yield from () 
    26382672    return isinstance(obj, color.Color) 
    26392673 
     
    26412675@AST.makefunction 
    26422676def function_istemplate(obj): 
     2677    yield from () 
    26432678    return isinstance(obj, (Template, TemplateClosure)) 
    26442679 
     
    26462681@AST.makefunction 
    26472682def function_isfunction(obj): 
     2683    yield from () 
    26482684    return callable(obj) 
    26492685 
     
    26512687@AST.makefunction 
    26522688def function_chr(i): 
     2689    yield from () 
    26532690    return chr(i) 
    26542691 
     
    26562693@AST.makefunction 
    26572694def function_ord(c): 
     2695    yield from () 
    26582696    return ord(c) 
    26592697 
     
    26612699@AST.makefunction 
    26622700def function_hex(number): 
     2701    yield from () 
    26632702    return hex(number) 
    26642703 
     
    26662705@AST.makefunction 
    26672706def function_oct(number): 
     2707    yield from () 
    26682708    return oct(number) 
    26692709 
     
    26712711@AST.makefunction 
    26722712def function_bin(number): 
     2713    yield from () 
    26732714    return bin(number) 
    26742715 
     
    26762717@AST.makefunction 
    26772718def function_min(*args): 
     2719    yield from () 
    26782720    return min(*args) 
    26792721 
     
    26812723@AST.makefunction 
    26822724def function_max(*args): 
     2725    yield from () 
    26832726    return max(*args) 
    26842727 
     
    26862729@AST.makefunction 
    26872730def function_sorted(iterable): 
     2731    yield from () 
    26882732    return sorted(iterable) 
    26892733 
     
    26912735@AST.makefunction 
    26922736def function_range(*args): 
     2737    yield from () 
    26932738    return range(*args) 
    26942739 
     
    26962741@AST.makefunction 
    26972742def function_type(obj): 
     2743    yield from () 
    26982744    if obj is None: 
    26992745        return "none" 
     
    27372783@AST.makefunction 
    27382784def function_randrange(*args): 
     2785    yield from () 
    27392786    return random.randrange(*args) 
    27402787 
     
    27422789@AST.makefunction 
    27432790def function_randchoice(sequence): 
     2791    yield from () 
    27442792    return random.choice(sequence) 
    27452793 
     
    27472795@AST.makefunction 
    27482796def function_format(obj, fmt, lang=None): 
     2797    yield from () 
    27492798    if isinstance(obj, (datetime.date, datetime.time, datetime.timedelta)): 
    27502799        if lang is None: 
     
    27702819@AST.makefunction 
    27712820def function_zip(*iterables): 
     2821    yield from () 
    27722822    return zip(*iterables) 
    27732823 
     
    27752825@AST.makefunction 
    27762826def function_urlquote(string): 
     2827    yield from () 
    27772828    return urlparse.quote_plus(string) 
    27782829 
     
    27802831@AST.makefunction 
    27812832def function_urlunquote(string): 
     2833    yield from () 
    27822834    return urlparse.unquote_plus(string) 
    27832835 
     
    27852837@AST.makefunction 
    27862838def function_rgb(r, g, b, a=1.0): 
     2839    yield from () 
    27872840    return color.Color.fromrgb(r, g, b, a) 
    27882841 
     
    27902843@AST.makefunction 
    27912844def function_hls(h, l, s, a=1.0): 
     2845    yield from () 
    27922846    return color.Color.fromhls(h, l, s, a) 
    27932847 
     
    27952849@AST.makefunction 
    27962850def function_hsv(h, s, v, a=1.0): 
     2851    yield from () 
    27972852    return color.Color.fromhsv(h, s, v, a) 
    27982853 
     
    28002855@AST.makemethod 
    28012856def method_split(obj, sep=None, count=None): 
     2857    yield from () 
    28022858    return obj.split(sep, count if count is not None else -1) 
    28032859 
     
    28052861@AST.makemethod 
    28062862def method_rsplit(obj, sep=None, count=None): 
     2863    yield from () 
    28072864    return obj.rsplit(sep, count if count is not None else -1) 
    28082865 
     
    28102867@AST.makemethod 
    28112868def method_strip(obj, chars=None): 
     2869    yield from () 
    28122870    return obj.strip(chars) 
    28132871 
     
    28152873@AST.makemethod 
    28162874def method_lstrip(obj, chars=None): 
     2875    yield from () 
    28172876    return obj.lstrip(chars) 
    28182877 
     
    28202879@AST.makemethod 
    28212880def method_rstrip(obj, chars=None): 
     2881    yield from () 
    28222882    return obj.rstrip(chars) 
    28232883 
     
    28252885@AST.makemethod 
    28262886def method_find(obj, sub, start=None, end=None): 
     2887    yield from () 
    28272888    if isinstance(obj, str): 
    28282889        return obj.find(sub, start, end) 
     
    28402901@AST.makemethod 
    28412902def method_rfind(obj, sub, start=None, end=None): 
     2903    yield from () 
    28422904    if isinstance(obj, str): 
    28432905        return obj.rfind(sub, start, end) 
     
    28512913@AST.makemethod 
    28522914def method_startswith(obj, prefix): 
     2915    yield from () 
    28532916    return obj.startswith(prefix) 
    28542917 
     
    28562919@AST.makemethod 
    28572920def method_endswith(obj, suffix): 
     2921    yield from () 
    28582922    return obj.endswith(suffix) 
    28592923 
     
    28612925@AST.makemethod 
    28622926def method_upper(obj): 
     2927    yield from () 
    28632928    return obj.upper() 
    28642929 
     
    28662931@AST.makemethod 
    28672932def method_lower(obj): 
     2933    yield from () 
    28682934    return obj.lower() 
    28692935 
     
    28712937@AST.makemethod 
    28722938def method_capitalize(obj): 
     2939    yield from () 
    28732940    return obj.capitalize() 
    28742941 
     
    28762943@AST.makemethod 
    28772944def method_replace(obj, old, new, count=None): 
     2945    yield from () 
    28782946    if count is None: 
    28792947        return obj.replace(old, new) 
     
    28842952@AST.makemethod 
    28852953def method_r(obj): 
     2954    yield from () 
    28862955    return obj.r() 
    28872956 
     
    28892958@AST.makemethod 
    28902959def method_g(obj): 
     2960    yield from () 
    28912961    return obj.g() 
    28922962 
     
    28942964@AST.makemethod 
    28952965def method_b(obj): 
     2966    yield from () 
    28962967    return obj.b() 
    28972968 
     
    28992970@AST.makemethod 
    29002971def method_a(obj): 
     2972    yield from () 
    29012973    return obj.a() 
    29022974 
     
    29042976@AST.makemethod 
    29052977def method_hls(obj): 
     2978    yield from () 
    29062979    return obj.hls() 
    29072980 
     
    29092982@AST.makemethod 
    29102983def method_hlsa(obj): 
     2984    yield from () 
    29112985    return obj.hlsa() 
    29122986 
     
    29142988@AST.makemethod 
    29152989def method_hsv(obj): 
     2990    yield from () 
    29162991    return obj.hsv() 
    29172992 
     
    29192994@AST.makemethod 
    29202995def method_hsva(obj): 
     2996    yield from () 
    29212997    return obj.hsva() 
    29222998 
     
    29243000@AST.makemethod 
    29253001def method_lum(obj): 
     3002    yield from () 
    29263003    return obj.lum() 
    29273004 
     
    29293006@AST.makemethod 
    29303007def method_weekday(obj): 
     3008    yield from () 
    29313009    return obj.weekday() 
    29323010 
     
    29343012@AST.makemethod 
    29353013def method_week(obj, firstweekday=None): 
     3014    yield from () 
    29363015    if firstweekday is None: 
    29373016        firstweekday = 0 
     
    29633042@AST.makemethod 
    29643043def method_join(obj, iterable): 
     3044    yield from () 
    29653045    return obj.join(iterable) 
    29663046 
     
    29733053@AST.makemethod 
    29743054def method_renders(obj, **vars): 
     3055    yield from () 
    29753056    return obj.renders(**vars) 
    29763057 
     
    29783059@AST.makemethod 
    29793060def method_mimeformat(obj): 
     3061    yield from () 
    29803062    weekdayname = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") 
    29813063    monthname = (None, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") 
     
    29853067@AST.makemethod 
    29863068def method_isoformat(obj): 
     3069    yield from () 
    29873070    result = obj.isoformat() 
    29883071    suffix = "T00:00:00" 
     
    29943077@AST.makemethod 
    29953078def method_yearday(obj): 
     3079    yield from () 
    29963080    return (obj - obj.__class__(obj.year, 1, 1)).days+1 
    29973081 
     
    29993083@AST.makemethod 
    30003084def method_get(obj, key, default=None): 
     3085    yield from () 
    30013086    return obj.get(key, default) 
    30023087 
     
    30043089@AST.makemethod 
    30053090def method_withlum(obj, lum): 
     3091    yield from () 
    30063092    return obj.withlum(lum) 
    30073093 
     
    30093095@AST.makemethod 
    30103096def method_witha(obj, a): 
     3097    yield from () 
    30113098    return obj.witha(a) 
    30123099 
     
    30143101@AST.makemethod 
    30153102def method_day(obj): 
     3103    yield from () 
    30163104    return obj.day 
    30173105 
     
    30243112@AST.makemethod 
    30253113def method_year(obj): 
     3114    yield from () 
    30263115    return obj.year 
    30273116 
     
    30293118@AST.makemethod 
    30303119def method_hour(obj): 
     3120    yield from () 
    30313121    return obj.hour 
    30323122 
     
    30343124@AST.makemethod 
    30353125def method_minute(obj): 
     3126    yield from () 
    30363127    return obj.minute 
    30373128 
     
    30393130@AST.makemethod 
    30403131def method_second(obj): 
     3132    yield from () 
    30413133    return obj.second 
    30423134 
     
    30443136@AST.makemethod 
    30453137def method_microsecond(obj): 
     3138    yield from () 
    30463139    return obj.microsecond 
    30473140 
     
    30493142@AST.makemethod 
    30503143def method_days(obj): 
     3144    yield from () 
    30513145    return obj.days 
    30523146 
     
    30543148@AST.makemethod 
    30553149def method_seconds(obj): 
     3150    yield from () 
    30563151    return obj.seconds 
    30573152 
     
    30593154@AST.makemethod 
    30603155def method_microseconds(obj): 
     3156    yield from () 
    30613157    return obj.microseconds 
    30623158 
     
    30643160@AST.makemethod 
    30653161def method_months(obj): 
     3162    yield from () 
    30663163    return obj.months 
    30673164 
     
    30693166@AST.makemethod 
    30703167def method_append(obj, *items): 
     3168    yield from () 
    30713169    obj.extend(items) 
    30723170 
     
    30743172@AST.makemethod 
    30753173def method_insert(obj, pos, *items): 
     3174    yield from () 
    30763175    obj[pos:pos] = items 
    30773176 
     
    30793178@AST.makemethod 
    30803179def method_pop(obj, pos=-1): 
     3180    yield from () 
    30813181    return obj.pop(pos) 
    30823182 
     
    30843184@AST.makemethod 
    30853185def method_update(obj, *others, **kwargs): 
     3186    yield from () 
    30863187    for other in others: 
    30873188        obj.update(other)