direct sharing of files

This commit is contained in:
2018-01-25 14:00:30 +02:00
parent 94860d5195
commit f6696d8e28
5 changed files with 21 additions and 5 deletions

View File

@@ -97,8 +97,11 @@ def list_view(name, password = None):
"list.html",
name = share['name'],
entries = files,
password = get_or_none(share,'pass_hash'),
public = get_or_none(share,'public'),
upload = get_or_none(share,'upload'),
overwrite = get_or_none(share,'overwrite'),
direct = get_or_none(share,'direct_links'),
expire = get_or_none(share,'expire')
)

View File

@@ -2,7 +2,7 @@
{% block body %}
authenticate to {{ name|safe }}
<form action={{ url_for('authenticate',name=name) }} method=post enctype=multipart/form-data>
<p><input type=password name=password>
<p><input type=password name=password autofocus>
<input type=submit value=Login>
</form>
{% endblock %}

View File

@@ -6,9 +6,12 @@
<div id=list_upload>
<form action={{ url_for('upload') }} method=post enctype=multipart/form-data>
<input type=hidden name=name value="{{ name|safe }}" />
<input type=file name=file>
<input type=submit value=Upload>
<input type=file name=file onchange="document.getElementById('list_upload_button').disabled = false;">
<input id="list_upload_button" type=submit value=Upload disabled>
</form>
{% if overwrite == false %}
Overwriting disabled
{% endif %}
</div>
{% else %}
<div id=list_upload>
@@ -47,6 +50,9 @@
{% for entry in entries %}
<tr>
<td><a href="{{ url_for('download_file', name = name, filename = entry.name) }}">{{ entry.name }}</a>
{% if direct %}
&nbsp;<a href="{{ url_for('download_file', name = name, password = password, filename = entry.name ) }}" title="Direct share link">&#x2756;</a>
{% endif %}
<td class=td_right>{{ entry.size|safe }}
<td>{{ entry.mtime|safe }}
</tr>

View File

@@ -3,7 +3,7 @@
upload to {{ name|safe }}
<form action={{ url_for('upload') }} method=post enctype=multipart/form-data>
<input type=hidden name=name value="{{ name|safe }}" />
<p><input type=file name=file>
<input type=submit value=Upload>
<p><input type=file name=file onchange="function() { document.getElementById('upload_button').disabled = false; }">
<input id="upload_button" type=submit value=Upload disabled>
</form>
{% endblock %}

View File

@@ -9,9 +9,14 @@ parser.add_argument('-n','--name', action="store", dest="name", required = True)
parser.add_argument('-p','--path', action="store", dest="path", required = True,help= "path relative to data folder")
parser.add_argument('-P','--public', action="store_true", dest="public", default = False)
parser.add_argument('-u','--upload', action="store_true", dest="upload", default = False)
parser.add_argument('-o','--overwrite', action="store_false", dest="overwrite", default = True,
help = "Allow file overwrites")
parser.add_argument('-d','--direct', action="store_true", dest="direct", default = False,
help = "Allow direct file sharing (password hash included in URL)")
parser.add_argument('--pass-plain', action="store", dest="plain", default = False)
parser.add_argument('--pass-hashed', action="store", dest="hashed", default = False)
parser.add_argument('-e','--expire', action="store", dest="expire", default = False, help = "expire date in format 2018-12-24 21:00")
parser.add_argument('-s','--shares', action="store", dest="shares", default = False,
help = "Your current shares.json file")
parser.add_argument('-i','--insert', action="store_true", dest="insert", default = False,
@@ -24,6 +29,8 @@ share = {
'path': opts.path,
'public': opts.public,
'upload': opts.upload,
'overwrite': opts.overwrite,
'direct_links': opts.direct,
}
if opts.plain:
share.update({