btbytes (owner)
Revisions
-






38c50f
btbytes
Sat Apr 18 15:01:56 -0700 2009
-






8841c2
btbytes
Wed Apr 15 06:42:09 -0700 2009
-






9bce12
btbytes
Wed Apr 15 05:52:40 -0700 2009
-






424bec
btbytes
Tue Apr 14 13:18:53 -0700 2009
-






f94ad7
btbytes
Tue Apr 14 12:55:17 -0700 2009
-






2589db
btbytes
Tue Apr 14 12:35:11 -0700 2009
-






abe578
btbytes
Tue Apr 14 12:33:06 -0700 2009
-






71fa9f
btbytes
Mon Apr 13 19:55:16 -0700 2009
-






c3b805
btbytes
Thu Apr 09 08:23:14 -0700 2009
-






1bc09b
btbytes
Thu Apr 09 08:07:44 -0700 2009
This gist is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are given this private URL.
Every gist with this icon (
) is private.
Every gist with this icon (
This gist is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Tabbycat
Create an alternative to yaki using Repoze technologies.
Features
- All the features supported by Yaki
- Explore the possibility of using available RFC2822 parsers. One possible advantage is having multiline/complex metadata than one supported right now.
Repoze already has a lot of the components required.
- chameleon - templating
- repoze.catalog - searching and tagging
- repoze.folders - folders
- repoze.xmlrpc - remote editing of files
- Use
mercurialfor automatic file versioning - Use
paste.reloaderfor watching file changes
Data flow
- file watcher calls file parser
- file parser reads the text files and generates the header and meta information. Populates the folder and catalog.
repoze.bfg has graph traversal, which is more appropriate than Routing for arbitrarily deep tree structures.
Allow editing of content through XML-RPC.
- write back data to filesystem on save and call
hg commit.
Serve static content through nginx.
$ virtualenv /Users/pradeep/tabbycat
$ cd tabbycat
$ bin/easy_install zc.buildout
$ bin/buildout init
$ wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
$ vim .gitignore
add these lines to .gitignore
.installed.cfg
parts
develop-eggs
bin
eggs
downloads
lib
build
dist
$ bin/easy_install -i http://dist.repoze.org/lemonade/dev/simple repoze.bfg
$ bin/paster create -t bfg_starter
enter projectname. In this case, it was tabbycat.
Create a simple buildout script. I used the one from http://rhodesmill.org/brandon/buildout/
[config]
mypkgs = tabbycat
[buildout]
develop = .
parts = python scripts test
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${config:mypkgs}
[scripts]
recipe = zc.recipe.egg:scripts
eggs = ${config:mypkgs}
[test]
recipe = zc.recipe.testrunner
eggs = ${config:mypkgs}
run the buildout script to install all the dependencies
$ bin/buildout
2009-04-18
$ mkdir -p tabbydev/src/tabbycat
$ cd tabbydev
$ cp ~/Docuemnts/BSD_LICENSE LICENSE
$ touch README
$ wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
$ cat - > buildout.cfg
[buildout]
parts =
^D
$ touch setup.py
$ touch src/shorturls/__init__.py
$ source ~/bfgdev/bin/activate
$ python bootstrap.py
$ ./bin/buildout


