pasteque/paste/templates/paste/index.html

122 lines
4.5 KiB
HTML
Raw Normal View History

2023-04-21 12:32:45 +00:00
{% extends "base.html" %}
{% load filters %}
2013-04-04 17:37:30 +00:00
{% load i18n %}
{% load compress %}
{% block content %}
2023-04-21 08:12:46 +00:00
<h1>Paf'Py</h1>
2023-04-24 15:39:50 +00:00
<p>Et PAF !</p>
2018-05-19 09:13:34 +00:00
2023-04-24 15:39:50 +00:00
<h2>Envoyer un ou plusieurs fichiers</h2>
2018-05-19 09:13:34 +00:00
2023-04-24 15:39:50 +00:00
En utilisant des requêtes <tt>multipart/form-data</tt> il est possible
d'envoyer un fichier :
<div class="highlight"><pre><span></span>curl {{ request.build_absolute_uri }} <span class="o">-F</span>manage.py<span class="o">=</span>@manage.py
| URL | size | filename |
|-------------------------|--------|-----------|
| https://p.afpy.org/g3LE | 251 | manage.py |
</pre></div>
ou plusieurs fichiers en même temps :
<div class="highlight"><pre><span></span>curl {{ request.build_absolute_uri }} <span class="o">-F</span>manage.py<span class="o">=</span>@manage.py <span class="o">-F</span>requirements.txt<span class="o">=</span>@requirements.txt
| URL | size | filename |
|-------------------------|--------|------------------|
| https://p.afpy.org/g3LE | 251 | manage.py |
| https://p.afpy.org/k4oT | 547 | requirements.txt |
2023-04-21 08:12:46 +00:00
</pre></div>
2018-05-19 09:13:34 +00:00
2023-04-24 15:39:50 +00:00
C'est l'extension dans le nom du fichier qui permet de choisir la
coloration syntaxique pour chaque fichier.
<h2>Envoyer dans le corps d'une requête</h2>
Il est possible de coller un unique fichier via le corps d'une requête <tt>POST</tt> :
2018-05-19 09:13:34 +00:00
2023-04-24 15:39:50 +00:00
<div class="highlight"><pre>
$ cal | curl -XPOST --data-binary @- {{ request.build_absolute_uri }}
| URL | size | filename |
|-------------------------|--------|----------|
| https://p.afpy.org/mo8X | 184 | request |
</pre></div>
Dans ce cas, il est possible de choisir la coloration syntaxique via l'entête <tt>Content-Type</tt> :
<div class="highlight"><pre>
$ cal | curl -XPOST -H <span class="s2">"Content-Type: text/plain"</span> --data-binary @- {{ request.build_absolute_uri }}
| URL | size | filename |
|-------------------------|--------|-------------|
| https://p.afpy.org/dNuo | 184 | request.txt |
</pre></div>
<h2>Fonction <tt>bash</tt></h2>
<p>Pour ceux qui ne souhaitent pas rédiger des requêtes <tt>curl</tt>
toute la journée, voici une petite fonction <tt>bash</tt> :</p>
<div class="highlight"><pre><span></span>paf<span class="o">()</span>
2023-04-21 08:12:46 +00:00
<span class="o">{</span>
2023-04-24 15:39:50 +00:00
<span class="k">if</span> <span class="o">[[</span> <span class="nv">$#</span> <span class="o">==</span> <span class="m">0</span> <span class="o">]]</span>
<span class="k">then</span>
curl https://p.afpy.org/ --data-binary @- -H <span class="s2">&quot;Content-Type: text/plain&quot;</span>
<span class="k">else</span>
curl https://p.afpy.org/ <span class="s2">&quot;</span><span class="si">${</span><span class="p">@/*/-F&amp;=@&amp;</span><span class="si">}</span><span class="s2">&quot;</span>
<span class="k">fi</span>
2023-04-21 08:12:46 +00:00
<span class="o">}</span>
</pre></div>
2023-04-24 15:39:50 +00:00
Cette fonction est capable d'envoyer un fichier :
<div class="highlight"><pre><span></span>$ paf manage.py
| URL | size | filename |
|-------------------------|--------|-----------|
| https://p.afpy.org/g3LE | 251 | manage.py |
</pre></div>
plusieurs fichiers :
<div class="highlight"><pre><span></span>$ paf *.py
| URL | size | filename |
|-------------------------|--------|-----------------------|
| https://p.afpy.org/bvRV | 188 | admin.py |
| https://p.afpy.org/5uei | 296 | context_processors.py |
| https://p.afpy.org/Xg5a | 1419 | models.py |
| https://p.afpy.org/GkGS | 309 | urls.py |
| https://p.afpy.org/LVXL | 2730 | views.py |
</pre></div>
et même de lire sur <tt>stdin</tt> :
2023-04-21 08:12:46 +00:00
2023-04-24 15:39:50 +00:00
<div class="highlight"><pre><span></span>$ cal | paf
| URL | size | filename |
|-------------------------|--------|-------------|
| https://p.afpy.org/dNuo | 184 | request.txt |
2023-04-21 08:12:46 +00:00
</pre></div>
2023-04-21 14:48:32 +00:00
2023-04-24 15:39:50 +00:00
<h2>Accès aux collages</h2>
Chaque collage peut-être consulté dans un navigateur (où il est présenté avec de la coloration syntaxique :
<a href="https://p.afpy.org/g3LE">https://p.afpy.org/g3LE</a>), ou
être consulté en ligne de commande (où il est délivré brut) :
2023-04-21 14:48:32 +00:00
<div class="highlight"><pre><span></span>$ curl https://p.afpy.org/g3LE
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "webtools.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
</pre></div>
2013-04-04 17:37:30 +00:00
{% endblock %}