Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

Chicken Little only has to be right once.


comp / comp.lang.python / Re: Cheetah 3.4.0

SubjectAuthor
o Re: Cheetah 3.4.0Mohammadreza Saveji

1
Subject: Re: Cheetah 3.4.0
From: Mohammadreza Saveji
Newsgroups: comp.lang.python
Date: Mon, 2 Dec 2024 12:06 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: mohammadrezasaveji@gmail.com (Mohammadreza Saveji)
Newsgroups: comp.lang.python
Subject: Re: Cheetah 3.4.0
Date: Mon, 2 Dec 2024 15:36:50 +0330
Lines: 145
Message-ID: <mailman.7.1733237158.2965.python-list@python.org>
References: <Z020jV1djKNWSQY5@phdru.name>
<CA+KYhwxfH2CchN+qGrF2CbRj1TPOBep3LUaW2aScK=YcjTqjmg@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de z1cTxNN9UoBPrxSLk4NTswq6Z8ZlRRAbWXogNsY0XoYg==
Cancel-Lock: sha1:5hWKcclMpbZVNYQK5n2Wj8RiLn4= sha256:YfHjC8e35Jol4sZmtlIPbUSpBMMxDYVdaKT3VC8knSM=
Return-Path: <mohammadrezasaveji@gmail.com>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=gmail.com header.i=@gmail.com header.b=CZoGAX34;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.001
X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'pfxlen:0': 0.03; 'pip':
0.04; 'absolute': 0.05; 'library.': 0.05; 'pypi': 0.05; 'pep':
0.07; 'template': 0.07; 'tests': 0.07; 'python.': 0.08;
'url:mailman': 0.09; '2.7': 0.09; 'email addr:python.org>': 0.09;
'fork': 0.09; 'skip:` 10': 0.09; 'skip:` 20': 0.09; 'url-
ip:140/8': 0.14; 'import': 0.15; 'announce': 0.15; 'url:listinfo':
0.15; '$person': 0.16; '3.4': 0.16; '=======': 0.16; 'changes:':
0.16; 'compiled': 0.16; 'expects': 0.16; 'fixes': 0.16;
'inadvertent': 0.16; 'lower.': 0.16; 'practically': 0.16;
'protocol.': 0.16; 'silence': 0.16; 'url-ip:104.18.32/24': 0.16;
'url-ip:172.64.155/24': 0.16; 'url:project': 0.16; 'url:pypi':
0.16; 'wrote:': 0.16; 'python': 0.16; 'developer': 0.16; 'url-
ip:140.82.121/24': 0.17; 'url-ip:140.82/16': 0.17; 'instead':
0.17; 'bug': 0.19; 'implement': 0.19; 'to:addr:python-list': 0.20;
'url-ip:188.166.95.178/32': 0.20; 'url-ip:188.166.95/24': 0.20;
'exception': 0.22; "what's": 0.22; 'version': 0.23; 'install':
0.23; 'url:github': 0.23; 'run': 0.23; 'url-ip:188.166/16': 0.24;
'email addr:python.org&gt;': 0.28; 'code,': 0.31; 'mailing': 0.31;
'dec': 0.31; 'raise': 0.31; 'message-id:@mail.gmail.com': 0.31;
"doesn't": 0.32; 'dropped': 0.32; 'objects': 0.32; 'programmers':
0.32; 'python-list': 0.32; 'but': 0.32; "i'm": 0.33; 'header:In-
Reply-To:1': 0.34; 'received:google.com': 0.34; 'release': 0.34;
'from:addr:gmail.com': 0.34; 'final': 0.35; 'files': 0.36;
'cases': 0.36; 'mon,': 0.36; 'source': 0.36; "it's": 0.37;
'example': 0.37; 'url-ip:151.101.0.223/32': 0.38; 'url-
ip:151.101.128.223/32': 0.38; 'url-ip:151.101.192.223/32': 0.38;
'url-ip:151.101.64.223/32': 0.38; 'both': 0.38; 'thanks': 0.39;
'use': 0.39; 'two': 0.39; "that's": 0.39; 'single': 0.39; 'url-
ip:185.199.108.153/32': 0.39; 'url-ip:185.199.108/24': 0.39; 'url-
ip:185.199/16': 0.39; 'branch': 0.39; 'hello!': 0.39; 'methods':
0.39; 'case.': 0.40; 'define': 0.40; 'files.': 0.40; 'skip:$ 10':
0.40; 'skip:\xc2 10': 0.62; 'skip:b 10': 0.63; 'key': 0.64;
'your': 0.64; 'url:4': 0.64; 'url:name': 0.64; 'produce': 0.65;
'news': 0.65; 'yours': 0.65; 'pleased': 0.67; 'url:net': 0.67;
'site:': 0.69; 'templates': 0.69; 'url:news': 0.69; 'below': 0.69;
'ignore': 0.71; 'free': 0.71; 'tools': 0.74; 'skip:f 20': 0.75;
'attribute': 0.84; 'email name:&lt;python-list': 0.84; 'inherit':
0.84; 'spans': 0.84; 'stupid': 0.84; 'url:sourceforge': 0.84;
'caused': 0.86; 'sincerely': 0.88; 'url:p': 0.88; 'return.': 0.91
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1733202729; x=1733807529; darn=python.org;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:from:to:cc:subject:date:message-id:reply-to;
bh=keAyNnfky6CwILHpDX3hPb97iTFu71D5Wp98KqudOMQ=;
b=CZoGAX34A/sKfkirkS1drX8ArZWOMgDYZwPrLRfHd81O1xi6X7JTktm87MFxtB6FEM
12WtiBKxy7Iyc4bEqie/kkcYlz8JdOZ8p+RU4h8QhKgfrr07E/48eBLSqLnDcr0a9u+/
CRqJxURK10S6IvW2Ck61hItY+fjEA93kEXnKym2Dj3pyozgTjvsa8CaqmpsTXtEybzIq
lYfrMa4Zxca8WPmIezqsgy8x3OAupd+8ItDiPXGhbs2ReejHs0bggRFA+EYfOov6e6TV
p9SW2/wxPYOS6wHXHkalqovymswyoBz1c/raTsKs8UR2+YZf5gmCOm1EU5cfxzKnR3mX
P3Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1733202729; x=1733807529;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=keAyNnfky6CwILHpDX3hPb97iTFu71D5Wp98KqudOMQ=;
b=pyVJ7kgnTX13BGn0lAgSAAyhhia9ETA4pP57xoA6gvJ3qL6qhkVCD7PJyFGwvCNMsr
ZGUm4RKo9YlcCZWkSwcEOTZ0eK0tLrVP58EoF8d/D5GYFqiLzdXxgCjdE+6b28/R3pcC
QdiEXGysDCd6iJT6Xf3XsHPS1CytcOAwhpyfwV7UG7l+KxP7VQ+vmHcDvDBq0mjGQetL
1RGFcta0uMufl22fLZF+N4P6KJVHSBb3xT1dmoqdOkAHxf8O1SrDgyj33DksEZz8vRGj
OIeSLzeRRL/yTgFpNH8gsccRsYn/E5Y8pVWtpw01B9JWSlpdAh9D+Ft2xAIL13uCV2xc
gc4A==
X-Forwarded-Encrypted: i=1;
AJvYcCVb7yHFNX6O1fn2bhXSLUkgieJ4gT8aZn9oJAPiCwmUHAWSf/+ezRqmcv9ZQWZ5CVAhhvmtaS4CdobABQ==@python.org
X-Gm-Message-State: AOJu0YwBUucbWe87jl8TlzTvrF6qIl7SPukG64pqawQMBp3qvphdjs+A
+4x0kO9jnvd6VEMTdEVXV6KYqRoXJ4k9Dz8bX0prGg4WxFDqkmRYlsVPdaheIMNy+CGhE5Db+vk
K32Wydh9Rt5y5v8V2uf/soEF5VWHpctqmdmQ=
X-Gm-Gg: ASbGncs3p4l6ajsatuV8hC92McTKDVJTEXaK+0ANNlgSEmhF9LVeDWSw52YL4SShS0a
qem0TX8EFuc8BxAzj+tTRhvCc4OkgtU8UlW+bT6uGvEjd96uVQo8UU9KL2XEz12jwlg==
X-Google-Smtp-Source: AGHT+IHdTQU8VTJ9I4ouEalIAQezlhpiN5lpPJ3H6FkbFZGJ/lsyo+MMAvM+LEwhG29EqJB+r4e9aO+Yu2qUcNSx97U=
X-Received: by 2002:a05:6000:23c7:b0:382:3c7b:9ae with SMTP id
ffacd0b85a97d-385fd3ceb21mr682641f8f.16.1733202728997; Mon, 02 Dec 2024
21:12:08 -0800 (PST)
In-Reply-To: <Z020jV1djKNWSQY5@phdru.name>
X-Mailman-Approved-At: Tue, 03 Dec 2024 09:45:57 -0500
X-Content-Filtered-By: Mailman/MimeDel 2.1.39
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <CA+KYhwxfH2CchN+qGrF2CbRj1TPOBep3LUaW2aScK=YcjTqjmg@mail.gmail.com>
X-Mailman-Original-References: <Z020jV1djKNWSQY5@phdru.name>
View all headers

