From 71520ba4e171195c983320b9c00e37c215fad39c Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Sat, 24 Feb 2007 21:38:38 -0800 Subject: i'm confused? --- bn_django/git_browse/models.py | 36 ++++++++++++---------- bn_django/git_browse/settings.py | 7 ++++- .../git_browse/templates/git_browse/base.html | 2 +- .../git_browse/templates/git_browse/blob.html | 2 +- .../git_browse/templates/git_browse/commit.html | 2 +- .../git_browse/templates/git_browse/full_log.html | 2 +- bn_django/git_browse/views.py | 19 ++++++++++-- bn_django/git_wiki/models.py | 12 ++++---- bn_django/git_wiki/settings.py | 6 ++-- bn_django/git_wiki/templates/git_wiki/base.html | 5 ++- bn_django/git_wiki/templates/git_wiki/item.html | 4 --- bn_django/photos/templates/photos/base.html | 4 --- .../photos/templates/photos/gallery_detail.html | 4 +-- .../photos/templates/photos/gallery_list.html | 1 + .../photos/templates/photos/photo_detail.html | 5 +-- bn_django/settings.py | 21 ++++++------- bn_django/templates/about.html | 2 +- bn_django/templates/base.html | 2 +- 18 files changed, 75 insertions(+), 61 deletions(-) diff --git a/bn_django/git_browse/models.py b/bn_django/git_browse/models.py index c914cac..315365a 100644 --- a/bn_django/git_browse/models.py +++ b/bn_django/git_browse/models.py @@ -1,6 +1,13 @@ from django.db import models from django.conf import settings +try: + GITBROWSE_BASE = settings.GITBROWSE_BASE +except AttributeError: + GITBROWSE_BASE='/home' +if GITBROWSE_BASE[-1] != '/': + GITBROWSE_BASE += '/' + try: GITCOMMAND = settings.GITCOMMAND except AttributeError: @@ -16,14 +23,11 @@ if ADMIN_URL[-1] == '/': # Create your models here. class Repository(models.Model): -# path = models.FilePathField("relative path to repository", \ -# path=GITBROWSE_BASE,recursive=True,match="\.git$",unique=True, \ -# blank=False) - path = models.CharField("path to git dir", maxlength=386, unique=True,\ - blank=False, default="/srv/git/") - name = models.CharField(_("name"), maxlength=80, unique=True) - slug = models.SlugField("short description of repo", unique=True,\ + path = models.FilePathField("relative path to repository", \ + path=GITBROWSE_BASE,recursive=True,match="^.*\.git$",unique=True, \ blank=False) + name = models.CharField(_("name"), maxlength=80) + slug = models.SlugField(prepopulate_from=("path",),unique=True) git_version = models.CharField(_("git version"), maxlength=100, \ default="git version 1.4.4", blank=True, \ help_text="Output of \'git --version\'") @@ -42,27 +46,29 @@ class Repository(models.Model): def getGITPREFIX(self): """returns the glued together combination of GITCOMMAND and GITBROWSE_BASE needed to call git commands on this repository""" - return 'cd ' + str(self.path) + '; ' + str(GITCOMMAND) + ' --git-dir='\ - + str(self.path) + return 'cd ' + str(GITBROWSE_BASE) + str(self.slug) + '; ' \ + + str(GITCOMMAND) + ' --git-dir=' + str(GITBROWSE_BASE) \ + + str(self.slug) + '/.git ' def scan(self): import os GITPREFIX = self.getGITPREFIX() heads = dict() - for h in os.listdir(self.path + '/refs/heads/'): - f = open(self.path + '/refs/heads/' + h,'r') + for h in os.listdir(GITBROWSE_BASE + self.slug + '/.git/refs/heads/'): + f = open(GITBROWSE_BASE + self.slug + '/.git/refs/heads/' + h,'r') heads[h.strip()] = f.readline().strip() f.close() tags = dict() - for t in os.listdir(self.path + '/refs/tags/'): - f = open(self.path + '/refs/tags/' + t,'r') + for t in os.listdir(GITBROWSE_BASE + self.slug + '/.git/refs/tags/'): + f = open(GITBROWSE_BASE + self.slug + '/.git/refs/tags/' + t,'r') tags[t.strip()] = f.readline().strip() f.close() return (GITPREFIX, heads, tags) def shortlog(self): import commands - GITPREFIX = self.getGITPREFIX() + GITPREFIX = 'cd ' + GITBROWSE_BASE + self.slug + '; ' + GITCOMMAND \ + + ' --git-dir=' + GITBROWSE_BASE + self.slug + '/.git ' logtxt = commands.getoutput(GITPREFIX \ + ' log --relative-date --max-count=6 | cat') log_items = logtxt.split('\ncommit ') @@ -189,8 +195,6 @@ class Commit(models.Model): raw = raw.splitlines() if len(raw) < 3: return self.treehash = raw[0].split()[-1].strip() - if not raw[1].startswith('parent'): - raw.insert(1, 'parent ') self.parenthash = raw[1][6:].strip() self.author = raw[2].split()[1] self.author_date = time.ctime(int(raw[2].split()[-2])) diff --git a/bn_django/git_browse/settings.py b/bn_django/git_browse/settings.py index 87b957d..53799ab 100644 --- a/bn_django/git_browse/settings.py +++ b/bn_django/git_browse/settings.py @@ -1,2 +1,7 @@ + +# full path to directory holding all the git repositories (or sys links to +# the repositories) +GITBROWSE_BASE = '/srv/git/' + # fill path to the git command -GITCOMMAND = '/usr/local/bin/git' +GITCOMMAND = '/usr/bin/git' diff --git a/bn_django/git_browse/templates/git_browse/base.html b/bn_django/git_browse/templates/git_browse/base.html index 89a0139..c86e03b 100644 --- a/bn_django/git_browse/templates/git_browse/base.html +++ b/bn_django/git_browse/templates/git_browse/base.html @@ -4,7 +4,7 @@ {{ block.super }} - + {% endblock %} diff --git a/bn_django/git_browse/templates/git_browse/blob.html b/bn_django/git_browse/templates/git_browse/blob.html index 3730807..1fb1437 100644 --- a/bn_django/git_browse/templates/git_browse/blob.html +++ b/bn_django/git_browse/templates/git_browse/blob.html @@ -7,7 +7,7 @@ {{ size|filesizeformat }}

