piwigo: Start at pwg.images.addSimple.

Without a session and a logged in user, this can't go much
further.

Misses check for the file upload field.
Need refactored test tool for this.
This commit is contained in:
Elrond 2013-03-26 19:19:32 +01:00
parent 126c3503a0
commit 79f87b975e
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2013 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import wtforms
class AddSimpleForm(wtforms.Form):
image = wtforms.FileField()
name = wtforms.TextField(
validators=[wtforms.validators.Length(min=0, max=500)])
comment = wtforms.TextField()
# tags = wtforms.FieldList(wtforms.TextField())
category = wtforms.IntegerField()
level = wtforms.IntegerField()

View File

@ -24,6 +24,7 @@ from mediagoblin import mg_globals
from mediagoblin.meddleware.csrf import csrf_exempt
from mediagoblin.tools.response import render_404
from .tools import CmdTable, PwgNamedArray, response_xml
from .forms import AddSimpleForm
_log = logging.getLogger(__name__)
@ -80,6 +81,20 @@ def pwg_images_exist(request):
return {}
@CmdTable("pwg.images.addSimple", True)
def pwg_images_addSimple(request):
form = AddSimpleForm(request.form)
if not form.validate():
_log.error("addSimple: form failed")
raise BadRequest()
dump = []
for f in form:
dump.append("%s=%r" % (f.name, f.data))
_log.info("addimple: %r %s %r", request.form, " ".join(dump), request.files)
return {'image_id': 123456, 'url': ''}
md5sum_matcher = re.compile(r"^[0-9a-fA-F]{32}$")
def fetch_md5(request, parm_name, optional_parm=False):