From nobody Thu Feb 22 22:44:12 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tgp983HmCz5Bb3S; Thu, 22 Feb 2024 22:44:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tgp9832bqz4FPB; Thu, 22 Feb 2024 22:44:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708641852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uRCfQBTTFK/F69emwdwVjHedvtNGBbNaQE2jJD1LFRE=; b=i58fVqRibV5wwvaoHThJ+G+ojXRQvWcV341gP2cjX3d+7NyN299UxZ4mJGC3YUVqE2yf7I PX5OnPogGPPSs7AriBrWwTVT9RXtawVC1Cfhm04C7qexKmwJEVMmj5RUIDO+3HfIiEUgmK uDpDXHWUJexavybRWec7jUceYtKF74KR1uG2Nf04DJqZEkCiRHz9KpLw4hVlA9MKkhKUxs gTOOP58wuHFTmEZV+tX27vLZseDW5LqkG65Aq78CwS37jUZSFVQ0G9Qv0faRtxonMXbH5h PkLInhMmWJamzyKR0KETaAqYudzCF2ex6aq652jlyM+gdZHdM1Sn32h7CP0Igw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708641852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uRCfQBTTFK/F69emwdwVjHedvtNGBbNaQE2jJD1LFRE=; b=oO1493nTC2UbPTuKCWf/mIRd+sl4UZTlY86kJAcDieRv91XAqoHJ0/gqgMaX0OT/HfS9Sp 4y29x3Nnou3jw17FZzSntMwNMfg1d7eJk4nR14Plhwizx2MO43W0diYjvfkIkfG/0OXDyc XNLiZnR7kiGeMrNBDoDffQlTnYgmWj/6coECfC7wxEeozFr4iyo0WGsWaNVaWWLEQa6d/L D30Nnpx89GKTT5vKHFyjG6hLtNcZZp8uRtNVegB57TQ8c4TcbtcVCeBDT/pUilQdt+egDW 06TK3Wyp0jb7R8+uxoJA6Mqc2W7LA7qw6/jJHAT4a+Zd6VzlMuYsOlfnhzU+mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708641852; a=rsa-sha256; cv=none; b=iFXdc46VNt6rTe+dt72d4Fc1W0Nfq6c9ndxBbG+HiYGd/7P3IelypaXazs+G1ArHTXgy1V mQTMLsatYKLwftZ8zi6dEfAMLq8Eb7umngucLzrSL5B95A3MRKM9vBU28ExPS6qL7+foTJ oFOwbgFovszFqVJJUzazopn5J+IY7vF/I/fOnox2/z/SUGx/L12tMSkqjwyGU6RtRJU/fB 2h/b0scRmt4oL/f2lMOgMCIyKKjH5Td+0R5PgikCJOx/Q83XDMmT65ABnoZPzobxRAA/J1 3k8mJPSL9nTPF4wlzb+MtqFf+t6zUMU08Qx4iBiEWpIobrHrg8TDkB2rwnGjDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tgp9824sczrKT; Thu, 22 Feb 2024 22:44:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41MMiCEH059652; Thu, 22 Feb 2024 22:44:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MMiCqu059649; Thu, 22 Feb 2024 22:44:12 GMT (envelope-from git) Date: Thu, 22 Feb 2024 22:44:12 GMT Message-Id: <202402222244.41MMiCqu059649@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Jose Alonso Cardenas Marquez Subject: git: 4472d02b2c44 - main - www/py-werkzeug2: Python utilities collection for building WSGI applications (2.x) List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: acm X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4472d02b2c44d5bab34ebcd3649e394cbc49c1e1 Auto-Submitted: auto-generated The branch main has been updated by acm: URL: https://cgit.FreeBSD.org/ports/commit/?id=4472d02b2c44d5bab34ebcd3649e394cbc49c1e1 commit 4472d02b2c44d5bab34ebcd3649e394cbc49c1e1 Author: Jose Alonso Cardenas Marquez AuthorDate: 2024-02-22 22:42:53 +0000 Commit: Jose Alonso Cardenas Marquez CommitDate: 2024-02-22 22:42:53 +0000 www/py-werkzeug2: Python utilities collection for building WSGI applications (2.x) A Python utilities collection for building WSGI applications. Werkzeug does not try to be a framework, and instead started as a simple collection of various utilities useful for building WSGI applications. It has since become one of the most advanced collections of its kind. It includes a powerful debugger, fully featured request and response objects, HTTP utilities to handle entity tags, cache control headers, HTTP dates, cookie handling, file uploads, a powerful URL routing system and a bunch of community contributed add-on modules. --- www/Makefile | 1 + www/py-werkzeug2/Makefile | 38 ++++++ www/py-werkzeug2/distinfo | 3 + www/py-werkzeug2/files/patch-pyproject.toml | 9 ++ www/py-werkzeug2/pkg-descr | 10 ++ www/py-werkzeug2/pkg-plist | 178 ++++++++++++++++++++++++++++ 6 files changed, 239 insertions(+) diff --git a/www/Makefile b/www/Makefile index ed0c2e05ea1a..c73871845fff 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1875,6 +1875,7 @@ SUBDIR += py-webtest SUBDIR += py-webunit SUBDIR += py-werkzeug + SUBDIR += py-werkzeug2 SUBDIR += py-wfuzz SUBDIR += py-whitenoise SUBDIR += py-wikipedia diff --git a/www/py-werkzeug2/Makefile b/www/py-werkzeug2/Makefile new file mode 100644 index 000000000000..8b9aa46e8f69 --- /dev/null +++ b/www/py-werkzeug2/Makefile @@ -0,0 +1,38 @@ +PORTNAME= werkzeug +PORTVERSION= 2.3.8 +CATEGORIES= www python +MASTER_SITES= PYPI \ + https://github.com/pallets/werkzeug/releases/download/${PORTVERSION}/ +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +PKGNAMESUFFIX= 2 + +MAINTAINER= acm@FreeBSD.org +COMMENT= Python utilities collection for building WSGI applications (2.x) +WWW= https://palletsprojects.com/p/werkzeug/ \ + https://github.com/pallets/werkzeug + +CONFLICTS= ${PYTHON_PKGNAMEPREFIX}werkzeug + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.rst + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=0<4:devel/py-flit-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markupsafe>=2.1.1:textproc/py-markupsafe@${PY_FLAVOR} + +USES= cpe python +USE_PYTHON= concurrent pep517 + +NO_ARCH= yes + +CPE_VENDOR= palletsprojects + +OPTIONS_DEFINE= EXAMPLES WATCHDOG +WATCHDOG_DESC= Monitor filesystem events + +WATCHDOG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}watchdog>=2.3:devel/py-watchdog@${PY_FLAVOR} + +post-install-EXAMPLES-on: + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} + +.include diff --git a/www/py-werkzeug2/distinfo b/www/py-werkzeug2/distinfo new file mode 100644 index 000000000000..81195e482317 --- /dev/null +++ b/www/py-werkzeug2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1708634505 +SHA256 (werkzeug-2.3.8.tar.gz) = 554b257c74bbeb7a0d254160a4f8ffe185243f52a52035060b761ca62d977f03 +SIZE (werkzeug-2.3.8.tar.gz) = 819747 diff --git a/www/py-werkzeug2/files/patch-pyproject.toml b/www/py-werkzeug2/files/patch-pyproject.toml new file mode 100644 index 000000000000..daceed5d440e --- /dev/null +++ b/www/py-werkzeug2/files/patch-pyproject.toml @@ -0,0 +1,9 @@ +--- pyproject.toml.orig 2024-02-22 20:44:10 UTC ++++ pyproject.toml +@@ -1,5 +1,5 @@ + [project] +-name = "Werkzeug" ++name = "werkzeug" + description = "The comprehensive WSGI web application library." + readme = "README.rst" + license = {file = "LICENSE.rst"} diff --git a/www/py-werkzeug2/pkg-descr b/www/py-werkzeug2/pkg-descr new file mode 100644 index 000000000000..0a2b7bfb5b9d --- /dev/null +++ b/www/py-werkzeug2/pkg-descr @@ -0,0 +1,10 @@ +A Python utilities collection for building WSGI applications. + +Werkzeug does not try to be a framework, and instead started as a simple +collection of various utilities useful for building WSGI applications. +It has since become one of the most advanced collections of its kind. + +It includes a powerful debugger, fully featured request and response +objects, HTTP utilities to handle entity tags, cache control headers, +HTTP dates, cookie handling, file uploads, a powerful URL routing +system and a bunch of community contributed add-on modules. diff --git a/www/py-werkzeug2/pkg-plist b/www/py-werkzeug2/pkg-plist new file mode 100644 index 000000000000..449ff2b87190 --- /dev/null +++ b/www/py-werkzeug2/pkg-plist @@ -0,0 +1,178 @@ +%%PYTHON_SITELIBDIR%%/werkzeug/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/_internal.py +%%PYTHON_SITELIBDIR%%/werkzeug/_reloader.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/accept.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/accept.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/auth.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/cache_control.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/cache_control.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/csp.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/csp.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/etag.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/etag.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/file_storage.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/file_storage.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/headers.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/headers.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/mixins.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/mixins.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/range.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/range.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/structures.py +%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/structures.pyi +%%PYTHON_SITELIBDIR%%/werkzeug/debug/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/debug/console.py +%%PYTHON_SITELIBDIR%%/werkzeug/debug/repr.py +%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/ICON_LICENSE.md +%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/console.png +%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/debugger.js +%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/less.png +%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/more.png +%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/style.css +%%PYTHON_SITELIBDIR%%/werkzeug/debug/tbtools.py +%%PYTHON_SITELIBDIR%%/werkzeug/exceptions.py +%%PYTHON_SITELIBDIR%%/werkzeug/formparser.py +%%PYTHON_SITELIBDIR%%/werkzeug/http.py +%%PYTHON_SITELIBDIR%%/werkzeug/local.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/dispatcher.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/http_proxy.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/lint.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/profiler.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/proxy_fix.py +%%PYTHON_SITELIBDIR%%/werkzeug/middleware/shared_data.py +%%PYTHON_SITELIBDIR%%/werkzeug/py.typed +%%PYTHON_SITELIBDIR%%/werkzeug/routing/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/routing/converters.py +%%PYTHON_SITELIBDIR%%/werkzeug/routing/exceptions.py +%%PYTHON_SITELIBDIR%%/werkzeug/routing/map.py +%%PYTHON_SITELIBDIR%%/werkzeug/routing/matcher.py +%%PYTHON_SITELIBDIR%%/werkzeug/routing/rules.py +%%PYTHON_SITELIBDIR%%/werkzeug/sansio/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/sansio/http.py +%%PYTHON_SITELIBDIR%%/werkzeug/sansio/multipart.py +%%PYTHON_SITELIBDIR%%/werkzeug/sansio/request.py +%%PYTHON_SITELIBDIR%%/werkzeug/sansio/response.py +%%PYTHON_SITELIBDIR%%/werkzeug/sansio/utils.py +%%PYTHON_SITELIBDIR%%/werkzeug/security.py +%%PYTHON_SITELIBDIR%%/werkzeug/serving.py +%%PYTHON_SITELIBDIR%%/werkzeug/test.py +%%PYTHON_SITELIBDIR%%/werkzeug/testapp.py +%%PYTHON_SITELIBDIR%%/werkzeug/urls.py +%%PYTHON_SITELIBDIR%%/werkzeug/user_agent.py +%%PYTHON_SITELIBDIR%%/werkzeug/utils.py +%%PYTHON_SITELIBDIR%%/werkzeug/wrappers/__init__.py +%%PYTHON_SITELIBDIR%%/werkzeug/wrappers/request.py +%%PYTHON_SITELIBDIR%%/werkzeug/wrappers/response.py +%%PYTHON_SITELIBDIR%%/werkzeug/wsgi.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README.rst +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/application.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/helpers.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/public/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/static/about.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/static/index.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/static/not_found.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/utils.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/views/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/views/static.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/README +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/application.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/models.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/static/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/display.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/list.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/new.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/not_found.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/utils.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/views.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/application.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/db.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/network.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/pages.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/content.png +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/down.png +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/favicon.ico +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/header.png +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/logo.png +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/up.png +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/missingpage.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/search.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/server.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/serverlist.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/utils.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpbasicauth.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/application.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/about.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/blog.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/index.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/urls.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/views.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-coolmagic.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-couchy.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-cupoftee.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-i18nurls.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-plnt.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-shorty.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-simplewiki.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-webpylike.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/partial/README +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/partial/complex_routing.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/database.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/shared/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/sync.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/templates/about.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/templates/index.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/utils.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/views.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/webapp.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/shortly.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/static/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/404.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/new_url.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/short_link_details.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/application.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/models.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/static/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/display.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/list.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/new.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/not_found.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/utils.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/views.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/__init__.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/actions.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/application.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/database.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/shared/style.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/specialpages.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_diff.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_edit.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_log.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_revert.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_show.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/layout.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/macros.xml +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/missing_action.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/page_index.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/page_missing.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/recent_changes.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/utils.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/upload.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/webpylike/example.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/webpylike/webpylike.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wsecho.py