Renamed pastebin > dpaste.

This is a way simpler project structure, its also backwards compatible. Its a huge cleanup and should make further development and also 3rd party integration much easier.
This commit is contained in:
Martin Mahner 2013-03-19 13:33:35 +01:00
parent bbb873d7b8
commit ee0fc79a3e
49 changed files with 31 additions and 740 deletions

4
.gitignore vendored
View file

@ -2,6 +2,6 @@
*.pyc *.pyc
docs/_build/* docs/_build/*
uploads uploads
pastebin/conf/local/*.py dpaste/conf/local/*.py
dev.db dev.db
pastebin.egg-info dpaste.egg-info

View file

@ -1,5 +1,5 @@
from django.contrib import admin from django.contrib import admin
from pastebin.apps.dpaste.models import Snippet from dpaste.models import Snippet
class SnippetAdmin(admin.ModelAdmin): class SnippetAdmin(admin.ModelAdmin):
list_display = ('published', 'expires', 'lexer', 'get_absolute_url') list_display = ('published', 'expires', 'lexer', 'get_absolute_url')

View file

@ -33,10 +33,10 @@ LANGUAGES = (
#============================================================================== #==============================================================================
import os import os
import sys import sys
import pastebin import dpaste
PROJECT_DIR, PROJECT_MODULE_NAME = os.path.split( PROJECT_DIR, PROJECT_MODULE_NAME = os.path.split(
os.path.dirname(os.path.realpath(pastebin.__file__)) os.path.dirname(os.path.realpath(dpaste.__file__))
) )
PYTHON_BIN = os.path.dirname(sys.executable) PYTHON_BIN = os.path.dirname(sys.executable)
@ -68,7 +68,7 @@ ADMIN_MEDIA_PREFIX = '/static/admin/'
MEDIA_ROOT = os.path.join(VAR_ROOT, 'uploads') MEDIA_ROOT = os.path.join(VAR_ROOT, 'uploads')
ROOT_URLCONF = 'pastebin.conf.urls' ROOT_URLCONF = 'dpaste.conf.urls'
LOGIN_URL = '/accounts/login/' LOGIN_URL = '/accounts/login/'
LOGOUT_URL = '/accounts/logout/' LOGOUT_URL = '/accounts/logout/'
@ -79,7 +79,7 @@ LOGIN_REDIRECT_URL = '/'
#============================================================================== #==============================================================================
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'pastebin.disable.DisableCSRF', 'dpaste.disable.DisableCSRF',
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
@ -103,10 +103,9 @@ INSTALLED_APPS = (
'django.contrib.admin', 'django.contrib.admin',
'mptt', 'mptt',
'south', 'south',
'pastebin',
'pastebin.apps.dpaste',
'gunicorn', 'gunicorn',
'raven.contrib.django',
'dpaste',
) )
#============================================================================== #==============================================================================

View file

@ -2,7 +2,7 @@ from django.conf.urls.defaults import *
from django.conf import settings from django.conf import settings
from django.contrib import admin from django.contrib import admin
from piston.resource import Resource from piston.resource import Resource
from pastebin.apps.api.handlers import SnippetHandler from dpaste.handlers import SnippetHandler
admin.autodiscover() admin.autodiscover()
snippet_resource = Resource(handler=SnippetHandler) snippet_resource = Resource(handler=SnippetHandler)
@ -12,6 +12,6 @@ urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', include(admin.site.urls)),
url(r'^api/(?P<secret_id>[^/]+)/$', snippet_resource), url(r'^api/(?P<secret_id>[^/]+)/$', snippet_resource),
url(r'^api/$', snippet_resource), url(r'^api/$', snippet_resource),
(r'^', include('pastebin.apps.dpaste.urls')), (r'^', include('dpaste.urls')),
) )

View file

@ -1,8 +1,8 @@
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from pastebin.apps.dpaste.models import Snippet from dpaste.models import Snippet
from pastebin.apps.dpaste.highlight import LEXER_LIST_ALL, LEXER_LIST, LEXER_DEFAULT from dpaste.highlight import LEXER_LIST_ALL, LEXER_LIST, LEXER_DEFAULT
import datetime import datetime
#=============================================================================== #===============================================================================

View file

@ -2,7 +2,7 @@ import datetime
import re import re
from piston.utils import rc from piston.utils import rc
from piston.handler import AnonymousBaseHandler from piston.handler import AnonymousBaseHandler
from pastebin.apps.dpaste.models import Snippet from dpaste.models import Snippet
class SnippetHandler(AnonymousBaseHandler): class SnippetHandler(AnonymousBaseHandler):
allowed_methods = ('POST',) allowed_methods = ('POST',)

View file

@ -2,7 +2,7 @@ import datetime
import sys import sys
from optparse import make_option from optparse import make_option
from django.core.management.base import CommandError, LabelCommand from django.core.management.base import CommandError, LabelCommand
from pastebin.apps.dpaste.models import Snippet from dpaste.models import Snippet
class Command(LabelCommand): class Command(LabelCommand):
option_list = LabelCommand.option_list + ( option_list = LabelCommand.option_list + (

View file

@ -7,7 +7,7 @@ from django.db import models
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db.models import permalink from django.db.models import permalink
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from pastebin.apps.dpaste.highlight import LEXER_DEFAULT, pygmentize from dpaste.highlight import LEXER_DEFAULT, pygmentize
t = 'abcdefghijkmnopqrstuvwwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ1234567890' t = 'abcdefghijkmnopqrstuvwwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ1234567890'
def generate_secret_id(length=5): def generate_secret_id(length=5):
@ -24,6 +24,7 @@ class Snippet(models.Model):
class Meta: class Meta:
ordering = ('-published',) ordering = ('-published',)
db_table = 'dpaste_snippet'
def get_linecount(self): def get_linecount(self):
return len(self.content.splitlines()) return len(self.content.splitlines())

View file

@ -1,7 +1,7 @@
from django.template import Library from django.template import Library
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from pastebin.apps.dpaste.highlight import pygmentize from dpaste.highlight import pygmentize
register = Library() register = Library()

View file

@ -2,7 +2,7 @@ from django.conf.urls.defaults import patterns, url
from django.conf import settings from django.conf import settings
urlpatterns = patterns('pastebin.apps.dpaste.views', urlpatterns = patterns('dpaste.views',
url(r'^$', 'snippet_new', name='snippet_new'), url(r'^$', 'snippet_new', name='snippet_new'),
url(r'^guess/$', 'guess_lexer', name='snippet_guess_lexer'), url(r'^guess/$', 'guess_lexer', name='snippet_guess_lexer'),
url(r'^diff/$', 'snippet_diff', name='snippet_diff'), url(r'^diff/$', 'snippet_diff', name='snippet_diff'),

View file

@ -8,9 +8,9 @@ from django.utils.translation import ugettext_lazy as _
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils import simplejson from django.utils import simplejson
from pastebin.apps.dpaste.forms import SnippetForm, UserSettingsForm from dpaste.forms import SnippetForm, UserSettingsForm
from pastebin.apps.dpaste.models import Snippet from dpaste.models import Snippet
from pastebin.apps.dpaste.highlight import pygmentize, guess_code_lexer, \ from dpaste.highlight import pygmentize, guess_code_lexer, \
LEXER_WORDWRAP LEXER_WORDWRAP
import difflib import difflib

8
fabfile.py vendored
View file

@ -11,8 +11,8 @@ env.proj_repo = 'git@github.com:bartTC/dpaste.de.git'
env.root = '/opt/webapps/dpaste.de' env.root = '/opt/webapps/dpaste.de'
env.proj_root = env.root + '/src/dpastede' env.proj_root = env.root + '/src/dpastede'
env.pid_file = env.root + '/var/gunicorn.pid' env.pid_file = env.root + '/var/gunicorn.pid'
env.proj_bin = env.proj_root + '/pastebin/bin' env.proj_bin = env.proj_root + '/dpaste/bin'
env.local_settings = env.proj_root + '/pastebin/conf/local/settings.py' env.local_settings = env.proj_root + '/dpaste/conf/local/settings.py'
env.pip_file = env.proj_root + '/requirements.pip' env.pip_file = env.proj_root + '/requirements.pip'
# ============================================================================ # ============================================================================
@ -33,7 +33,7 @@ def push(remote=None, branch=None, reload=False):
def pushr(remote=None, branch=None, reload=True): def pushr(remote=None, branch=None, reload=True):
push(remote, branch, reload) push(remote, branch, reload)
def switch(branch): def switch(branch):
"""Switch the repo branch which the server is using""" """Switch the repo branch which the server is using"""
with cd(env.proj_root): with cd(env.proj_root):
@ -85,7 +85,7 @@ def debugon():
"""Turn debug mode on for the production server.""" """Turn debug mode on for the production server."""
run("sed -i -e 's/^DEBUG = .*/DEBUG = True/' %s" % env.local_settings) run("sed -i -e 's/^DEBUG = .*/DEBUG = True/' %s" % env.local_settings)
restart() restart()
def debugoff(): def debugoff():
"""Turn debug mode on for the production server.""" """Turn debug mode on for the production server."""
run("sed -i -e 's/^DEBUG = .*/DEBUG = False/' %s" % env.local_settings) run("sed -i -e 's/^DEBUG = .*/DEBUG = False/' %s" % env.local_settings)