Download zip

Raw contents

-
{{ contents|escape|wordwrap:80 }}
+
{{ contents }}
{% else %}

No such object: {{ hash }}

{% endif %} {% endblock %} diff --git a/bn_django/git_browse/templates/git_browse/commit.html b/bn_django/git_browse/templates/git_browse/commit.html index b4ee4a6..3a1aefd 100644 --- a/bn_django/git_browse/templates/git_browse/commit.html +++ b/bn_django/git_browse/templates/git_browse/commit.html @@ -22,7 +22,7 @@

Committer Date

{{ commit.committer_date }}
{% if commit.rawdiff %} -
{{ commit.rawdiff|escape|wordwrap:80 }}
+
{{ commit.rawdiff }}
{% else %}No diff{% endif %} {% else %}

No such object: {{ hash }}

diff --git a/bn_django/git_browse/templates/git_browse/full_log.html b/bn_django/git_browse/templates/git_browse/full_log.html index 913a3c4..d2a1311 100644 --- a/bn_django/git_browse/templates/git_browse/full_log.html +++ b/bn_django/git_browse/templates/git_browse/full_log.html @@ -11,7 +11,7 @@
Author: {{ item.author }}
Date: {{ item.date }}
Comment: -
{{ item.comment|escape|wordwrap:80 }}
+
{{ item.comment|wordwrap:80 }}
{% endfor %} {% endif %} {% endblock %} diff --git a/bn_django/git_browse/views.py b/bn_django/git_browse/views.py index ed653df..f28aa76 100644 --- a/bn_django/git_browse/views.py +++ b/bn_django/git_browse/views.py @@ -8,6 +8,11 @@ import os, commands from models import * +try: + GITBROWSE_BASE = settings.GITBROWSE_BASE+'/' +except AttributeError: + GITBROWSE_BASE='/home/' + try: GITCOMMAND = settings.GITCOMMAND except AttributeError: @@ -36,9 +41,11 @@ def view_tree(request, repo, hash=None,branch=None): (GITPREFIX, heads, tags) = therepo.scan() if(hash == None): - head_ref = commands.getoutput('cd ' + therepo.path + '; cat HEAD') + head_ref = commands.getoutput('cd ' + GITBROWSE_BASE \ + + therepo.slug +'/.git; cat HEAD') head_ref = head_ref.split()[1] - hash = commands.getoutput('cd ' + therepo.path + '; cat ' + head_ref) + hash = commands.getoutput('cd ' + GITBROWSE_BASE + therepo.slug \ + +'/.git; cat ' + head_ref) tree_ls = commands.getoutput(GITPREFIX + ' ls-tree ' + hash) tree_objs = list() @@ -63,6 +70,9 @@ def view_log(request, repo, hash=None): therepo = get_object_or_404(Repository, slug=repo) (GITPREFIX, heads, tags) = therepo.scan() + GITPREFIX = 'cd ' + GITBROWSE_BASE + therepo.slug + '; ' + GITCOMMAND \ + + ' --git-dir=' + GITBROWSE_BASE + therepo.slug + '/.git ' + logtxt = commands.getoutput(GITPREFIX + ' log | cat') log_items = logtxt.split('\ncommit ') if (log_items[0] == ''): @@ -116,6 +126,11 @@ def view_obj(request, repo, hash, branch=None): (GITPREFIX, heads, tags) = therepo.scan() obj_type = commands.getoutput(GITPREFIX + ' cat-file -t ' + hash) + #if(obj_type == 'tree'): + # redirect_to('../tree/' + hash); + #if(obj_type == 'blob'): + # redirect_to('../blob/' + hash); + obj_contents = commands.getoutput(GITPREFIX + ' cat-file -p ' + hash) obj_size = commands.getoutput(GITPREFIX + ' cat-file -s ' + hash) diff --git a/bn_django/git_wiki/models.py b/bn_django/git_wiki/models.py index 11f00f1..0e71fca 100644 --- a/bn_django/git_wiki/models.py +++ b/bn_django/git_wiki/models.py @@ -150,10 +150,10 @@ def fromslug(reqslug): import commands if reqslug == '' or reqslug == '/': - f = open(GITWIKI_BASE + '/.git/HEAD','r') + f = open(GITWIKI_BASE + '/' + GITWIKI_NAME + '.git/HEAD','r') head = f.readline().strip().split()[1] f.close() - f = open(GITWIKI_BASE + '/.git/'+head,'r') + f = open(GITWIKI_BASE + '/' + GITWIKI_NAME + '.git/'+head,'r') hash = f.readline().strip() f.close() ret = Tree(id=hash) @@ -198,13 +198,13 @@ def fromslug(reqslug): def reposcan(): import os heads = dict() - for h in os.listdir(GITWIKI_BASE + '/.git/refs/heads/'): - f = open(GITWIKI_BASE + '/.git/refs/heads/' + h,'r') + for h in os.listdir(GITWIKI_BASE + '/' + GITWIKI_NAME + '.git/refs/heads/'): + f = open(GITWIKI_BASE + '/' + GITWIKI_NAME + '.git/refs/heads/' + h,'r') heads[h.strip()] = f.readline().strip() f.close() tags = dict() - for t in os.listdir(GITWIKI_BASE + '/.git/refs/tags/'): - f = open(GITWIKI_BASE + '/.git/refs/tags/' + t,'r') + for t in os.listdir(GITWIKI_BASE + '/' + GITWIKI_NAME + '.git/refs/tags/'): + f = open(GITWIKI_BASE + '/' + GITWIKI_NAME + '.git/refs/tags/' + t,'r') tags[t.strip()] = f.readline().strip() f.close() return (heads, tags) diff --git a/bn_django/git_wiki/settings.py b/bn_django/git_wiki/settings.py index ed07f53..fb81e26 100644 --- a/bn_django/git_wiki/settings.py +++ b/bn_django/git_wiki/settings.py @@ -1,13 +1,13 @@ # full path to directory holding the wiki repository (or sys links to # the repositories) -GITWIKI_BASE = '/home/bnewbold/knowledge/' +GITWIKI_BASE = '/srv/git/' # leave this blank (NO WHITE SPACE) unless you're using a bare repo -GITWIKI_NAME = '' +GITWIKI_NAME = 'knowledge' # fill path to the git command -GITCOMMAND = '/usr/local/bin/git' +GITCOMMAND = '/usr/bin/git' GITPREFIX = 'cd ' +str(GITWIKI_BASE) + '; ' + str(GITCOMMAND) + ' --git-dir=' \ + str(GITWIKI_BASE) + '/' + GITWIKI_NAME + '.git' diff --git a/bn_django/git_wiki/templates/git_wiki/base.html b/bn_django/git_wiki/templates/git_wiki/base.html index eefaa9a..ded3c25 100644 --- a/bn_django/git_wiki/templates/git_wiki/base.html +++ b/bn_django/git_wiki/templates/git_wiki/base.html @@ -4,13 +4,16 @@ {{ block.super }} - + {% endblock %} {% block path %} {{ block.super }} knowledge +{% if item %} + » {{ object.title }} +{% endif %} {% endblock %} {% block title %} diff --git a/bn_django/git_wiki/templates/git_wiki/item.html b/bn_django/git_wiki/templates/git_wiki/item.html index 7562fc6..0df1b72 100644 --- a/bn_django/git_wiki/templates/git_wiki/item.html +++ b/bn_django/git_wiki/templates/git_wiki/item.html @@ -1,15 +1,11 @@ {% extends "git_wiki/base.html" %} -{% load markup %} - {% block path %}{{ block.super }} » {{ item.path }}{% endblock %} {% block title %}Knowledge Item: {{ item.path }}{% endblock %} {% block gitwiki %} - {{ item.contents|restructuredtext }} -

