pasteque/paste/templates/paste/index.html

122 lines
4.5 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "base.html" %}
{% load filters %}
{% load i18n %}
{% load compress %}
{% block content %}
<h1>Paf'Py</h1>
<p>Et PAF !</p>
<h2>Envoyer un ou plusieurs fichiers</h2>
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 |
</pre></div>
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> :
<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>
<span class="o">{</span>
<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>
<span class="o">}</span>
</pre></div>
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> :
<div class="highlight"><pre><span></span>$ cal | paf
| URL | size | filename |
|-------------------------|--------|-------------|
| https://p.afpy.org/dNuo | 184 | request.txt |
</pre></div>
<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) :
<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>
{% endblock %}