Get language name from file form field name.
This commit is contained in:
parent
c9e406573f
commit
63fe8deaa9
|
@ -23,6 +23,14 @@ class Language(models.Model):
|
||||||
name = models.CharField(max_length=200, unique=True)
|
name = models.CharField(max_length=200, unique=True)
|
||||||
slug = models.SlugField(max_length=200, unique=True)
|
slug = models.SlugField(max_length=200, unique=True)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def by_name(cls, name):
|
||||||
|
language = cls.objects.filter(name__icontains=name).first()
|
||||||
|
if not language:
|
||||||
|
language = cls.objects.filter(
|
||||||
|
name__iexact=settings.PASTE['default_language']).first()
|
||||||
|
return language
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
"""String representation."""
|
"""String representation."""
|
||||||
return _(self.name)
|
return _(self.name)
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
<button class="btn" type="submit">{% trans 'Paste' %}</button>
|
<button class="btn" type="submit">{% trans 'Paste' %}</button>
|
||||||
<input type="hidden" id="max_characters" value="{{ max_characters }}">
|
<input type="hidden" id="max_characters" value="{{ max_characters }}">
|
||||||
</form>
|
</form>
|
||||||
<div class="alert alert-info" role="alert">You can also use: <pre>curl {{ absolute_index_url }} -Ffile=@hello.py</pre></div>
|
<div class="alert alert-info" role="alert">You can also use: <pre>curl {{ absolute_index_url }} -Fpython=@hello.py</pre></div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block javascript %}
|
{% block javascript %}
|
||||||
{% if PASTE.show_char_left %}
|
{% if PASTE.show_char_left %}
|
||||||
|
|
|
@ -3,7 +3,7 @@ from django.urls import reverse
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.views.decorators.csrf import csrf_exempt
|
from django.views.decorators.csrf import csrf_exempt
|
||||||
from .models import Paste
|
from .models import Paste, Language
|
||||||
from .forms import PasteForm
|
from .forms import PasteForm
|
||||||
from .tools import random_id
|
from .tools import random_id
|
||||||
from webtools import settings
|
from webtools import settings
|
||||||
|
@ -19,9 +19,10 @@ def index(request):
|
||||||
paste_ip=request.META['REMOTE_ADDR'],
|
paste_ip=request.META['REMOTE_ADDR'],
|
||||||
paste_agent=request.META['HTTP_USER_AGENT'])
|
paste_agent=request.META['HTTP_USER_AGENT'])
|
||||||
if request.FILES:
|
if request.FILES:
|
||||||
for any_file in request.FILES.values():
|
for language_name, any_file in request.FILES.items():
|
||||||
break
|
break
|
||||||
form = PasteForm({'language': 14,
|
language = Language.by_name(language_name)
|
||||||
|
form = PasteForm({'language': language.id,
|
||||||
'title': any_file.name,
|
'title': any_file.name,
|
||||||
'private': settings.PASTE['private_by_default'],
|
'private': settings.PASTE['private_by_default'],
|
||||||
'lifetime': settings.PASTE['default_lifetime'],
|
'lifetime': settings.PASTE['default_lifetime'],
|
||||||
|
|
|
@ -104,6 +104,7 @@ PASTE = {
|
||||||
'default_renderer': 'pygments',
|
'default_renderer': 'pygments',
|
||||||
'max_characters': 100000,
|
'max_characters': 100000,
|
||||||
'default_lifetime': 60 * 24 * 7 * 365,
|
'default_lifetime': 60 * 24 * 7 * 365,
|
||||||
|
'default_language': 'Python',
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user