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)
|
||||
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):
|
||||
"""String representation."""
|
||||
return _(self.name)
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
<button class="btn" type="submit">{% trans 'Paste' %}</button>
|
||||
<input type="hidden" id="max_characters" value="{{ max_characters }}">
|
||||
</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 %}
|
||||
{% block javascript %}
|
||||
{% 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.http import HttpResponseRedirect
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
from .models import Paste
|
||||
from .models import Paste, Language
|
||||
from .forms import PasteForm
|
||||
from .tools import random_id
|
||||
from webtools import settings
|
||||
|
@ -19,9 +19,10 @@ def index(request):
|
|||
paste_ip=request.META['REMOTE_ADDR'],
|
||||
paste_agent=request.META['HTTP_USER_AGENT'])
|
||||
if request.FILES:
|
||||
for any_file in request.FILES.values():
|
||||
for language_name, any_file in request.FILES.items():
|
||||
break
|
||||
form = PasteForm({'language': 14,
|
||||
language = Language.by_name(language_name)
|
||||
form = PasteForm({'language': language.id,
|
||||
'title': any_file.name,
|
||||
'private': settings.PASTE['private_by_default'],
|
||||
'lifetime': settings.PASTE['default_lifetime'],
|
||||
|
|
|
@ -104,6 +104,7 @@ PASTE = {
|
|||
'default_renderer': 'pygments',
|
||||
'max_characters': 100000,
|
||||
'default_lifetime': 60 * 24 * 7 * 365,
|
||||
'default_language': 'Python',
|
||||
}
|
||||
|
||||
LOGGING = {
|
||||
|
|
Loading…
Reference in New Issue