View file

@ -1 +0,0 @@
__version__ = '0.2.3'

View file

@ -1,236 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-07 12:23+0200\n"
"PO-Revision-Date: 2008-08-10 01:20+0100\n"
"Last-Translator: Martin Mahner <martin@mahner.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:13
msgid "In one hour"
msgstr "In einer Stunde"
#: forms.py:14
msgid "In one week"
msgstr "In einer Woche"
#: forms.py:15
msgid "In one month"
msgstr "In einem Monat"
#: forms.py:16
msgid "Save forever"
msgstr "Für immer speichern"
#: forms.py:26 models.py:20
msgid "Lexer"
msgstr "Syntax"
#: forms.py:32 models.py:22
msgid "Expires"
msgstr "Erlischt"
#: forms.py:87 forms.py:96
msgid "Default"
msgstr "Standard"
#: forms.py:100
msgid "Default Name"
msgstr "Standard Name"
#: forms.py:102
msgid "Display all lexer"
msgstr "Alle Syntaxformate anzeigen"
#: forms.py:105
msgid "This also enables the super secret 'guess lexer' function."
msgstr "Dies aktiviert auch die super geheime 'Syntax erraten' Funktion."
#: forms.py:107
msgid "Font Family"
msgstr "Schriftart"
#: forms.py:108
msgid "Font Size"
msgstr "Schriftgröße"
#: forms.py:109
msgid "Line Height"
msgstr "Zeilenhöhe"
#: models.py:15
msgid "Secret ID"
msgstr "Geheime ID"
#: models.py:16
msgid "Title"
msgstr "Titel"
#: models.py:17
msgid "Author"
msgstr "Autor"
#: models.py:18
msgid "Content"
msgstr "Inhalt"
#: models.py:19
msgid "Highlighted Content"
msgstr "Gehighlighteter Content"
#: models.py:21
msgid "Published"
msgstr "Veröffentlicht"
#: views.py:145
msgid "No changes were made between this two files."
msgstr "Zwischen diesen beiden Dateien wurden keine Änderungen durchgeführt."
#: templates/dpaste/snippet_details.html:18
#: templates/dpaste/snippet_details.html:21
#: templates/dpaste/snippet_details.html:44
#: templates/dpaste/snippet_details.html:81
#: templates/dpaste/snippet_details.html:83
#: templates/dpaste/snippet_list.html:4 templates/dpaste/snippet_list.html:13
msgid "Snippet"
msgstr "Snippet"
#: templates/dpaste/snippet_details.html:23
#, python-format
msgid "(Copy of <a href=\"%(parent_url)s\">snippet #%(parent_id)s</a>)"
msgstr "(Kopie von <a href=\"%(parent_url)s\">Snippet #%(parent_id)s</a>)"
#: templates/dpaste/snippet_details.html:25
#: templates/dpaste/snippet_list.html:14
msgid "DATETIME_FORMAT"
msgstr ""
#: templates/dpaste/snippet_details.html:25
msgid "UTC"
msgstr "UTC"
#: templates/dpaste/snippet_details.html:35
msgid "Time to life"
msgstr ""
#: templates/dpaste/snippet_details.html:38
msgid "Really delete this snippet?"
msgstr "Wirklich dieses Snippet löschen?"
#: templates/dpaste/snippet_details.html:41
msgid "Wordwrap"
msgstr ""
#: templates/dpaste/snippet_details.html:45
#, python-format
msgid "by %(author)s"
msgstr "von %(author)s"
#: templates/dpaste/snippet_details.html:59
msgid "Write an answer"
msgstr "Schreibe eine Antwort"
#: templates/dpaste/snippet_details.html:69
msgid "History"
msgstr "Verlauf"
#: templates/dpaste/snippet_details.html:89
msgid "Compare"
msgstr "Vergleichen"
#: templates/dpaste/snippet_details.html:94
msgid "Options"
msgstr "Optionen"
#: templates/dpaste/snippet_details.html:95
msgid "View raw"
msgstr "Rohformat"
#: templates/dpaste/snippet_diff.html:4
msgid "Close"
msgstr "Schließen"
#: templates/dpaste/snippet_diff.html:5
#, python-format
msgid ""
"\n"
" Diff between\n"
" <a href=\"%(filea_url)s\">Snippet #%(filea_id)s</a>\n"
" and\n"
" <a href=\"%(fileb_url)s\">Snippet #%(fileb_id)s</a>\n"
" "
msgstr ""
"\n"
" Diff zwischen\n"
" <a href=\"%(filea_url)s\">Snippet #%(filea_id)s</a>\n"
" und\n"
" <a href=\"%(fileb_url)s\">Snippet #%(fileb_id)s</a>\n"
" "
#: templates/dpaste/snippet_form.html:10
msgid "Guess lexer"
msgstr "Syntax erraten"
#: templates/dpaste/snippet_form.html:15
msgid "Paste it"
msgstr "Paste es"
#: templates/dpaste/snippet_list.html:6
#, python-format
msgid "Your latest %(snippets_max)s snippets"
msgstr "Deine neuesten %(snippets_max)s Snippets"
#: templates/dpaste/snippet_list.html:19
msgid "No snippets available."
msgstr "Keine Snippets verfügbar"
#: templates/dpaste/snippet_list.html:24 templates/dpaste/userprefs.html:25
msgid "DATA_STORED_IN_A_COOKIE_HINT"
msgstr ""
"<p><strong>Hinweis:</strong> Deine Daten werden in einem Cookie gespeichert."
#: templates/dpaste/snippet_new.html:4 templates/dpaste/snippet_new.html:8
msgid "New snippet"
msgstr "Neues Snippet"
#: templates/dpaste/snippet_new.html:5
msgid "Paste a new snippet"
msgstr "Schreibe ein neues Snippet"
#: templates/dpaste/snippet_new.html:14
msgid "DPASTE_HOMEPAGE_TITLE"
msgstr "dpaste"
#: templates/dpaste/snippet_new.html:15
msgid "DPASTE_HOMEPAGE_DESCRIPTION"
msgstr ""
"dpaste.de ist ein Codespeicher inspiriert von <a href=\"http://dpaste.com/"
"\">dpaste.com</a>. Die Vorteile und den Quellcode dieser Seite findest du "
"bei <a href=\"http://code.google.com/p/django-paste/\">Google Code</a>."
#: templates/dpaste/userprefs.html:5 templates/dpaste/userprefs.html.py:15
msgid "User Settings"
msgstr "Benutzereinstellungen"
#: templates/dpaste/userprefs.html:11
msgid "USER_PREFS_SAVED_SUCCESSFULLY"
msgstr "Deine Einstellungen wurden erfolgreich gespeichert."
#: templates/dpaste/userprefs.html:20
msgid "Save settings"
msgstr "Einstellungen speichern"
#~ msgid "WHAT_IS_THIS_TITLE"
#~ msgstr "Was ist das hier?"
#~ msgid "Youre displaying the whole bunch of lexers!"
#~ msgstr "Du siehst derzeit das ganze Bündel an Lexern!"