Thanks a lot Oleg
sincerely yours

On Mon, Dec 2, 2024 at 5:27 PM Oleg Broytman via Python-list <
python-list@python.org> wrote:

> Hello!
>
> I'm pleased to announce version 3.4.0, the final release
> of branch 3.4 of CheetahTemplate3.
>
>
> What's new in CheetahTemplate3
> =============================>
> This release spans two topics: adapting to Python 3.13 and
> fixes in import hooks.
>
> Bug fixes:
>
> - Fixed ``ImportHooks``: it must raise ``ModuleNotFoundError``
> instead of ``ImportError``.
>
> - Fixed absolute import in ``ImportHooks`` under Python 3.
>
> - Use ``cache_from_source`` in ``ImportManager`` to find out
> ``.pyc``/``.pyo`` byte-code files.
>
> - Fixed unmarshalling ``.pyc``/``.pyo`` byte-code files
> in ``ImportManager``.
>
> - Fixed ``Template.webInput``: Use ``urllib.parse.parse_qs``
> instead of ``cgi.FieldStorage``; Python 3.13 dropped ``cgi``.
>
> - Fixed ``_namemapper.c``: Silent an inadvertent ``TypeError`` exception
> in ``PyMapping_HasKeyString`` under Python 3.13+
> caused by ``_namemapper`` looking up a key in a non-dictionary.
>
> - Fixed ``_namemapper.c``: Silence ``IndexError`` when testing
> ``name[attr]``. Some objects like ``re.MatchObject`` implement both
> attribute access and index access. This confuses ``NameMapper`` because
> it expects ``name[attr]`` to raise ``TypeError`` for objects that don't
> implement mapping protocol.
>
> - Fixed mapping test in ``NameMapper.py``:
> Python 3.13 brough a new mapping type ``FrameLocalsProxy``.
>
> - Fixed another ``RecursionError`` in ``ImportHooks`` under PyPy3.
>
> Tests:
>
> - tox: Run tests under Python 3.13.
>
> CI:
>
> - CI(GHActions): Switch to ``setup-miniconda``.
>
> - CI(GHActions): Run tests under Python 3.13.
>
> Build/release:
>
> - Rename sdist to lowercase; different build tools produce different
> case.
> This is important because stupid PyPI doesn't ignore sdists
> in different cases but also doesn't allow uploading.
> So we use single case, all lower. Also see PEP 625.
>
>
> What is CheetahTemplate3
> =======================>
> Cheetah3 is a free and open source (MIT) Python template engine.
> It's a fork of the original CheetahTemplate library.
>
> Python 2.7 or 3.4+ is required.
>
>
> Where is CheetahTemplate3
> ========================>
> Site:
> https://cheetahtemplate.org/
>
> Download:
> https://pypi.org/project/CT3/3.4.0
>
> News and changes:
> https://cheetahtemplate.org/news.html
>
> StackOverflow:
> https://stackoverflow.com/questions/tagged/cheetah
>
> Mailing lists:
> https://sourceforge.net/p/cheetahtemplate/mailman/
>
> Development:
> https://github.com/CheetahTemplate3
>
> Developer Guide:
> https://cheetahtemplate.org/dev_guide/
>
>
> Example
> ======>
> Install::
>
> $ pip install CT3 # (or even "ct3")
>
> Below is a simple example of some Cheetah code, as you can see it's
> practically
> Python. You can import, inherit and define methods just like in a regular
> Python
> module, since that's what your Cheetah templates are compiled to :) ::
>
> #from Cheetah.Template import Template
> #extends Template
>
> #set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
> 'mood' : 'Sad'}, {'name' : 'Harry', 'mood' :
> 'Hairy'}]
>
> <strong>How are you feeling?</strong>
> <ul>
> #for $person in $people
> <li>
> $person['name'] is $person['mood']
> </li>
> #end for
> </ul>
>
> Oleg.
> --
> Oleg Broytman https://phdru.name/ phd@phdru.name
> Programmers don't die, they just GOSUB without RETURN.
> --
> https://mail.python.org/mailman/listinfo/python-list
>

1

rocksolid light 0.9.8
clearnet tor