Show More
@@ -1,24 +1,35 b'' | |||||
1 | Pylons based replacement for hgwebdir. Fully customizable, |
|
1 | Pylons based replacement for hgwebdir. Fully customizable, | |
2 | with authentication, permissions. Based on vcs library. |
|
2 | with authentication, permissions. Based on vcs library. | |
3 | - has it's own middleware to handle mercurial protocol request each request can |
|
3 | - has it's own middleware to handle mercurial protocol request each request can | |
4 | be logged and authenticated +threaded performance unlikely to hgweb |
|
4 | be logged and authenticated +threaded performance unlikely to hgweb | |
5 | - mako templates let's you cusmotize look and feel of appplication. |
|
5 | - mako templates let's you cusmotize look and feel of appplication. | |
6 | - diffs annotations and source code all colored by pygments. |
|
6 | - diffs annotations and source code all colored by pygments. | |
7 | - admin interface for performing user/permission managments as well as repository |
|
7 | - admin interface for performing user/permission managments as well as repository | |
8 | managment |
|
8 | managment | |
9 | - added cache with invalidation on push/repo managment for high performance and |
|
9 | - added cache with invalidation on push/repo managment for high performance and | |
10 | always upto date data. |
|
10 | always upto date data. | |
11 | - rss /atom feed customizable |
|
11 | - rss /atom feed customizable | |
12 | - future support for git |
|
12 | - future support for git | |
13 | - based on pylons 1.0 / sqlalchemy 0.6 |
|
13 | - based on pylons 1.0 / sqlalchemy 0.6 | |
14 |
|
14 | |||
15 | === |
|
15 | === | |
16 | This software is still in beta mode. I don't guarantee that it'll work. |
|
16 | This software is still in beta mode. I don't guarantee that it'll work. | |
17 | I started this project since i was tired of sad looks, and zero controll over |
|
17 | I started this project since i was tired of sad looks, and zero controll over | |
18 | our company regular hgwebdir. |
|
18 | our company regular hgwebdir. | |
19 |
|
19 | |||
20 |
|
20 | |||
21 | == INSTALATION |
|
21 | == INSTALATION | |
22 | run dbmanage.py from pylons_app/lib it should create all needed table and |
|
22 | - create new virtualenv, | |
23 | an admin account, Edit file repositories.config and change the path for you |
|
23 | - run python setup.py install | |
24 | mercurial repositories, remember about permissions. No newline at end of file |
|
24 | - goto build/ directory | |
|
25 | - goto pylons_app/lib and run python db_manage.py it should create all | |||
|
26 | needed tables and an admin account. | |||
|
27 | - Edit file repositories.config and change the [paths] where you keep your | |||
|
28 | mercurial repositories, remember about permissions for accessing this dir by | |||
|
29 | hg app. | |||
|
30 | - run paster serve production.ini | |||
|
31 | the app should be available at the 127.0.0.1:8001, the static files should be | |||
|
32 | missing since in production.ini sets static_files = false change it to true | |||
|
33 | for serving static files in hg app, but i highly recommend to serve | |||
|
34 | statics by proxy (nginx or similar). | |||
|
35 | - use admin account you created to login. No newline at end of file |
@@ -1,16 +1,14 b'' | |||||
1 | [hooks] |
|
1 | [hooks] | |
2 | #to do push with autoupdate |
|
2 | #to do push with autoupdate | |
3 | changegroup = hg update >&2 |
|
3 | changegroup = hg update >&2 | |
4 |
|
4 | |||
5 | [extensions] |
|
|||
6 | hgext.highlight= |
|
|||
7 | #hgk= |
|
|||
8 |
|
||||
9 | [web] |
|
5 | [web] | |
|
6 | #for http requests push ssl to false | |||
10 | push_ssl = false |
|
7 | push_ssl = false | |
11 | allow_archive = gz zip bz2 |
|
8 | allow_archive = gz zip bz2 | |
12 | allow_push = * |
|
9 | allow_push = * | |
13 | baseurl = / |
|
10 | baseurl = / | |
14 |
|
11 | |||
15 | [paths] |
|
12 | [paths] | |
16 | / = /home/marcink/python_workspace/** |
|
13 | #this path should point to mercurial repositories remeber about '*' at the end | |
|
14 | / = /home/marcink/python_workspace/* |
@@ -1,41 +1,41 b'' | |||||
1 | from pylons_app import get_version |
|
1 | from pylons_app import get_version | |
2 | try: |
|
2 | try: | |
3 | from setuptools import setup, find_packages |
|
3 | from setuptools import setup, find_packages | |
4 | except ImportError: |
|
4 | except ImportError: | |
5 | from ez_setup import use_setuptools |
|
5 | from ez_setup import use_setuptools | |
6 | use_setuptools() |
|
6 | use_setuptools() | |
7 | from setuptools import setup, find_packages |
|
7 | from setuptools import setup, find_packages | |
8 |
|
8 | |||
9 | setup( |
|
9 | setup( | |
10 | name='pylons_app', |
|
10 | name='pylons_app', | |
11 | version=get_version(), |
|
11 | version=get_version(), | |
12 | description='', |
|
12 | description='', | |
13 | author='marcin kuzminski', |
|
13 | author='marcin kuzminski', | |
14 |
author_email='marcin@python- |
|
14 | author_email='marcin@python-works.com', | |
15 | url='', |
|
15 | url='', | |
16 | install_requires=[ |
|
16 | install_requires=[ | |
17 | "Pylons>=1.0.0", |
|
17 | "Pylons>=1.0.0", | |
18 | "SQLAlchemy>=0.6", |
|
18 | "SQLAlchemy>=0.6", | |
19 | "Mako>=0.3.2", |
|
19 | "Mako>=0.3.2", | |
20 |
"vcs>=0.1. |
|
20 | "vcs>=0.1.2", | |
21 | "pygments>=1.3.0" |
|
21 | "pygments>=1.3.0" | |
22 | ], |
|
22 | ], | |
23 | setup_requires=["PasteScript>=1.6.3"], |
|
23 | setup_requires=["PasteScript>=1.6.3"], | |
24 | packages=find_packages(exclude=['ez_setup']), |
|
24 | packages=find_packages(exclude=['ez_setup']), | |
25 | include_package_data=True, |
|
25 | include_package_data=True, | |
26 | test_suite='nose.collector', |
|
26 | test_suite='nose.collector', | |
27 | package_data={'pylons_app': ['i18n/*/LC_MESSAGES/*.mo']}, |
|
27 | package_data={'pylons_app': ['i18n/*/LC_MESSAGES/*.mo']}, | |
28 | message_extractors={'pylons_app': [ |
|
28 | message_extractors={'pylons_app': [ | |
29 | ('**.py', 'python', None), |
|
29 | ('**.py', 'python', None), | |
30 | ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}), |
|
30 | ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}), | |
31 | ('public/**', 'ignore', None)]}, |
|
31 | ('public/**', 'ignore', None)]}, | |
32 | zip_safe=False, |
|
32 | zip_safe=False, | |
33 | paster_plugins=['PasteScript', 'Pylons'], |
|
33 | paster_plugins=['PasteScript', 'Pylons'], | |
34 | entry_points=""" |
|
34 | entry_points=""" | |
35 | [paste.app_factory] |
|
35 | [paste.app_factory] | |
36 | main = pylons_app.config.middleware:make_app |
|
36 | main = pylons_app.config.middleware:make_app | |
37 |
|
37 | |||
38 | [paste.app_install] |
|
38 | [paste.app_install] | |
39 | main = pylons.util:PylonsInstaller |
|
39 | main = pylons.util:PylonsInstaller | |
40 | """, |
|
40 | """, | |
41 | ) |
|
41 | ) |
General Comments 0
You need to be logged in to leave comments.
Login now