View file

@ -1,226 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-07 12:23+0200\n"
"PO-Revision-Date: 2008-08-10 01:19+0100\n"
"Last-Translator: Martin Mahner <martin@mahner.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:13
msgid "In one hour"
msgstr ""
#: forms.py:14
msgid "In one week"
msgstr ""
#: forms.py:15
msgid "In one month"
msgstr ""
#: forms.py:16
msgid "Save forever"
msgstr ""
#: forms.py:26 models.py:20
msgid "Lexer"
msgstr "Syntax"
#: forms.py:32 models.py:22
msgid "Expires"
msgstr ""
#: forms.py:87 forms.py:96
msgid "Default"
msgstr ""
#: forms.py:100
msgid "Default Name"
msgstr ""
#: forms.py:102
msgid "Display all lexer"
msgstr "Display all syntax modes"
#: forms.py:105
msgid "This also enables the super secret 'guess lexer' function."
msgstr "This also enables the super secret 'guess syntax' function."
#: forms.py:107
msgid "Font Family"
msgstr ""
#: forms.py:108
msgid "Font Size"
msgstr ""
#: forms.py:109
msgid "Line Height"
msgstr ""
#: models.py:15
msgid "Secret ID"
msgstr ""
#: models.py:16
msgid "Title"
msgstr ""
#: models.py:17
msgid "Author"
msgstr ""
#: models.py:18
msgid "Content"
msgstr ""
#: models.py:19
msgid "Highlighted Content"
msgstr ""
#: models.py:21
msgid "Published"
msgstr ""
#: views.py:145
msgid "No changes were made between this two files."
msgstr ""
#: templates/dpaste/snippet_details.html:18
#: templates/dpaste/snippet_details.html:21
#: templates/dpaste/snippet_details.html:44
#: templates/dpaste/snippet_details.html:81
#: templates/dpaste/snippet_details.html:83
#: templates/dpaste/snippet_list.html:4 templates/dpaste/snippet_list.html:13
msgid "Snippet"
msgstr ""
#: templates/dpaste/snippet_details.html:23
#, python-format
msgid "(Copy of <a href=\"%(parent_url)s\">snippet #%(parent_id)s</a>)"
msgstr ""
#: templates/dpaste/snippet_details.html:25
#: templates/dpaste/snippet_list.html:14
msgid "DATETIME_FORMAT"
msgstr ""
#: templates/dpaste/snippet_details.html:25
msgid "UTC"
msgstr ""
#: templates/dpaste/snippet_details.html:35
msgid "Time to life"
msgstr ""
#: templates/dpaste/snippet_details.html:38
msgid "Really delete this snippet?"
msgstr ""
#: templates/dpaste/snippet_details.html:41
msgid "Wordwrap"
msgstr ""
#: templates/dpaste/snippet_details.html:45
#, python-format
msgid "by %(author)s"
msgstr ""
#: templates/dpaste/snippet_details.html:59
msgid "Write an answer"
msgstr ""
#: templates/dpaste/snippet_details.html:69
msgid "History"
msgstr ""
#: templates/dpaste/snippet_details.html:89
msgid "Compare"
msgstr ""
#: templates/dpaste/snippet_details.html:94
msgid "Options"
msgstr ""
#: templates/dpaste/snippet_details.html:95
msgid "View raw"
msgstr ""
#: templates/dpaste/snippet_diff.html:4
msgid "Close"
msgstr ""
#: templates/dpaste/snippet_diff.html:5
#, python-format
msgid ""
"\n"
" Diff between\n"
" <a href=\"%(filea_url)s\">Snippet #%(filea_id)s</a>\n"
" and\n"
" <a href=\"%(fileb_url)s\">Snippet #%(fileb_id)s</a>\n"
" "
msgstr ""
#: templates/dpaste/snippet_form.html:10
msgid "Guess lexer"
msgstr "Guess syntax"
#: templates/dpaste/snippet_form.html:15
msgid "Paste it"
msgstr ""
#: templates/dpaste/snippet_list.html:6
#, python-format
msgid "Your latest %(snippets_max)s snippets"
msgstr ""
#: templates/dpaste/snippet_list.html:19
msgid "No snippets available."
msgstr ""
#: templates/dpaste/snippet_list.html:24 templates/dpaste/userprefs.html:25
msgid "DATA_STORED_IN_A_COOKIE_HINT"
msgstr "<p><strong>Remember:</strong> Your data is stored in a cookie.</p>"
#: templates/dpaste/snippet_new.html:4 templates/dpaste/snippet_new.html:8
msgid "New snippet"
msgstr ""
#: templates/dpaste/snippet_new.html:5
msgid "Paste a new snippet"
msgstr ""
#: templates/dpaste/snippet_new.html:14
msgid "DPASTE_HOMEPAGE_TITLE"
msgstr "dpaste"
#: templates/dpaste/snippet_new.html:15
msgid "DPASTE_HOMEPAGE_DESCRIPTION"
msgstr ""
"dpaste is code pastebin originally inspired by <a href=\"http://dpaste."
"com/\">dpaste.com</a>. Find the advantages and the public sourcecode on <a "
"href=\"http://code.google.com/p/django-paste/\">Google Code</a>."
#: templates/dpaste/userprefs.html:5 templates/dpaste/userprefs.html.py:15
msgid "User Settings"
msgstr ""
#: templates/dpaste/userprefs.html:11
msgid "USER_PREFS_SAVED_SUCCESSFULLY"
msgstr "Your preferences were successfully saved."
#: templates/dpaste/userprefs.html:20
msgid "Save settings"
msgstr ""
#~ msgid "WHAT_IS_THIS_TITLE"
#~ msgstr "What is this?"

