Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
klaus
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
GitHub Mirror
jonashaag
klaus
Commits
6c0449eb
Commit
6c0449eb
authored
12 years ago
by
posativ
Browse files
Options
Downloads
Patches
Plain Diff
last enhancements to README and quickstart successor bin/klaus
parent
213b598a
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
README.rst
+10
-12
10 additions, 12 deletions
README.rst
bin/klaus
+5
-3
5 additions, 3 deletions
bin/klaus
requirements.txt
+1
-0
1 addition, 0 deletions
requirements.txt
tools/quickstart.py
+0
-48
0 additions, 48 deletions
tools/quickstart.py
with
16 additions
and
63 deletions
README.rst
+
10
−
12
View file @
6c0449eb
...
...
@@ -39,34 +39,32 @@ Installation
git clone https://github.com/jonashaag/klaus
cd klaus
git submodule update --init
pip install -r requirements.txt
Usage
-----
Using the ``
quickstart.py
`` script
Using the ``
klaus
`` script
..................................
::
tools/quickstart
--help
tools/quickstart.py
<host> <port> /path/to/repo1 [../path/to/repo2 [...]]
$ klaus
--help
$ klaus -i
<host>
-p
<port> /path/to/repo1 [../path/to/repo2 [...]]
Example::
tools/quickstart.py 127.0.0.1 8080
../klaus
../nano
../bjoern
$ klaus
../klaus ../bjoern
This will make klaus serve the *klaus*, *nano* and *bjoern* repos at
``127.0.0.1:8080`` using Python's built-in wsgiref_ server (or, if installed,
the bjoern_ server).
This will make klaus serve the *klaus* and *bjoern* repos at
``127.0.0.1:8080`` using werkzeug's builtin run_simple server.
.. _wsgiref: http://docs.python.org/library/wsgiref.html
.. _bjoern: https://github.com/jonashaag/bjoern
Using a real server
...................
The ``klaus.py`` module contains a WSGI ``application`` object. The repo list
is read from the ``KLAUS_REPOS`` environment variable (space-separated paths).
Using a real server ................... The ``klaus/__init__.py`` module
contains a WSGI ``make_app`` function which returns the app. The repo list is
read from the ``KLAUS_REPOS`` environment variable (space-separated paths).
UWSGI example::
...
...
This diff is collapsed.
Click to expand it.
bin/klaus
+
5
−
3
View file @
6c0449eb
...
...
@@ -13,8 +13,10 @@ if __name__ == '__main__':
usage
=
"
usage: %prog [options] dir [dirs]
"
options
=
[
make_option
(
"
-i
"
,
default
=
"
127.0.0.1
"
,
dest
=
"
interface
"
,
help
=
"
bind to host/address (default: 127.0.0.1)
"
),
make_option
(
"
-p
"
,
"
--port
"
,
type
=
int
,
default
=
8080
,
dest
=
"
port
"
,
help
=
"
webserver port
"
),
help
=
"
webserver port
(default: 8080)
"
),
make_option
(
"
-r
"
,
"
--use-reloader
"
,
action
=
"
store_true
"
,
dest
=
"
reloader
"
,
help
=
SUPPRESS_HELP
,
default
=
False
),
]
...
...
@@ -22,7 +24,7 @@ if __name__ == '__main__':
parser
=
OptionParser
(
option_list
=
options
,
usage
=
usage
,
epilog
=
"
klaus, a simple Git viewer
"
)
(
options
,
args
)
=
parser
.
parse_args
()
if
len
(
args
)
==
1
:
if
len
(
args
)
==
0
:
parser
.
print_usage
()
exit
(
2
)
...
...
@@ -31,4 +33,4 @@ if __name__ == '__main__':
exit
(
1
)
app
=
make_app
(
args
)
run_simple
(
'
127.0.0.1
'
,
options
.
port
,
app
,
use_reloader
=
options
.
reloader
)
run_simple
(
options
.
interface
,
options
.
port
,
app
,
use_reloader
=
options
.
reloader
)
This diff is collapsed.
Click to expand it.
requirements.txt
+
1
−
0
View file @
6c0449eb
werkzeug
jinja2
pygments
dulwich
...
...
This diff is collapsed.
Click to expand it.
tools/quickstart.py
deleted
100755 → 0
+
0
−
48
View file @
213b598a
#!/usr/bin/env python2
# coding: utf-8
import
sys
,
os
import
argparse
try
:
import
nano
except
ImportError
:
sys
.
path
.
append
(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
os
.
pardir
,
'
nano
'
))
try
:
import
nano
except
ImportError
:
raise
ImportError
(
"
Could not find a copy of nano (https://github.com/jonashaag/nano).
"
"
Use
'
git submodule update --init
'
to initialize the nano submodule
"
"
or copy the
'
nano.py
'
into the klaus root directory by hand.
"
)
try
:
from
bjoern
import
run
except
ImportError
:
from
wsgiref.simple_server
import
make_server
def
run
(
app
,
host
,
port
):
make_server
(
host
,
port
,
app
).
serve_forever
()
def
valid_directory
(
path
):
if
not
os
.
path
.
exists
(
path
):
raise
argparse
.
ArgumentTypeError
(
'
%r: No such directory
'
%
path
)
return
path
def
main
():
parser
=
argparse
.
ArgumentParser
(
epilog
=
'
Gemüse kaufen!
'
)
parser
.
add_argument
(
'
host
'
,
help
=
'
(without http://)
'
)
parser
.
add_argument
(
'
port
'
,
type
=
int
)
parser
.
add_argument
(
'
--display-host
'
,
dest
=
'
custom_host
'
)
parser
.
add_argument
(
'
repo
'
,
nargs
=
'
+
'
,
type
=
valid_directory
,
help
=
'
repository directories to serve
'
)
args
=
parser
.
parse_args
()
sys
.
argv
=
[
'
this is a hack
'
]
+
args
.
repo
from
klaus
import
app
if
args
.
custom_host
:
app
.
custom_host
=
args
.
custom_host
run
(
app
,
args
.
host
,
args
.
port
)
if
__name__
==
'
__main__
'
:
main
()
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment