Skip to content

Commit

Permalink
Merge pull request #572 from charmander/cleanup-2
Browse files Browse the repository at this point in the history
Cleanup 2
  • Loading branch information
charmander committed Aug 19, 2019
2 parents 0b543c9 + 724bf7d commit 2bd8a26
Show file tree
Hide file tree
Showing 11 changed files with 53 additions and 91 deletions.
7 changes: 5 additions & 2 deletions setup.cfg
@@ -1,9 +1,12 @@
[flake8]
; Rules we don’t really need:
; E226: missing whitespace around binary operator
; E501: line too long
; W503: line break before binary operator
; W504: line break after binary operator
; SQLAlchemy:
; E711: comparison to None should be ‘if cond is None:’
ignore = E501,E711
ignore = E226,E501,E711,W503,W504

exclude =
.git,
Expand All @@ -13,7 +16,7 @@ exclude =
static,
weasyl-apidocs,
weasyl-env,
templates/*
templates/*,

[tool:pytest]
addopts = -ra
4 changes: 2 additions & 2 deletions templates/modcontrol/suspenduser.html
@@ -1,4 +1,4 @@
$def with (templates, json_templates)
$def with (templates)
$:{RENDER("common/stage_title.html", ["User Suspensions", "Moderator Control Panel", "/modcontrol"])}

<div class="content clear" style="padding-top: 2em;">
Expand Down Expand Up @@ -70,7 +70,7 @@ <h4>Release User</h4>
</div>

<script>
var banTemplates = $:{json_templates};
var banTemplates = $:{INLINE_JSON(templates)};
var templateId = document.getElementById("template_id");
var suspendAction = document.getElementById("suspendaction");
var suspendDuration = document.getElementById("duration");
Expand Down
3 changes: 0 additions & 3 deletions weasyl/controllers/detail.py
Expand Up @@ -65,9 +65,6 @@ def submission_(request):
extras["canonical_url"] = canonical_path
extras["title"] = item["title"]

submission_files = item["sub_media"].get("submission")
submission_file = submission_files[0] if submission_files else None

page = define.common_page_start(request.userid, **extras)
page.append(define.render('detail/submission.html', [
# Myself
Expand Down
3 changes: 1 addition & 2 deletions weasyl/controllers/moderation.py
Expand Up @@ -2,7 +2,6 @@

from __future__ import absolute_import

import anyjson as json
import arrow

from pyramid.httpexceptions import HTTPSeeOther
Expand All @@ -22,7 +21,7 @@ def modcontrol_(request):
@moderator_only
def modcontrol_suspenduser_get_(request):
return Response(define.webpage(request.userid, "modcontrol/suspenduser.html",
[moderation.BAN_TEMPLATES, json.dumps(moderation.BAN_TEMPLATES)], title="User Suspensions"))
(moderation.BAN_TEMPLATES,), title="User Suspensions"))


@moderator_only
Expand Down
1 change: 0 additions & 1 deletion weasyl/controllers/two_factor_auth.py
Expand Up @@ -165,7 +165,6 @@ def tfa_init_verify_post_(request):
# Extract parameters from the form
verify_checkbox = 'verify' in request.params
tfasecret = _get_totp_code_from_session()
tfaresponse = request.params['tfaresponse']
tfarecoverycodes = _get_recovery_codes_from_session()

# Does the user want to proceed with enabling 2FA?
Expand Down
2 changes: 1 addition & 1 deletion weasyl/controllers/user.py
Expand Up @@ -239,7 +239,7 @@ def signup_post_(request):
username="", password="", passcheck="", email="", emailcheck="",
day="", month="", year="")

if 'g-recaptcha-response' not in form or not define.captcha_verify(form['g-recaptcha-response']):
if not define.captcha_verify(form.get('g-recaptcha-response')):
return Response(define.errorpage(
request.userid,
"There was an error validating the CAPTCHA response; you should go back and try again."))
Expand Down
12 changes: 3 additions & 9 deletions weasyl/define.py
Expand Up @@ -262,17 +262,12 @@ def titlebar(title, backtext=None, backlink=None):
return render("common/stage_title.html", [title, backtext, backlink])


def errorpage(userid, code=None, links=None,
unexpected=None, request_id=None, **extras):
def errorpage(userid, code=None, links=None, request_id=None, **extras):
if links is None:
links = []

if code is None:
code = errorcode.unexpected

if unexpected:
code = "".join([code, " The error code associated with this condition "
"is '", unexpected, "'."])
code = text.markdown(code)

return webpage(userid, "error/error.html", [code, links, request_id], **extras)
Expand Down Expand Up @@ -671,13 +666,12 @@ def _convert_time(target=None):
return dt.strftime("%H:%M:%S %Z")


def convert_unixdate(day, month, year, escape=True):
def convert_unixdate(day, month, year):
"""
Returns the unixtime corresponding to the beginning of the specified date; if
the date is not valid, None is returned.
"""
if escape:
day, month, year = (get_int(i) for i in [day, month, year])
day, month, year = (get_int(i) for i in [day, month, year])

try:
ret = int(time.mktime(datetime.date(year, month, day).timetuple()))
Expand Down
10 changes: 2 additions & 8 deletions weasyl/profile.py
Expand Up @@ -435,16 +435,11 @@ def edit_profile(userid, profile,
def edit_streaming_settings(my_userid, userid, profile, set_stream=None, stream_length=0):

if set_stream == 'start':
try:
stream_length = int(stream_length)
except:
raise WeasylError("streamDurationOutOfRange")

if stream_length < 1 or stream_length > 360:
raise WeasylError("streamDurationOutOfRange")

if set_stream == 'start' and not profile.stream_url:
raise WeasylError("streamLocationNotSet")
if not profile.stream_url:
raise WeasylError("streamLocationNotSet")

# unless we're specifically still streaming, clear the user_streams record
if set_stream != 'still':
Expand Down Expand Up @@ -499,7 +494,6 @@ def edit_userinfo(userid, form):
'link_type': site_name,
'link_value': site_value,
}
row['userid'] = userid
social_rows.append(row)

d.engine.execute("""
Expand Down
15 changes: 4 additions & 11 deletions weasyl/search.py
Expand Up @@ -409,16 +409,9 @@ def browse(userid, rating, limit, form, find=None):
form.find = find

if form.find == "char":
query = character.select_list(userid, rating, limit, backid=backid, nextid=nextid)
return character.select_list(userid, rating, limit, backid=backid, nextid=nextid)
elif form.find == "journal":
query = journal.select_user_list(userid, rating, limit, backid=backid, nextid=nextid)
return journal.select_user_list(userid, rating, limit, backid=backid, nextid=nextid)
else:
query = submission.select_list(userid, rating, limit, backid=backid, nextid=nextid,
subcat=d.get_int(form.cat) if d.get_int(form.cat) in [1000, 2000, 3000] else None)

if query and not backid:
backid = query[0][form.find + "id"]
if query and not nextid:
nextid = query[-1][form.find + "id"]

return query
return submission.select_list(userid, rating, limit, backid=backid, nextid=nextid,
subcat=d.get_int(form.cat) if d.get_int(form.cat) in [1000, 2000, 3000] else None)
83 changes: 33 additions & 50 deletions weasyl/submission.py
Expand Up @@ -36,7 +36,7 @@
from weasyl import searchtag
from weasyl import twits
from weasyl import welcome
from weasyl.error import PostgresError, WeasylError
from weasyl.error import WeasylError


_MEGABYTE = 1048576
Expand Down Expand Up @@ -163,10 +163,8 @@ def create_visual(userid, submission,
submitsize = len(submitfile)

if not submitsize:
files.clear_temporary(userid)
raise WeasylError("submitSizeZero")
elif thumbsize > 10 * _MEGABYTE:
files.clear_temporary(userid)
raise WeasylError("thumbSizeExceedsLimit")

im = image.from_string(submitfile)
Expand Down Expand Up @@ -325,28 +323,24 @@ def create_literary(userid, submission, embedlink=None, friends_only=False, tags
# TODO(kailys): use ORM object
db = d.connect()
now = arrow.get()
try:
q = (
d.meta.tables['submission'].insert().values([{
"folderid": submission.folderid,
"userid": userid,
"unixtime": now,
"title": submission.title,
"content": submission.content,
"subtype": submission.subtype,
"rating": submission.rating.code,
"settings": settings,
"sorttime": now,
}])
.returning(d.meta.tables['submission'].c.submitid))
submitid = db.scalar(q)
if embedlink:
q = (d.meta.tables['google_doc_embeds'].insert()
.values(submitid=submitid, embed_url=embedlink))
db.execute(q)
except:
files.clear_temporary(userid)
raise
q = (
d.meta.tables['submission'].insert().values([{
"folderid": submission.folderid,
"userid": userid,
"unixtime": now,
"title": submission.title,
"content": submission.content,
"subtype": submission.subtype,
"rating": submission.rating.code,
"settings": settings,
"sorttime": now,
}])
.returning(d.meta.tables['submission'].c.submitid))
submitid = db.scalar(q)
if embedlink:
q = (d.meta.tables['google_doc_embeds'].insert()
.values(submitid=submitid, embed_url=embedlink))
db.execute(q)

# Assign search tags
searchtag.associate(userid, tags, submitid=submitid)
Expand All @@ -363,9 +357,6 @@ def create_literary(userid, submission, embedlink=None, friends_only=False, tags
_create_notifications(userid, submitid, submission.rating, settings,
submission.title, tags)

# Clear temporary files
files.clear_temporary(userid)

d.metric('increment', 'submissions')
d.metric('increment', 'literarysubmissions')

Expand Down Expand Up @@ -445,24 +436,20 @@ def create_multimedia(userid, submission, embedlink=None, friends_only=None,
# Create submission
db = d.connect()
now = arrow.get()
try:
q = (
d.meta.tables['submission'].insert().values([{
"folderid": submission.folderid,
"userid": userid,
"unixtime": now,
"title": submission.title,
"content": submission.content,
"subtype": submission.subtype,
"rating": submission.rating,
"settings": settings,
"sorttime": now,
}])
.returning(d.meta.tables['submission'].c.submitid))
submitid = db.scalar(q)
except PostgresError:
files.clear_temporary(userid)
raise
q = (
d.meta.tables['submission'].insert().values([{
"folderid": submission.folderid,
"userid": userid,
"unixtime": now,
"title": submission.title,
"content": submission.content,
"subtype": submission.subtype,
"rating": submission.rating,
"settings": settings,
"sorttime": now,
}])
.returning(d.meta.tables['submission'].c.submitid))
submitid = db.scalar(q)

# Assign search tags
searchtag.associate(userid, tags, submitid=submitid)
Expand All @@ -482,9 +469,6 @@ def create_multimedia(userid, submission, embedlink=None, friends_only=None,
_create_notifications(userid, submitid, submission.rating, settings,
submission.title, tags)

# Clear temporary files
files.clear_temporary(userid)

d.metric('increment', 'submissions')
d.metric('increment', 'multimediasubmissions')

Expand Down Expand Up @@ -512,7 +496,6 @@ def reupload(userid, submitid, submitfile):

# Check invalid file data
if not submitsize:
files.clear_temporary(userid)
raise WeasylError("submitSizeZero")

# Write temporary submission file
Expand Down
4 changes: 2 additions & 2 deletions weasyl/test/test_marketplace.py
Expand Up @@ -5,7 +5,7 @@
import arrow
import pytest
from weasyl.test import db_utils
from weasyl import commishinfo, orm, profile, searchtag
from weasyl import commishinfo, define as d, orm, profile, searchtag


@pytest.mark.usefixtures('db')
Expand Down Expand Up @@ -98,7 +98,7 @@ def test_commish_search_invalid():

# user meets all requirements, but is suspended
u4 = create_commish_searchable_user("u4")
db_utils.create_suspenduser(u4, "", arrow.now() + datetime.timedelta(days=7))
db_utils.create_suspenduser(u4, "", d.get_time() + 604800)

# user meets all requirements, but is banned
u5 = create_commish_searchable_user("u5")
Expand Down

0 comments on commit 2bd8a26

Please sign in to comment.