24 2318
Luis M. González wrote: For those interested in the simplest, easiest and most pythonic web framework out there, there's a new page in Wikipedia:
this all depends on your criteria for simplest and easiest. For me HTML
is pure hell. I avoid it whenever possible because it literally makes
my hands hurt (worse). It's a pain to modify unless you have a WYSIWYG
editor and even then it's still difficult. Stuffing it into Python
strings is a double pain because you have to figure out how may times
you have to quote your percent signs depending on how may times you
render a string.
A year or so ago, I discovered aether (google aether manual) and my
heart was filled with joy because here was a markup language I could
dictate using speech recognition and save myself a great deal of pain
when producing web applications. Or so I thought.
[bold language is reasonably [bigger simple]] and unlike most
higher-level markup languages, it's built out of English words,'[', and
']' which is why it is handicapped friendly. The other advantage of this
framework is that it is easy to build your own [words and build
application specific vocabularies.
But aether by itself brought sorrow with it as well. The original
creator was no longer interested in extensions and the ability to create
CGI programs was flawed. So in conjunction with an unnamed accomplice,
we set about expanding aether and renamed the project Akasha.
I simplified the CGI environment significantly. the simplifications
make creating CGI significantly easier than with the traditional python
module. Each displayed page or page hierarchy is associated with an
object. Each object uses the __init__ method for the usual (i.e.
instance, and variable initialization). The page_init method is called
before a page is rendered and displayed. This gives you the ability to
dynamically create markup elements before rendering the page the first
time. additional methods can be added and provided one follows the
right naming convention, associates each method with a HTML form button.
once the button has been pushed, all of the CGI variables are stuffed
into a dictionary. Returning data from CGI is simple as well. there is
a dedicated dictionary which contains information that can be revealed
in a rendered page.
The nice thing about this structure for me is that the markup
environment doesn't embed any Python but there is a clear channel for
communicating both data and markup notation to the display side of the
house. I'm not happy that I have markup in my Python but at least I can
restrict how far it spreads.
Akasha is not perfect, it's not full-featured, it doesn't have any
databases associated with it (thank god), but for me it's a dream to use
in contrast to the half a dozen web frameworks I tried.
if you want to play with it, let me know and I will update CVS at https://savannah.nongnu.org/projects/akasha with the current work in
progress
--- eric
ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.
> editor and even then it's still difficult. Stuffing it into Python strings is a double pain because you have to figure out how may times you have to quote your percent signs depending on how may times you render a string.
You don't need to do that. You can always use your favorite templating
system. I am using Cheetah.
Akasha is not perfect, it's not full-featured, it doesn't have any databases associated with it (thank god), but for me it's a dream to use in contrast to the half a dozen web frameworks I tried.
Karrigell's KirbyBase is strictly optional. I don't use it. And it is
not bound to Karrigell either. You can use it stand alone in any other
app by itself. It just happens to be bundled along and is meant solely
for storage needs between a config file and a small database. So it is
not intended for everything.
if you want to play with it, let me know and I will update CVS at https://savannah.nongnu.org/projects/akasha with the current work in progress
Please do. I switched to Karrigell after problems with CherryPy in
'development mode'. I did find Karrigell amazingly simple and it just
stepped out of the way but had all the things I thought were nice about
CherryPy. Because of the simplicity, I did not have to deal with a
single quirk so far. But maybe, I will like your framework better once
I see it.
ps. If you check wikipedia it has some rather amusing uplifting definitions for Akasha and Akasha records. Although on bad days I think of Akasha as a code sucking vampire draining the life out of my hands.
Akasha in many [Asian] Indian languages means 'Sky' :-).
Ravi Teja wrote: You don't need to do that. You can always use your favorite templating system. I am using Cheetah.
actually, I got burned lots of times using template systems. I think I
live by the minimum new scar tissue metric. After all, the only
intuitive user interface is the mammalian nipple; everything else is
scar tissue. if you want to play with it, let me know and I will update CVS at https://savannah.nongnu.org/projects/akasha with the current work in progress
Please do. I switched to Karrigell after problems with CherryPy in 'development mode'. I did find Karrigell amazingly simple and it just stepped out of the way but had all the things I thought were nice about CherryPy. Because of the simplicity, I did not have to deal with a single quirk so far. But maybe, I will like your framework better once I see it.
okay then. I uploaded it but you must promise me that you will talk
with me the instant you have any problems. It's still in the "you must
live in Eric's brain" documentation state. I would not say no to any
help bringing this into a more human friendly state. ps. If you check wikipedia it has some rather amusing uplifting definitions for Akasha and Akasha records. Although on bad days I think of Akasha as a code sucking vampire draining the life out of my hands.
Akasha in many [Asian] Indian languages means 'Sky' :-).
the two references I thought were the best was that a Akasha was the
same is aether and that Akasha records are thought to hold all of the
knowledge of mankind, known and unknown. While I do expect that Akasha
will be useful to some people as a small to medium scale web application
environment, I do have enough visions of grandeur to think it might go
bigger. ;-)
---eric
Luis M. González wrote: For those interested in the simplest, easiest and most pythonic web framework out there, there's a new page in Wikipedia:
http://en.wikipedia.org/wiki/Karrigell
Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.
--
Ben Sizer
"Ben Sizer" <ky*****@gmail.com> writes: http://en.wikipedia.org/wiki/Karrigell
Why is Wikipedia being abused for software promotion and documentation? Articles on Wikipedia are supposed to be from a neutral point of view and purely informative, not biased or instructive.
Yes, that article needs some rewriting to fit Wikipedia style. Some
of the content might be better in wikibooks.org instead of Wikipedia.
Ben Sizer wrote: http://en.wikipedia.org/wiki/Karrigell
Why is Wikipedia being abused for software promotion and documentation? Articles on Wikipedia are supposed to be from a neutral point of view and purely informative, not biased or instructive.
check the page history. it's already been nominated for speedy removal, but the
Karrigell folks deleted the "prod" template ("it's free software!").
</F>
I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway
"Pierre Quentel" <qu************@wanadoo.fr> writes: I added an entry in Wikipedia for information, just like other Python web frameworks have already done. If the style doesn't fit Wikipedia's I'm sorry and willing to learn how to improve it ; the reason I read was "Obvious, if elaborate, link spam. Really should be speedied, but I can't find a CSD that fits this". I don't really understand why it's called a spam, I don't know what a CSD is and I don't know either who deleted the prod template, not me anyway. I'll take wikipedia people's advice into account anyway
CSD = criteria for speedy deletion, <http://en.wikipedia.org/WP:CSD>
Prod = proposed deletion. Anyone is allowed to un-prod it, and in
this case someone did. If nobody un-prods it after 5 days, it gets
deleted automatically. That doesn't apply here, because the article
did get un-prodded.
Next probably comes AFD, article for deletion. That's a consensus
process: there's a 5 day community discussion about what to do about
the article and then an admin comes along and implements the decision.
This article will probably get AFD'd (i.e. entered into the discussion
process). When that happens, I'll recommend keeping the article but
editing it considerably. Basically it needs to be rewritten as a
straightforward description that doesn't sound like advertising.
If there's an AFD, a notice will appear at the top of the article
announcing the AFD and giving a link to participate in the discussion.
Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks
"Pierre Quentel" <qu************@wanadoo.fr> writes: Ok, thanks for the information. I have rewritten the page in a more neutral way and removed the tutorial-like part, I'll put in in wikibooks
It's much better now, and I think it won't be deleted.
"Pierre Quentel" <qu************@wanadoo.fr> writes: Ok, thanks for the information. I have rewritten the page in a more neutral way and removed the tutorial-like part, I'll put in in wikibooks
I don't know if you really want to put the tutorial in wikibooks,
since there's already documentation on karrigell.com. The idea of
wikibooks is to develop books on the wiki. That's maybe a reasonable
way to create new documentation, but in this case it would mean you
have two parallel documents being developed separately.
In article <11**********************@g10g2000cwb.googlegroups .com>,
"Pierre Quentel" <qu************@wanadoo.fr> wrote: I added an entry in Wikipedia for information, just like other Python web frameworks have already done. If the style doesn't fit Wikipedia's I'm sorry and willing to learn how to improve it ; the reason I read was "Obvious, if elaborate, link spam. Really should be speedied, but I can't find a CSD that fits this". I don't really understand why it's called a spam, I don't know what a CSD is and I don't know either who deleted the prod template, not me anyway. I'll take wikipedia people's advice into account anyway
Hi Pierre,
As the guy who put the deletion notice on the article, let me explain how
this works, and why I did what I did. My apologies if my comment appeared
abrupt or rude.
CSD stands for "Criteria for Speedy Deletion". It's a set of specific
rules describing types of articles which don't fit Wikipedia's charter. If
an article fits one of the CSD rules, any Wikipedia admin (which I am), can
delete the article on their own, with no further ado. Hundreds of articles
a day are deleted under CSD. Your article did not meet any of those
specific rules. You can read more at http://en.wikipedia.org/wiki/Wp:csd
CSD or not, I still felt that the article was not appropriate for
Wikipedia. Wikipedia is an encyclopedia; it's meant to collect, organize,
and present information about significant things. It is explicitly NOT
meant to be used as a tool to promote things, even things which are being
given away for free. Wikipedia has become one of the most well-known web
sites on the Internet, and is thus often used by people with things to
promote as an easy way to get some free publicity. That is what your
article looked like. I thus took the step of proposing that it be deleted.
I used a relatively new process which gives people 5 days to object to the
proposal, and if anybody does, the article is kept. That's what happened
here. It also prompted it to get cleaned up a lot, which is a Good Thing.
The next step I could take would be to bring the article to what's called
AFD, or Articles For Deletion. At that point, there would be a more formal
debate about the pros and cons of the article vis-a-vis Wikipedia's
charter, and finally some other (neutral) admin would come along and make a
final determination. The article has improved enough that I don't think
I'm going to do that. It still concerns me that you appear to be using
Wikipedia to promote your own work, but I'll leave that up to other editors
to decide what they want to do.
Please don't misunderstand my actions. I'm all for promoting Python, and
your Karrigel system looks interesting. Wikipedia is just not the correct
forum for such promotion. There is a fine line between promotion and
documentation. It's often difficult to know where that line is, especially
when you're personally close to a project.
Luis M. González schreef: For those interested in the simplest, easiest and most pythonic web framework out there, there's a new page in Wikipedia:
http://en.wikipedia.org/wiki/Karrigell
There's something I don't quite get regarding the Karrigell- and
CherryPy-style frameworks. With PHP or mod_python I can put any number
of different applications in different directories on a web server,
which is very convenient: all kinds of things I want to use can live
perfectly together (static content, webmail, phpmysql etc etc), all
under Apache which either servers the static content directly or uses
PHP or Python or Perl or whatever for dynamic content.
If I understand everything correctly, Karrigell is meant to be run as
its own server which runs one application. I guess I can run different
Karrigell servers on different ports, and possibly use mod_rewrite to
forward e.g. http://foo.example.com/app1 and http://foo.example.com/app2
to different instances. That's absolutely not elegant though, I think.
Ideally, installing an application should consist of just putting it in
its directory and making that directory available to the webserver.
How do other people do this? Only one application on each (virtual)
server? Or is there something I am missing?
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton
Roel Schroeven
Roy Smith <ro*@panix.com> writes: Please don't misunderstand my actions. I'm all for promoting Python, and your Karrigel system looks interesting. Wikipedia is just not the correct forum for such promotion. There is a fine line between promotion and documentation. It's often difficult to know where that line is, especially when you're personally close to a project.
I think the current version of the article is ok. The documentation
(past a few illustrative examples) and most of the advocacy is
removed. The program itself is notable and the article is now
comparable to other Wikipedia articles about similar programs.
Tim Williams (gmail) schreef:
On 13/04/06, *Roel Schroeven* < rs****************@fastmail.fm <mailto:rs****************@fastmail.fm>> wrote: There's something I don't quite get regarding the Karrigell- and CherryPy-style frameworks. With PHP or mod_python I can put any number of different applications in different directories on a web server, which is very convenient:
[SNIP] How do other people do this? Only one application on each (virtual) server? Or is there something I am missing?
Karrigell will happily run multiple karrigell "applications" on a single server . In your example simply by having different applications at http://foo.example.com/app1 and http://foo.example.com/app2 will do the trick.
But I still need to allocate a port for each one, right? And write
rewrite rules to rewrite the urls: http://foo.example.com/app1 -> http://foo.example.com:port1 http://foo.example.com/app2 -> http://foo.example.com:port2
I don't like to have to run separate processes for each application, but
I guess it will work.
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton
Roel Schroeven
When you talk about the "Karrigell folks" it looks like there's a bunch
of guys out there ploting to rule the world. It's nothing like that.
I just read Pierre's comments about this article, and decided to post a
message in comp.lang.python to let everybody know about it.
Perhaps my post looked like a sales pitch... well, I'm sorry! I think
Karrigel needs some promotion. It's an excellent product and it's been
almost ignored by the community...
I appreciate all the observations regarding Wikipedia's nature, but I
confess that I'm surprised to see you, "python folks", so annoyed by
this article.
The web server in Karrigell is actually application-independant. An
application is a set of scripts or static files, generally stored in
the same directory ; the server parses the http requests, searches for
a file matching this request, processes the file according to its
extension and sends the response
For instance, the distribution provides a number of demo applications
(a calendar, a wiki server, a forum etc) that can be all used when you
start the server
If you want to add a new application you just have to add the files, it
will run without having to restart the server ; if you modify a script
with a text editor, you see the result of the change the next time you
reload the page
Pierre
No, in the document root you create a folder "app1" and put all the
files for the first application in it, and a folder "app2" for the
second application
For http://foo.example.com/app1 the server will search for an index
file in this directory and serve it. You can also specify the script
you want : http://foo.example.com/app1/default.py. Same thing for app2
of course. Absolutely no need to start two instances of the server on
different ports
Pierre
"Pierre Quentel" <qu************@wanadoo.fr> writes: For http://foo.example.com/app1 the server will search for an index file in this directory and serve it. You can also specify the script you want : http://foo.example.com/app1/default.py. Same thing for app2 of course. Absolutely no need to start two instances of the server on different ports
But they're the same Python interpreter and so there's no protection
between one application and another, right? That might be ok for a
single user running multiple apps, but think of PHP hosting farms that
have thousands of users with separate virtual hosts. It would be
disastrous if they could see each others' data.
"Luis M. González" <lu*****@gmail.com> writes: I appreciate all the observations regarding Wikipedia's nature, but I confess that I'm surprised to see you, "python folks", so annoyed by this article.
I think it's more "wikipedia folks" (I'm one) who found the original
version of the article annoying by Wikipedia standards. Wikipedia is
besieged with hucksters trying to propagate marketing fluff through
the encyclopedia and so they react unfavorably to anything that
resembles that type of material. The current version is much more
suitable as an encyclopedia article. It just needs a little bit of
grammar and punctuation cleanup, no big deal.
Pierre Quentel schreef: No, in the document root you create a folder "app1" and put all the files for the first application in it, and a folder "app2" for the second application
For http://foo.example.com/app1 the server will search for an index file in this directory and serve it. You can also specify the script you want : http://foo.example.com/app1/default.py. Same thing for app2 of course. Absolutely no need to start two instances of the server on different ports
I understand that, but I'd like to keep the current situation unchanged
as much as possible. Currently I have an Apache webserver that serves
some static content plus some dynamic stuff, with a directory structure
somewhat like
/var/www/index.html
/var/www/internal
/var/www/phpmyadmin
/var/www/webmail
etc. (/var/www is Apache's DocumentRoot, obviously). Also I regularly
have some stuff in my homedir
/home/<user>/public_html/foo
/home/<user>/public_html/bar
to play with stuff.
So, I can't run Karrigell on port 80, since that's already in use by
Apache. So I need to run Karrigell on another port, and somehow instruct
Apache to forward some URL's to Karrigell on handle some URL's itself.
For example, suppose I create
/var/www/karrigell1
/var/www/karrigell2
How do I configure everything so that they are accessible via http://hostname/karrigell1 http://hostname/karrigell2
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton
Roel Schroeven
Tim Williams (gmail) schreef:
On 13/04/06, *Tim Williams (gmail)* <td*******@gmail.com <mailto:td*******@gmail.com>> wrote:
In Karrigell you could write the host mappings into a karrigell script (.ks) application, so you wouldn't even need to use virtual-hosts in the config file. and of course, you could just write a single ..ks that contains (at least the entry points to ) all your applications Hmm, out of context this could be misleading so:
In Karrigell you simply put your application into its own directory and access it via the http://domain/app-dirname - for however many applications you need.
Yes, assuming you use Karrigell as webserver; but in many situations I
encounter, Apache is used as webserver and I want to keep it that way.
In fact I want to keep everything as it is; I just want some URL's to be
handled by Karrigell (and some others by CherryPy, and some others
possibly by even another framework), and it would be very nice I could
place them in a directory under the DocumentRoot, just like I can do
with PHP for example (not that I like to program in PHP, by the way).
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton
Roel Schroeven
Roel Schroeven <rs****************@fastmail.fm> writes: /var/www/karrigell1 /var/www/karrigell2
How do I configure everything so that they are accessible via
http://hostname/karrigell1 http://hostname/karrigell2
You mean you want your apache server to proxy the Karrigell pages?
I usually do that with the rewrite module rather than trying to figure
out how to use mod_proxy directly. It's been a while, but you'd
say something like:
RewriteEngine on
RewriteRule ^/karigell1$ http://localhost:1234/karrigell1 [P]
RewriteRule ^/karigell2$ http://localhost:1234/karrigell2 [P]
The ^/karigell1$ is a regexp to say what url's to rewrite, the http://localhost:1234/karrigell1 (etc) is where you'd run your
Karrigell server, and the [P] tells mod_rewrite to proxy the
target url.
Ben Sizer wrote: Why is Wikipedia being abused for software promotion and documentation? Articles on Wikipedia are supposed to be from a neutral point of view and purely informative, not biased or instructive.
Because it's Wikipedia? This kind of garbage is the inevitable result
of an "encyclopedia" which anyone can edit.
--
Erik Max Francis && ma*@alcyone.com && http://www.alcyone.com/max/
San Jose, CA, USA && 37 20 N 121 53 W && AIM erikmaxfrancis
Sitting in the den and / Looking at the phone as if it owed / Owed me
a favor -- Blu Cantrell This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: spibou |
last post by:
This concerns the Wikipedia article on C and C++ operators:
http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
Until very recently the first table in the page was a very
useful one on the...
|
by: Pitaridis Aristotelis |
last post by:
There is a free encyclopedia called wikipedia
(http://wikimediafoundation.org/). Does anyone knows how to use it in order
to get various articles for diplaying them in my application?
|
by: soeren.auer |
last post by:
Hi all,
we thought it could be interesting to experiment with equipping
Wikipedia with some AJAX features. Result is a user interface for
Wikipedia, which is largely based on AJAX, thus enabling...
|
by: Jorge Vargas |
last post by:
Hi I just hit this page in wikipedia BDFL
and it redirected me to Guido's wikipedia entry
now without causing any troubles (read flamewar) shouldn't
a) that page have an explanation of what...
|
by: shahargs |
last post by:
Hi,
I'm trying to get wikipedia page source with urllib2:
usock = urllib2.urlopen("http://en.wikipedia.org/wiki/
Albert_Einstein")
data = usock.read();
usock.close();
return data
I got...
|
by: Paddy |
last post by:
I would value the opinion of fellow Pythoneers who have also
contributed to Wikipedia, on the issue of "Is Python Standardized".
Specifically in the context of this table:...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
| |