diff --git a/ruqqus/classes/user.py b/ruqqus/classes/user.py index 32452f04f..eaa701a68 100644 --- a/ruqqus/classes/user.py +++ b/ruqqus/classes/user.py @@ -37,6 +37,7 @@ class User(Base, Stndrd, Age_times): passhash = deferred(Column(String, default=None)) created_utc = Column(Integer, default=0) admin_level = Column(Integer, default=0) + resized = Column(Boolean, default=True) agendaposter = Column(Boolean, default=False) agendaposter_expires_utc = Column(Integer, default=0) changelogsub = Column(Boolean, default=False) diff --git a/ruqqus/helpers/aws.py b/ruqqus/helpers/aws.py index 4c35aa575..12458efb6 100644 --- a/ruqqus/helpers/aws.py +++ b/ruqqus/helpers/aws.py @@ -26,34 +26,6 @@ def check_phash(db, name): ).first() -def upload_from_url(name, url): - - print('upload from url') - - x = requests.get(url) - - print('got content') - - tempname = name.replace("/", "_") - - with open(tempname, "wb") as file: - for chunk in x.iter_content(1024): - file.write(chunk) - - if tempname.split('.')[-1] in ['jpg', 'jpeg']: - piexif.remove(tempname) - - upload_file(tempname, - Key=name, - ExtraArgs={'ACL': 'public-read', - "ContentType": "image/png", - "StorageClass": "INTELLIGENT_TIERING" - } - ) - - remove(tempname) - - def crop_and_resize(img, resize): i = img diff --git a/ruqqus/routes/admin.py b/ruqqus/routes/admin.py index 3203d5123..5c6220a24 100644 --- a/ruqqus/routes/admin.py +++ b/ruqqus/routes/admin.py @@ -24,6 +24,7 @@ import matplotlib.pyplot as plt from .front import frontlist from ruqqus.__main__ import app, cache + @app.route("/admin/shadowbanned", methods=["GET"]) @auth_required def shadowbanned(v): diff --git a/ruqqus/routes/posts.py b/ruqqus/routes/posts.py index 49fd5f611..9f2741b4f 100644 --- a/ruqqus/routes/posts.py +++ b/ruqqus/routes/posts.py @@ -375,7 +375,7 @@ def thumbs(new_post): for chunk in image_req.iter_content(1024): file.write(chunk) - post.thumburl = upload_from_file(name, tempname, resize=(150, 100)) + post.thumburl = upload_from_file(name, tempname, resize=(50, 50)) if post.thumburl: post.has_thumb = True g.db.add(post) g.db.commit() @@ -387,6 +387,7 @@ def archiveorg(url): try: requests.get(f'https://web.archive.org/save/{url}', headers={'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}, timeout=100) except Exception as e: print(e) + @app.route("/submit", methods=['POST']) @app.route("/api/v1/submit", methods=["POST"]) @app.route("/api/vue/submit", methods=["POST"]) @@ -398,6 +399,7 @@ def archiveorg(url): @api("create") def submit_post(v): + title = request.form.get("title", "").strip() title = title.strip() @@ -868,32 +870,6 @@ def submit_post(v): g.db.add(new_post) g.db.add(new_post.submission_aux) g.db.commit() - - # #csam detection - # def del_function(): - # db=db_session() - # delete_file(name) - # new_post.is_banned=True - # db.add(new_post) - # db.commit() - # ma=ModAction( - # kind="ban_post", - # user_id=2317, - # note="banned image", - # target_submission_id=new_post.id - # ) - # db.add(ma) - # db.commit() - # db.close() - - - # csam_thread=threading.Thread(target=check_csam_url, - # args=(new_post.url, - # v, - # del_function - # ) - # ) - # csam_thread.start() g.db.commit() @@ -960,31 +936,11 @@ def submit_post(v): g.db.add(n) g.db.commit() send_message(f"https://rdrama.net{new_post.permalink}") + return {"html": lambda: redirect(new_post.permalink), "api": lambda: jsonify(new_post.json) } -# @app.route("/api/nsfw//", methods=["POST"]) -# @auth_required -# @validate_formkey -# def api_nsfw_pid(pid, x, v): - -# try: -# x=bool(int(x)) -# except: -# abort(400) - -# post=get_post(pid) - -# if not v.admin_level >=3 and not post.author_id==v.id and not post.board.has_mod(v): -# abort(403) - -# post.over_18=x -# g.db.add(post) -# - -# return "", 204 - @app.route("/delete_post/", methods=["POST"]) @app.route("/api/v1/delete_post/", methods=["POST"]) @@ -1005,17 +961,17 @@ def delete_post_pid(pid, v): cache.delete_memoized(frontlist) - # delete i.ruqqus.ga - if post.domain == "i.ruqqus.ga": + u = g.db.query(User).filter(User.profileurl != None, User.resized != True).first() + print(f"1 {u.profileurl}") + x = requests.get(u.profileurl) - segments = post.url.split("/") - pid = segments[4] - rand = segments[5] - if pid == post.base36id: - key = f"post/{pid}/{rand}" - delete_file(key) - #post.is_image = False - g.db.add(post) + with open("resizing", "wb") as file: + for chunk in x.iter_content(1024): + file.write(chunk) + + u.profileurl = upload_from_file("resizing", "resizing", (50, 50)) + g.db.add(u) + print(f"2 {u.profileurl}") return "", 204 diff --git a/ruqqus/templates/settings.html b/ruqqus/templates/settings.html index 6a838038b..bd17c81c5 100644 --- a/ruqqus/templates/settings.html +++ b/ruqqus/templates/settings.html @@ -165,25 +165,25 @@