Item name:

{{ item.name }}

Item sha1 hash:

diff --git a/bn_django/photos/templates/photos/base.html b/bn_django/photos/templates/photos/base.html index d229057..94d9808 100644 --- a/bn_django/photos/templates/photos/base.html +++ b/bn_django/photos/templates/photos/base.html @@ -1,5 +1 @@ {% extends "base.html" %} - -{% block path %} - photos -{% endblock %} diff --git a/bn_django/photos/templates/photos/gallery_detail.html b/bn_django/photos/templates/photos/gallery_detail.html index 318091b..f9d1bd6 100644 --- a/bn_django/photos/templates/photos/gallery_detail.html +++ b/bn_django/photos/templates/photos/gallery_detail.html @@ -2,9 +2,8 @@ {# {% load markup %} #} {% block path %} -{{ block.super }} + photos » {% if object %} - » {{ object.title }} {% endif %} {% endblock %} @@ -21,6 +20,7 @@ Gallery: {{ object.title }} {% if object.photo_set.count %} {% for item in object.photo_set.all %} + photos » {{ object.gallery.title }} - » - {{ object.title }} {% endblock %} {% block title %} diff --git a/bn_django/settings.py b/bn_django/settings.py index 8041cc1..676a638 100644 --- a/bn_django/settings.py +++ b/bn_django/settings.py @@ -1,17 +1,17 @@ # Django settings for bn_django project. -DEBUG = True +DEBUG = False TEMPLATE_DEBUG = DEBUG ADMINS = ( # ('Your Name', 'your_email@domain.com'), - ('Bryan Newbold', 'bnewbold@mit.edu'), + ('Bryan Newbold', 'bnewbold@bryannewbold.com'), ) MANAGERS = ADMINS DATABASE_ENGINE = 'sqlite3' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. -DATABASE_NAME = '/home/bnewbold/bn-project/bn_django/bn_django.db' # Or path to database file if using sqlite3. +DATABASE_NAME = '/srv/django/bn_django.db' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. @@ -19,7 +19,7 @@ DATABASE_PORT = '' # Set to empty string for default. Not used with # Local time zone for this installation. All choices can be found here: # http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE -TIME_ZONE = 'America/Boston' +TIME_ZONE = 'America/Seattle' # Language code for this installation. All choices can be found here: # http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes @@ -34,16 +34,16 @@ USE_I18N = True # Absolute path to the directory that holds media. # Example: "/home/media/media.lawrence.com/" -MEDIA_ROOT = '/home/bnewbold/bn-project/media/' +MEDIA_ROOT = '/srv/http/bryannewbold/static/' # URL that handles the media served from MEDIA_ROOT. # Example: "http://media.lawrence.com" -MEDIA_URL = '/media/' +MEDIA_URL = 'http://static.bryannewbold.com/' # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a # trailing slash. # Examples: "http://foo.com/media/", "/media/". -ADMIN_MEDIA_PREFIX = '/style/django-admin/' +ADMIN_MEDIA_PREFIX = 'http://static.bryannewbold.com/django-admin/' # Make this unique, and don't share it with anybody. SECRET_KEY = 'jdsgk29845ldsfg0090204tv(GFD8g0(%$)*@$#R%U)#*ifd;/q' @@ -60,7 +60,6 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', - 'django.contrib.csrf.middleware.CsrfMiddleware', 'django.middleware.doc.XViewMiddleware', ) @@ -70,7 +69,7 @@ TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. - '/home/bnewbold/bn-project/bn_django/templates', + '/srv/django/bn-project/bn_django/templates', ) INSTALLED_APPS = ( @@ -80,11 +79,9 @@ INSTALLED_APPS = ( 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.flatpages', - 'django.contrib.markup', - 'django.contrib.comments', 'bn_django.photos', 'bn_django.git_wiki', 'bn_django.git_browse', ) -GITBROWSE_BASE = '/home/bnewbold/bn-project/code' +GITBROWSE_BASE = '/srv/git/' diff --git a/bn_django/templates/about.html b/bn_django/templates/about.html index c9f9ce4..86755d5 100644 --- a/bn_django/templates/about.html +++ b/bn_django/templates/about.html @@ -15,7 +15,7 @@
the perp
-This website is the web presence of Bryan Newbold. It serves as a: +This website is the web presence of Bryan Newbold. It serves as a:
brain dump
so I won't forget diff --git a/bn_django/templates/base.html b/bn_django/templates/base.html index 0df7a36..e574277 100644 --- a/bn_django/templates/base.html +++ b/bn_django/templates/base.html @@ -5,7 +5,7 @@ {% block stylesheets %} - + {% endblock %} {% block externaljs %} {% endblock %} {% block windowtitle %}bryannewbold.com{% endblock %} -- cgit v1.2.3