View file

@ -1,246 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: dpaste\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-30 12:21-0500\n"
"PO-Revision-Date: 2011-05-30 19:21+0100\n"
"Last-Translator: Martin Mahner <martin@mahner.org>\n"
"Language-Team: en <martin@mahner.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
"X-Poedit-SourceCharset: utf-8\n"
#: apps/dpaste/forms.py:13
msgid "In one hour"
msgstr ""
#: apps/dpaste/forms.py:14
msgid "In one week"
msgstr ""
#: apps/dpaste/forms.py:15
msgid "In one month"
msgstr ""
#: apps/dpaste/forms.py:16
msgid "Save forever"
msgstr ""
#: apps/dpaste/forms.py:26
#: apps/dpaste/models.py:20
msgid "Lexer"
msgstr ""
#: apps/dpaste/forms.py:32
#: apps/dpaste/models.py:22
msgid "Expires"
msgstr ""
#: apps/dpaste/forms.py:87
#: apps/dpaste/forms.py:96
msgid "Default"
msgstr ""
#: apps/dpaste/forms.py:100
msgid "Default Name"
msgstr ""
#: apps/dpaste/forms.py:102
msgid "Display all lexer"
msgstr ""
#: apps/dpaste/forms.py:105
msgid "This also enables the super secret 'guess lexer' function."
msgstr ""
#: apps/dpaste/forms.py:107
msgid "Font Family"
msgstr ""
#: apps/dpaste/forms.py:108
msgid "Font Size"
msgstr ""
#: apps/dpaste/forms.py:109
msgid "Line Height"
msgstr ""
#: apps/dpaste/models.py:15
msgid "Secret ID"
msgstr ""
#: apps/dpaste/models.py:16
msgid "Title"
msgstr ""
#: apps/dpaste/models.py:17
msgid "Author"
msgstr ""
#: apps/dpaste/models.py:18
msgid "Content"
msgstr ""
#: apps/dpaste/models.py:19
msgid "Highlighted Content"
msgstr ""
#: apps/dpaste/models.py:21
msgid "Published"
msgstr ""
#: apps/dpaste/views.py:148
msgid "No changes were made between this two files."
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:18
#: apps/dpaste/templates/dpaste/snippet_details.html:21
#: apps/dpaste/templates/dpaste/snippet_details.html:44
#: apps/dpaste/templates/dpaste/snippet_details.html:82
#: apps/dpaste/templates/dpaste/snippet_details.html:84
#: apps/dpaste/templates/dpaste/snippet_list.html:4
#: apps/dpaste/templates/dpaste/snippet_list.html:13
msgid "Snippet"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:23
#, python-format
msgid "(Copy of <a href=\"%(parent_url)s\">snippet #%(parent_id)s</a>)"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:25
#: apps/dpaste/templates/dpaste/snippet_list.html:14
msgid "DATETIME_FORMAT"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:25
msgid "UTC"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:35
msgid "Time to life"
msgstr "Time to live"
#: apps/dpaste/templates/dpaste/snippet_details.html:38
msgid "Really delete this snippet?"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:41
msgid "Wordwrap"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:45
#, python-format
msgid "by %(author)s"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:59
msgid "Write an answer"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:69
msgid "History"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:90
msgid "Compare"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:95
msgid "Options"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_details.html:96
msgid "View raw"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_diff.html:4
msgid "Close"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_diff.html:5
#, python-format
msgid ""
"\n"
" Diff between\n"
" <a href=\"%(filea_url)s\">Snippet #%(filea_id)s</a>\n"
" and\n"
" <a href=\"%(fileb_url)s\">Snippet #%(fileb_id)s</a>\n"
" "
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_form.html:12
msgid "Guess lexer"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_form.html:17
msgid "Paste it"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_list.html:6
#, python-format
msgid "Your latest %(snippets_max)s snippets"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_list.html:19
msgid "No snippets available."
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_list.html:24
#: apps/dpaste/templates/dpaste/userprefs.html:26
msgid "DATA_STORED_IN_A_COOKIE_HINT"
msgstr "Your data is stored in a cookie."
#: apps/dpaste/templates/dpaste/snippet_new.html:4
#: apps/dpaste/templates/dpaste/snippet_new.html:8
#: templates/base.html:9
#: templates/base.html.py:16
msgid "New snippet"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_new.html:5
msgid "Paste a new snippet"
msgstr ""
#: apps/dpaste/templates/dpaste/snippet_new.html:14
msgid "DPASTE_HOMEPAGE_TITLE"
msgstr "dpaste.de"
#: apps/dpaste/templates/dpaste/snippet_new.html:15
msgid "DPASTE_HOMEPAGE_DESCRIPTION"
msgstr ""
#: apps/dpaste/templates/dpaste/userprefs.html:5
#: apps/dpaste/templates/dpaste/userprefs.html:15
msgid "User Settings"
msgstr ""
#: apps/dpaste/templates/dpaste/userprefs.html:11
msgid "USER_PREFS_SAVED_SUCCESSFULLY"
msgstr "Your settings were saved."
#: apps/dpaste/templates/dpaste/userprefs.html:21
msgid "Save settings"
msgstr ""
#: templates/base.html:41
msgid "Recent snippets"
msgstr ""
#: templates/base.html:42
msgid "Settings"
msgstr ""
#: templates/base.html:43
msgid "About"
msgstr ""

View file

@ -1,9 +1,9 @@
#!/usr/bin/env python #!/usr/bin/env python
from setuptools import setup, find_packages from setuptools import setup, find_packages
setup(name='pastebin', setup(name='dpaste',
version='0.1', version='0.1',
packages=find_packages(), packages=find_packages(),
package_data={'pastebin': ['bin/*.*', 'static/*.*', 'templates/*.*']}, package_data={'dpaste': ['bin/*.*', 'static/*.*', 'templates/*.*']},
exclude_package_data={'pastebin': ['bin/*.pyc']}, exclude_package_data={'dpaste': ['bin/*.pyc']},
scripts=['pastebin/bin/manage.py']) scripts=['dpaste/bin/manage.py'])