heartranked

git clone https://git.tarina.org/heartranked
Log | Files | Refs

commit c8f6b7eaad0208479d98217d698eb2d59c8686ce
parent 10b850d44df1941e272b4e1ee4f138bf2831e39c
Author: rbckman <rob@tarina.org>
Date:   Sat,  1 Aug 2026 20:34:12 +0300

switching machines working on the foundation logics

Diffstat:
Mserver.py | 65++++++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 38 insertions(+), 27 deletions(-)

diff --git a/server.py b/server.py @@ -98,7 +98,19 @@ def logged(): else: return False -def saverecord(thename, thedict): +class creatpost: + def __init__(self, name, value): + self.name = name + self.value = value + +def loadpost(thename): + with open(thename, 'r') as f: + settings = json.load(f) + for key, i in settings.items(): + postmeta=creatpost(key,i) + return postmeta + +def savepost(thename, thelist): #full path to filename #save to next line make an ID automatically, you have to check the save to know how to load it. #loadfile check if record exist, first in line is the record hash and update if it exists @@ -106,14 +118,13 @@ def saverecord(thename, thedict): #hearts will be files as usernames with timestamp in a hearts folder in post folder. be stored and checked in u/hearts and post/hearts # be sure to add home domain setting to username #make save list a dict use same names + postmeta=loadpost(thename) + for i in thelist: + createpost + with open(thename, "w") as f: #f.write(str(i) + ',') json.dumps(thedict,f) - -def loadrecord(thename): - with open(thename, 'r') as f: - settings = json.load(f) - return settings def deleterecord(thefile): os.system('rm '+thefile) @@ -131,13 +142,13 @@ def adduser(name, password, mail): else: adminlevel=5 savedict={'name':name, 'originalname':originalname, 'password':password, 'hashed':hashed,'mail':mail,'adminlevel':adminlevel} - saverecord(basedir+'users/'+name, savedict) + savepost(basedir+'users/'+name, savedict) print("new user added") return def adminlevel(user): #level = db.query("SELECT adminlevel FROM rymdadmin WHERE name='"+user+"';")[0] - level=loadrecord(basedir+'users', user) + level=loadpost(basedir+'users', user) #1 session logout, web.py bug #2 rights to see pics and comment #3 rights to upoload @@ -148,13 +159,13 @@ def adminlevel(user): def stopresetpass(mail): t = None if os.path.exists(basedir+'stopresetpass/'+mail) == True: - t=loadrecord(basedir+'stopresetpass/'+mail) + t=loadpost(basedir+'stopresetpass/'+mail) else: - savelist=[time.time()] - saverecord(basedir+'stopresetpass/'+mail, savelist) + savedict={'timeadded':time.time()} + savepost(basedir+'stopresetpass/'+mail, savedict) return - savelist=[time.time()] - saverecord(basedir+'stopresetpass/'+mail, savelist) + savedict={'timeadded':time.time()} + savepost(basedir+'stopresetpass/'+mail, savedict) latest = time.time() - t print(latest) if latest < 600: @@ -166,13 +177,13 @@ def stopresetpass(mail): def stopflood(ip,referer): t = None if os.path.exists(basedir+'stopflood/'+ip) == True: - t=loadrecord(basedir+'stopflood/'+ip) + t=loadpost(basedir+'stopflood/'+ip) else: - savelist=[time.time()] - saverecord(basedir+'stopflood/'+ip, savelist) + savedict={'timeadded':time.time()} + savepost(basedir+'stopflood/'+ip, savedict) return - savelist=[time.time()] - saverecord(basedir+'stopflood/'+ip, savelist) + savedict={'timeadded':time.time()} + savepost(basedir+'stopflood/'+ip, savedict) latest = time.time() - t print(latest) if latest < 1: @@ -182,7 +193,7 @@ def stopflood(ip,referer): return False def getinvitation(secretinvitation): - invite=loadrecord(basedir+'invites/'+secretinvitation) + invite=loadpost(basedir+'invites/'+secretinvitation) if invitation == secretinvitation: if invite == '': return True @@ -331,7 +342,7 @@ class like: user = i.user uniqueunicorn = i.uniqueunicorn #l = db.query("SELECT * FROM likes WHERE bild='"+uniqueunicorn+"' AND user='"+session.user+"';") - l = loadrecord(basedir+'posts/'+uniqueunicorn+'/likes/'+session.user) + l = loadpost(basedir+'posts/'+uniqueunicorn+'/likes/'+session.user) print(session.user) print(session.user) print('fuuuuuuuuuuuuuuuuu') @@ -341,8 +352,8 @@ class like: user_likes = False if user_likes == False: #db.insert('likes', user=session.user, bild=uniqueunicorn, datum=datetime.datetime.now()) - savelist=[datetime.datetime.now()] - saverecord(basedir+'posts/'+uniqueunicorn+'/likes/'+session.user, savelist) + savedict={'timeadded':datetime.datetime.now()} + savepost(basedir+'posts/'+uniqueunicorn+'/likes/'+session.user, savedict) user_likes = True elif user_likes == True: #db.query("DELETE FROM likes WHERE bild='"+uniqueunicorn+"' AND user='"+session.user+"';") @@ -362,22 +373,22 @@ class user(): if user == session.user: if data.public and data.soundname: #db.update('published', where="soundlink='" + data.soundname +"'", public=data.public) - savelist=[data.public] - saverecord(basedir+'posts/'+uniqueunicorn+'/public') + public=data.public + savepost([public]) elif data.showuploads=='yes': uploads = [] uploads = get_files_by_modtime(basedir+'public_html/u/' + user + '/images/web/',newest_first=True) return render.showuploads(uploads,user,allowedchar, random) elif data.onair and data.soundname: #db.update('published', where="soundlink='" + data.soundname +"'", playing=data.onair) - savelist=[data.onair] - saverecord(basedir+'posts/'+uniqueunicorn+'/playing') + onair=data.onair + savepost([onair]) #soundname='aurora_ruderalis-greatful_bread' #filetype='flac' #soundlink = hashlib.md5(str(random.getrandbits(256)).encode('utf-8')).hexdigest() #db.insert('sound', soundlink=soundlink, filename=soundname, sort=filetype, title=soundname, uploaddate=datetime.datetime.now(), uppladdare=user, lastmod=datetime.datetime.now(), moddedby=user) #usersounds = db.query("SELECT * FROM published WHERE creator='"+user+"' ORDER BY timeadded DESC;") - usersound=loadrecord(basedir+'posts/') + usersound=loadpost(basedir+'posts/') #sounds = db.select('published') sounds=os.listdir(basedir+'posts/') creditsounds = []