def submit_character_post_(request): form = request.web_input(submitfile="", thumbfile="", title="", age="", gender="", height="", weight="", species="", rating="", friends="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") if not define.is_vouched_for(request.userid): raise WeasylError("vouchRequired") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") c = orm.Character() c.age = form.age c.gender = form.gender c.height = form.height c.weight = form.weight c.species = form.species c.char_name = form.title c.content = form.content c.rating = rating charid = character.create(request.userid, c, form.friends, tags, form.thumbfile, form.submitfile) raise HTTPSeeOther(location="/manage/thumbnail?charid=%i" % (charid,))
def submit_literary_post_(request): form = request.web_input(submitfile="", coverfile="boop", thumbfile="", title="", folderid="", subtype="", rating="", friends="", critique="", content="", tags="", embedlink="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") s = orm.Submission() s.title = form.title s.rating = rating s.content = form.content s.folderid = define.get_int(form.folderid) or None s.subtype = define.get_int(form.subtype) submitid, thumb = submission.create_literary( request.userid, s, embedlink=form.embedlink, friends_only=form.friends, tags=tags, coverfile=form.coverfile, thumbfile=form.thumbfile, submitfile=form.submitfile, critique=form.critique, create_notifications=('nonotification' not in form)) if thumb: raise HTTPSeeOther(location="/manage/thumbnail?submitid=%i" % (submitid,)) else: raise HTTPSeeOther(location="/submission/%i/%s" % (submitid, slug_for(form.title)))
def POST(self): form = web.input(title="", rating="", friends="", members="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") j = orm.Journal() j.title = form.title j.rating = rating j.content = form.content journalid = journal.create(self.user_id, j, friends_only=form.friends, tags=tags) raise web.seeother("/journal/%i/%s" % (journalid, slug_for(form.title)))
def POST(self): form = web.input(submitfile="", thumbfile="", title="", folderid="", subtype="", rating="", friends="", critique="", content="", tags="", imageURL="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") s = orm.Submission() s.title = form.title s.rating = rating s.content = form.content s.folderid = define.get_int(form.folderid) or None s.subtype = define.get_int(form.subtype) submitid = submission.create_visual( self.user_id, s, friends_only=form.friends, tags=tags, imageURL=form.imageURL, thumbfile=form.thumbfile, submitfile=form.submitfile, critique=form.critique, create_notifications=('nonotification' not in form)) if 'customthumb' in form: raise web.seeother("/manage/thumbnail?submitid=%i" % (submitid,)) else: raise web.seeother("/submission/%i/%s" % (submitid, slug_for(form.title)))
def POST(self): form = web.input(submitfile="", coverfile="", thumbfile="", embedlink="", title="", folderid="", subtype="", rating="", friends="", critique="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") s = orm.Submission() s.title = form.title s.rating = rating s.content = form.content s.folderid = define.get_int(form.folderid) or None s.subtype = define.get_int(form.subtype) autothumb = ('noautothumb' not in form) submitid, thumb = submission.create_multimedia( self.user_id, s, embedlink=form.embedlink, friends_only=form.friends, tags=tags, coverfile=form.coverfile, thumbfile=form.thumbfile, submitfile=form.submitfile, critique=form.critique, create_notifications=('nonotification' not in form), auto_thumb=autothumb) if thumb and not autothumb: raise web.seeother("/manage/thumbnail?submitid=%i" % (submitid,)) else: raise web.seeother("/submission/%i/%s" % (submitid, slug_for(form.title)))
def submit_visual_post_(request): form = request.web_input(submitfile="", thumbfile="", title="", folderid="", subtype="", rating="", friends="", critique="", content="", tags="", imageURL="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") if not define.is_vouched_for(request.userid): raise WeasylError("vouchRequired") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") s = orm.Submission() s.title = form.title s.rating = rating s.content = form.content s.folderid = define.get_int(form.folderid) or None s.subtype = define.get_int(form.subtype) s.submitter_ip_address = request.client_addr s.submitter_user_agent_id = get_user_agent_id(ua_string=request.user_agent) submitid = submission.create_visual( request.userid, s, friends_only=form.friends, tags=tags, imageURL=form.imageURL, thumbfile=form.thumbfile, submitfile=form.submitfile, critique=form.critique, create_notifications=('nonotification' not in form)) if 'customthumb' in form: raise HTTPSeeOther(location="/manage/thumbnail?submitid=%i" % (submitid,)) else: raise HTTPSeeOther(location="/submission/%i/%s" % (submitid, slug_for(form.title)))
def submit_character_post_(request): form = request.web_input(submitfile="", thumbfile="", title="", age="", gender="", height="", weight="", species="", rating="", friends="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") c = orm.Character() c.age = form.age c.gender = form.gender c.height = form.height c.weight = form.weight c.species = form.species c.char_name = form.title c.content = form.content c.rating = rating charid = character.create(request.userid, c, form.friends, tags, form.thumbfile, form.submitfile) raise HTTPSeeOther(location="/manage/thumbnail?charid=%i" % (charid,))
def submit_journal_post_(request): form = request.web_input(title="", rating="", friends="", members="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") j = orm.Journal() j.title = form.title j.rating = rating j.content = form.content journalid = journal.create(request.userid, j, friends_only=form.friends, tags=tags) raise HTTPSeeOther(location="/journal/%i/%s" % (journalid, slug_for(form.title)))
def submit_tags_(request): if not define.is_vouched_for(request.userid): raise WeasylError("vouchRequired") form = request.web_input(submitid="", charid="", journalid="", preferred_tags_userid="", optout_tags_userid="", tags="") tags = searchtag.parse_tags(form.tags) submitid = define.get_int(form.submitid) charid = define.get_int(form.charid) journalid = define.get_int(form.journalid) preferred_tags_userid = define.get_int(form.preferred_tags_userid) optout_tags_userid = define.get_int(form.optout_tags_userid) result = searchtag.associate(request.userid, tags, submitid, charid, journalid, preferred_tags_userid, optout_tags_userid) if result: failed_tag_message = "" if result["add_failure_restricted_tags"] is not None: failed_tag_message += "The following tags have been restricted from being added to this item by the content owner, or Weasyl staff: **" + result[ "add_failure_restricted_tags"] + "**. \n" if result["remove_failure_owner_set_tags"] is not None: failed_tag_message += "The following tags were not removed from this item as the tag was added by the owner: **" + result[ "remove_failure_owner_set_tags"] + "**.\n" failed_tag_message += "Any other changes to this item's tags were completed." if submitid: location = "/submission/%i" % (submitid, ) if not result: raise HTTPSeeOther(location=location) else: return Response( define.errorpage(request.userid, failed_tag_message, [["Return to Content", location]])) elif charid: location = "/character/%i" % (charid, ) if not result: raise HTTPSeeOther(location=location) else: return Response( define.errorpage(request.userid, failed_tag_message, [["Return to Content", location]])) elif journalid: location = "/journal/%i" % (journalid, ) if not result: raise HTTPSeeOther(location=location) else: return Response( define.errorpage(request.userid, failed_tag_message, [["Return to Content", location]])) else: raise HTTPSeeOther(location="/control/editcommissionsettings")
def submit_multimedia_post_(request): form = request.web_input(submitfile="", coverfile="", thumbfile="", embedlink="", title="", folderid="", subtype="", rating="", friends="", critique="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") s = orm.Submission() s.title = form.title s.rating = rating s.content = form.content s.folderid = define.get_int(form.folderid) or None s.subtype = define.get_int(form.subtype) autothumb = ('noautothumb' not in form) submitid, thumb = submission.create_multimedia( request.userid, s, embedlink=form.embedlink, friends_only=form.friends, tags=tags, coverfile=form.coverfile, thumbfile=form.thumbfile, submitfile=form.submitfile, critique=form.critique, create_notifications=('nonotification' not in form), auto_thumb=autothumb) if thumb and not autothumb: raise HTTPSeeOther(location="/manage/thumbnail?submitid=%i" % (submitid, )) else: raise HTTPSeeOther(location="/submission/%i/%s" % (submitid, slug_for(form.title)))
def POST(self): form = web.input(submitid="", charid="", journalid="", tags="") tags = searchtag.parse_tags(form.tags) submitid = define.get_int(form.submitid) charid = define.get_int(form.charid) journalid = define.get_int(form.journalid) searchtag.associate(self.user_id, tags, submitid, charid, journalid) if submitid: raise web.seeother("/submission/%i" % (submitid,)) elif charid: raise web.seeother("/character/%i" % (charid,)) else: raise web.seeother("/journal/%i" % (journalid,))
def POST(self): form = web.input(submitid="", charid="", journalid="", tags="") tags = searchtag.parse_tags(form.tags) submitid = define.get_int(form.submitid) charid = define.get_int(form.charid) journalid = define.get_int(form.journalid) searchtag.associate(self.user_id, tags, submitid, charid, journalid) if submitid: raise web.seeother("/submission/%i" % (submitid, )) elif charid: raise web.seeother("/character/%i" % (charid, )) else: raise web.seeother("/journal/%i" % (journalid, ))
def submit_tags_(request): form = request.web_input(submitid="", charid="", journalid="", tags="") tags = searchtag.parse_tags(form.tags) submitid = define.get_int(form.submitid) charid = define.get_int(form.charid) journalid = define.get_int(form.journalid) searchtag.associate(request.userid, tags, submitid, charid, journalid) if submitid: raise HTTPSeeOther(location="/submission/%i" % (submitid,)) elif charid: raise HTTPSeeOther(location="/character/%i" % (charid,)) else: raise HTTPSeeOther(location="/journal/%i" % (journalid,))
def POST(self): form = web.input(submitfile="", coverfile="boop", thumbfile="", title="", folderid="", subtype="", rating="", friends="", critique="", content="", tags="", embedlink="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") s = orm.Submission() s.title = form.title s.rating = rating s.content = form.content s.folderid = define.get_int(form.folderid) or None s.subtype = define.get_int(form.subtype) submitid, thumb = submission.create_literary( self.user_id, s, embedlink=form.embedlink, friends_only=form.friends, tags=tags, coverfile=form.coverfile, thumbfile=form.thumbfile, submitfile=form.submitfile, critique=form.critique, create_notifications=('nonotification' not in form)) if thumb: raise web.seeother("/manage/thumbnail?submitid=%i" % (submitid, )) else: raise web.seeother("/submission/%i/%s" % (submitid, slug_for(form.title)))
def submit_tags_(request): form = request.web_input(submitid="", charid="", journalid="", preferred_tags_userid="", optout_tags_userid="", tags="") tags = searchtag.parse_tags(form.tags) submitid = define.get_int(form.submitid) charid = define.get_int(form.charid) journalid = define.get_int(form.journalid) preferred_tags_userid = define.get_int(form.preferred_tags_userid) optout_tags_userid = define.get_int(form.optout_tags_userid) result = searchtag.associate(request.userid, tags, submitid, charid, journalid, preferred_tags_userid, optout_tags_userid) if result: failed_tag_message = "" if result["add_failure_restricted_tags"] is not None: failed_tag_message += "The following tags have been restricted from being added to this item by the content owner, or Weasyl staff: **" + result["add_failure_restricted_tags"] + "**. \n" if result["remove_failure_owner_set_tags"] is not None: failed_tag_message += "The following tags were not removed from this item as the tag was added by the owner: **" + result["remove_failure_owner_set_tags"] + "**.\n" failed_tag_message += "Any other changes to this item's tags were completed." if submitid: location = "/submission/%i" % (submitid,) if not result: raise HTTPSeeOther(location=location) else: return Response(define.errorpage(request.userid, failed_tag_message, [["Return to Content", location]])) elif charid: location = "/character/%i" % (charid,) if not result: raise HTTPSeeOther(location=location) else: return Response(define.errorpage(request.userid, failed_tag_message, [["Return to Content", location]])) elif journalid: location = "/journal/%i" % (journalid,) if not result: raise HTTPSeeOther(location=location) else: return Response(define.errorpage(request.userid, failed_tag_message, [["Return to Content", location]])) else: raise HTTPSeeOther(location="/control/editcommissionsettings")
def POST(self): form = web.input(submitfile="", thumbfile="", title="", age="", gender="", height="", weight="", species="", rating="", friends="", content="", tags="") tags = searchtag.parse_tags(form.tags) if not define.config_read_bool("allow_submit"): raise WeasylError("FeatureDisabled") rating = ratings.CODE_MAP.get(define.get_int(form.rating)) if not rating: raise WeasylError("ratingInvalid") c = orm.Character() c.age = form.age c.gender = form.gender c.height = form.height c.weight = form.weight c.species = form.species c.char_name = form.title c.content = form.content c.rating = rating charid = character.create(self.user_id, c, form.friends, tags, form.thumbfile, form.submitfile) raise web.seeother("/manage/thumbnail?charid=%i" % (charid, ))
from __future__ import absolute_import, unicode_literals import pytest from libweasyl import staff from libweasyl.models.helpers import CharSettings from weasyl import profile, searchtag from weasyl.error import WeasylError from weasyl.test import db_utils # Tag sets for testing tags = searchtag.parse_tags("omega_ruby, alpha_sapphire, diamond, pearl") tags_two = searchtag.parse_tags("omega_ruby, alpha_sapphire, diamond") @pytest.mark.usefixtures('db') def test_TargetRecordMissing_WeasylError_if_item_record_missing_or_invalid(): userid_tag_adder = db_utils.create_user() with pytest.raises(WeasylError) as err: searchtag.associate(userid_tag_adder, tags, submitid=666) assert err.value.value == "TargetRecordMissing" with pytest.raises(WeasylError) as err: searchtag.associate(userid_tag_adder, tags, charid=666) assert err.value.value == "TargetRecordMissing" with pytest.raises(WeasylError) as err: searchtag.associate(userid_tag_adder, tags, journalid=666) assert err.value.value == "TargetRecordMissing"