def POST(self): db = sqlite3.connect('board.db') dbc = db.cursor() dbc.execute('insert into posts values (?, ?, ?)', (web.input().name, tripcode(web.input().trip), web.input().mesg)) db.commit() dbc.execute('select * from posts') posts = dbc.fetchall() db.close() return render.index(posts)
from tripcode import tripcode import os for f in os.listdir('public/icons/tripflags/'): print f, tripcode(f)
def before_added(self, board): self.message = Message._formated_message(self.message, board) if len(self.poster_name) > 1 and self.poster_name[0] in (u'#', u'!'): self.poster_name = u'<span class="postertrip">!%s</span>' % tripcode(self.poster_name[1:]) else: self.poster_name = Message._safe_string(self.poster_name)
#!/usr/bin/python import os from tripcode import tripcode scr = open('public/js/chat.js').read() files = [l.rsplit('"',2)[1] for l in scr.splitlines() if l.startswith('flags_image_table')] new_files = set(os.listdir('public/icons/tripflags'))-set(files) new_code = '' for f in new_files: trip = tripcode(f.split('.')[0]) new_code += '// %s\n' % f.split('.')[0] new_code += 'flags_image_table["!%s"] = "%s";\n' % (trip, f) new_code += 'flags_hover_strings["!%s"] = "%s";\n' % (trip, f.split('.')[0]) print new_code new_scr = scr.replace('// Table of tripflags', '// Table of tripflags\n%s' % new_code) open('public/js/chat.js', 'w').write(new_scr)
async def makedata(db, subject, text, count, board, ip, oppost=False, thread=None, fo=None, f=None, filetype=None, filedata=False, username=False, spoiler=False, admin=False, sage=False): data = {} data['ip'] = ip data['subject'] = subject data['text'] = text data['count'] = count data['board'] = board data['date'] = datetime.datetime.utcnow() data['oppost'] = oppost data['thread'] = thread data['banned'] = False data['replies'] = [] data['country'] = '' data['countryname'] = '' data['trip'] = None data['image'] = None data['video'] = None data['audio'] = None data['admin'] = admin data['thumb'] = None data['sage'] = sage if data['subject'].lower() == 'sage': data['sage'] = True b = await db.boards.find_one({'short': board}) if b['country']: # workaround for localhost, replaces localhost with google ip (US) if ip == '127.0.0.1': ip = '172.217.20.206' data['country'] = gdbr.country(ip).country.iso_code data['countryname'] = regioncodes[data['country']] if not b['custom']: if b['username'] != '': data['username'] = b['username'] else: data['username'] = None else: if username and username != '': if '#' in username: uname, trip = username.split('#') data['username'] = uname data['trip'] = '!' + tripcode(trip) else: data['username'] = username else: if b['username'] != '': data['username'] = b['username'] else: data['username'] = None if thread: t = await db.posts.find_one({'count': thread}) if oppost: data['locked'] = False data['lastpost'] = datetime.datetime.utcnow() data['postcount'] = 0 data['filecount'] = 0 data['pinned'] = False else: postcount = int(await db.posts.find({'thread': t['count']}).count()) t['postcount'] = postcount + 1 await update_db(db, t['count'], t) if f: b['mediacount'] = b['mediacount'] + 1 data['original'] = fo data[filetype] = f if not spoiler: data['thumb'] = await make_thumbnail(f) else: data['thumb'] = spoilered if not oppost: filecount = await db.posts.find({'thread': t['count'], 'image': { '$ne': None } }).count() + await db.posts.find({'thread': t['count'], 'video': {'$ne': None}}).count() t['filecount'] = filecount + 1 await update_db(db, t['count'], t) if filedata: data['filedata'] = filedata else: data['image'] = data['video'] = None b['postcount'] = int(b['postcount']) + 1 await update_db_b(db, b['short'], b) return data