def task_addipfrompopup(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] params = {'form': ['ip', 'mask', 'total', 'expiration', 'comment', 'delete', 'deleteall_confirm', 'globaldeleteall_confirm'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['action'] = 'admin_entry' kwargs['option'] = 'ipban' kwargs['caller'] = 'window' delete = kwargs.pop('delete') delete_all = kwargs.pop('deleteall_confirm') globaldelete_all = kwargs.pop('globaldeleteall_confirm') try: if globaldelete_all: StaffAction(kwargs['admin'], 'delete_by_ip_global', ip=kwargs['ip']).execute() elif delete_all: StaffAction(kwargs['admin'], 'delete_by_ip', ip=kwargs['ip'], board=board).execute() elif delete: StaffAction(kwargs['admin'], 'admin_delete', board=board, posts=[delete], from_window=True, password='', file_only=False, archiving=False, caller='internal')\ .execute() except WakaError: pass make_cookies(ban_mask=kwargs['mask'], ban_expiration=kwargs['expiration'], ban_comment=kwargs['comment']) return StaffAction(**kwargs).execute()
def task_delete(environ, start_response, archiving=False): # TODO review compatibility with wakaba or refactor request = environ['werkzeug.request'] board = environ['waka.board'] singledelete = (request.values.get("singledelete", '') == 'OK') params = {'form': ['password', 'file_only', 'from_window', 'admindelete'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) if singledelete: # NOTE: from_window parameter originates from pop-up windows # brought up by clicking "Delete" without JS enabled. params_single = ['postpassword', 'postfileonly', 'from_window'] for param, single in map(None, params['form'][:3], params_single): kwargs[param] = request.form.get(single, '') kwargs['posts'] = [request.values.get('deletepost', '')] else: kwargs['posts'] = request.form.getlist('num') kwargs['archiving'] = archiving if kwargs['admindelete']: kwargs['board'] = board kwargs['action'] = 'admin_delete' return StaffAction(**kwargs).execute() del kwargs['admin'] return board.delete_stuff(**kwargs)
def task_delete(environ, start_response, archiving=False): # TODO review compatibility with wakaba or refactor request = environ['werkzeug.request'] board = environ['waka.board'] singledelete = (request.values.get("singledelete", '') == 'OK') params = { 'form': ['password', 'file_only', 'from_window', 'admindelete'], 'cookies': ['wakaadmin'] } kwargs = kwargs_from_params(request, params) if singledelete: # NOTE: from_window parameter originates from pop-up windows # brought up by clicking "Delete" without JS enabled. params_single = ['postpassword', 'postfileonly', 'from_window'] for param, single in map(None, params['form'][:3], params_single): kwargs[param] = request.form.get(single, '') kwargs['posts'] = [request.values.get('deletepost', '')] else: kwargs['posts'] = request.form.getlist('num') kwargs['archiving'] = archiving if kwargs['admindelete']: kwargs['board'] = board kwargs['action'] = 'admin_delete' return StaffAction(**kwargs).execute() del kwargs['admin'] return board.delete_stuff(**kwargs)
def task_post(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] params = { 'form': [ 'parent', 'field1', 'email', 'subject', 'comment', 'password', 'nofile', 'captcha', 'no_captcha', 'no_format', 'sticky', 'lock', 'adminpost' ], 'cookies': ['wakaadmin'], 'file': ['file'] } kwargs = kwargs_from_params(request, params) kwargs['name'] = kwargs.pop('field1') kwargs['oekaki_post'] = kwargs['srcinfo'] = kwargs['pch'] = None kwargs['admin_post_mode'] = kwargs.pop('adminpost') if kwargs['no_format'] == '0': kwargs['no_format'] = False if kwargs['admin_post_mode']: kwargs['action'] = 'admin_post' kwargs['board'] = board return StaffAction(**kwargs).execute() del kwargs['admin'] return board.post_stuff(**kwargs)
def task_post(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] params = {'form': ['parent', 'field1', 'email', 'subject', 'comment', 'password', 'nofile', 'captcha', 'no_captcha', 'no_format', 'sticky', 'lock', 'adminpost'], 'cookies': ['wakaadmin'], 'file': ['file']} kwargs = kwargs_from_params(request, params) kwargs['name'] = kwargs.pop('field1') kwargs['oekaki_post'] = kwargs['srcinfo'] = kwargs['pch'] = None kwargs['admin_post_mode'] = kwargs.pop('adminpost') if kwargs['no_format'] == '0': kwargs['no_format'] = False if kwargs['admin_post_mode']: kwargs['action'] = 'admin_post' kwargs['board'] = board return StaffAction(**kwargs).execute() del kwargs['admin'] return board.post_stuff(**kwargs)
def task_setup(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['admin', 'username', 'password']} kwargs = kwargs_from_params(request, params) return staff_interface.do_first_time_setup(**kwargs)
def task_addipfrompopup(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] kwargs = kwargs_from_params(request, form=['ip', 'mask', 'total', 'expiration', 'comment', 'delete', 'deleteall_confirm', 'globaldeleteall_confirm'], admin=True, ) kwargs['action'] = 'admin_entry' kwargs['option'] = 'ipban' kwargs['caller'] = 'window' delete = kwargs.pop('delete') delete_all = kwargs.pop('deleteall_confirm') globaldelete_all = kwargs.pop('globaldeleteall_confirm') try: if globaldelete_all: StaffAction(kwargs['cookie'], 'delete_by_ip_global', ip=kwargs['ip'], caller='internal').execute() elif delete_all: StaffAction(kwargs['cookie'], 'delete_by_ip', ip=kwargs['ip'], board=board).execute() elif delete: StaffAction(kwargs['cookie'], 'admin_delete', board=board, posts=[delete], from_window=True, password='', file_only=False, archiving=False, caller='internal')\ .execute() except WakaError: pass make_cookies(ban_mask=kwargs['mask'], ban_expiration=kwargs['expiration'], ban_comment=kwargs['comment']) return StaffAction(**kwargs).execute()
def task_rebuildglobal(environ, start_response): request = environ['werkzeug.request'] params = {'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['action'] = 'rebuild_global' return StaffAction(**kwargs).execute()
def task_deleteuser(environ, start_response): request = environ['werkzeug.request'] params = {'cookies': ['wakaadmin'], 'form': ['mpass', 'username']} kwargs = kwargs_from_params(request, params) return staff_interface.del_staff_proxy(**kwargs)
def task(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=form, admin=True, ) kwargs['dest'] = getattr(staff_interface, dest) return StaffInterface(**kwargs)
def task_deleteall_confirm(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['ip', 'mask', 'global'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['dest'] = staff_interface.DELETE_ALL_CONFIRM return StaffInterface(**kwargs)
def task_deleteuser(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['mpass', 'username'], admin=True, ) return staff_interface.del_staff_proxy(**kwargs)
def task_updatespam(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['spam'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['action'] = 'update_spam' return StaffAction(**kwargs).execute()
def task_enableuser(environ, start_response): request = environ['werkzeug.request'] params = {'cookies': ['wakaadmin'], 'form': ['mpass', 'username']} kwargs = kwargs_from_params(request, params) kwargs['disable'] = False return staff_interface.edit_staff_proxy(**kwargs)
def task_rebuildglobal(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, admin=True, ) kwargs['action'] = 'rebuild_global' return StaffAction(**kwargs).execute()
def task_removeban(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['num'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['action'] = 'remove_admin_entry' return StaffAction(**kwargs).execute()
def task_createuser(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['mpass', 'usertocreate', 'passtocreate', 'account', 'reign'], admin=True, ) kwargs['reign'] = kwargs.pop('reign').split(',') return staff_interface.add_staff_proxy(**kwargs)
def task_enableuser(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['mpass', 'username'], admin=True, ) kwargs['disable'] = False return staff_interface.edit_staff_proxy(**kwargs)
def task_edit(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] params = {'form': ['num']} kwargs = kwargs_from_params(request, params) kwargs['post_num'] = kwargs.pop('num') return board.edit_gateway_window(**kwargs)
def task_updatespam(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['spam'], admin=True, ) kwargs['action'] = 'update_spam' return StaffAction(**kwargs).execute()
def task_confirmreport(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] params = {'form': ['num', 'comment', 'referer']} kwargs = kwargs_from_params(request, params) kwargs['posts'] = kwargs.pop('num').split(', ') return board.report_posts(**kwargs)
def task_removeban(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['num'], admin=True, ) kwargs['action'] = 'remove_admin_entry' return StaffAction(**kwargs).execute()
def task_removeproxy(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['num'], admin=True, ) kwargs['action'] = 'remove_proxy_entry' return StaffAction(**kwargs).execute()
def task_addproxy(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['type', 'ip', 'timestamp'], admin=True, ) kwargs['action'] = 'add_proxy_entry' return StaffAction(**kwargs).execute()
def task_addstring(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['type', 'string', 'comment'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['action'] = 'admin_entry' kwargs['option'] = kwargs.pop('type') kwargs['sval1'] = kwargs.pop('string') return StaffAction(**kwargs).execute()
def task_addip(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['type', 'comment', 'ip', 'mask', 'total', 'expiration'], admin=True, ) kwargs['option'] = kwargs.pop('type') kwargs['action'] = 'admin_entry' return StaffAction(**kwargs).execute()
def task_createuser(environ, start_response): request = environ['werkzeug.request'] params = {'cookies': ['wakaadmin'], 'form': ['mpass', 'usertocreate', 'passtocreate', 'account', 'reign']} kwargs = kwargs_from_params(request, params) kwargs['reign'] = kwargs.pop('reign').split(',') return staff_interface.add_staff_proxy(**kwargs)
def task_addstring(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['type', 'string', 'comment'], admin=True, ) kwargs['action'] = 'admin_entry' kwargs['option'] = kwargs.pop('type') kwargs['sval1'] = kwargs.pop('string') return StaffAction(**kwargs).execute()
def task_adminedit(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['num', 'ival1', 'ival2', 'sval1', 'total', 'year', 'month', 'day', 'hour', 'min', 'sec', 'comment', 'noexpire'], admin=True, ) kwargs['action'] = 'edit_admin_entry' return StaffAction(**kwargs).execute()
def task_move(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, admin=True ) kwargs['parent'] = request.values.get('num', '') kwargs['src_brd_obj'] = environ['waka.board'] kwargs['dest_brd_obj'] = Board(request.values.get('destboard', '')) kwargs['action'] = 'thread_move' return StaffAction(**kwargs).execute()
def task_edituser(environ, start_response): request = environ['werkzeug.request'] kwargs = kwargs_from_params(request, form=['mpass', 'usernametoedit', 'newpassword', 'newclass', 'originalpassword'], admin=True, ) kwargs['username'] = kwargs.pop('usernametoedit') kwargs['reign'] = request.form.getlist('reign') return staff_interface.edit_staff_proxy(**kwargs)
def task_addip(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['type', 'comment', 'ip', 'mask', 'total', 'expiration'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['option'] = kwargs.pop('type') kwargs['action'] = 'admin_entry' return StaffAction(**kwargs).execute()
def task_adminedit(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['num', 'ival1', 'ival2', 'sval1', 'total', 'year', 'month', 'day', 'hour', 'min', 'sec', 'comment', 'noexpire'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['action'] = 'edit_admin_entry' return StaffAction(**kwargs).execute()
def task_createuser(environ, start_response): request = environ['werkzeug.request'] params = { 'cookies': ['wakaadmin'], 'form': ['mpass', 'usertocreate', 'passtocreate', 'account', 'reign'] } kwargs = kwargs_from_params(request, params) kwargs['reign'] = kwargs.pop('reign').split(',') return staff_interface.add_staff_proxy(**kwargs)
def _toggle_thread_state(environ, start_response, operation): request = environ['werkzeug.request'] board = environ['waka.board'] kwargs = kwargs_from_params(request, admin=True, ) kwargs['num'] = request.values.get('thread', 0) kwargs['board'] = board kwargs['action'] = 'thread_' + operation return StaffAction(**kwargs).execute()
def task_edituser(environ, start_response): request = environ['werkzeug.request'] params = {'form': ['mpass', 'usernametoedit', 'newpassword', 'newclass', 'originalpassword'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['username'] = kwargs.pop('usernametoedit') kwargs['reign'] = request.form.getlist('reign') return staff_interface.edit_staff_proxy(**kwargs)
def task_restorebackups(environ, start_response): request = environ['werkzeug.request'] board = environ['waka.board'] params = {'form': ['handle'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['posts'] = request.form.getlist('num') kwargs['restore'] = kwargs.pop('handle').lower() == 'restore' kwargs['board'] = board kwargs['action'] = 'backup_remove' return StaffAction(**kwargs).execute()
def task_addip(environ, start_response): request = environ['werkzeug.request'] params = { 'form': ['type', 'comment', 'ip', 'mask', 'total', 'expiration'], 'cookies': ['wakaadmin'] } kwargs = kwargs_from_params(request, params) kwargs['option'] = kwargs.pop('type') kwargs['action'] = 'admin_entry' return StaffAction(**kwargs).execute()
def task_editpostwindow(environ, start_response): # This is displayed in a "pop-up window" UI. environ['waka.fromwindow'] = True request = environ['werkzeug.request'] board = environ['waka.board'] params = {'form': ['num', 'password', 'admineditmode'], 'cookies': ['wakaadmin']} kwargs = kwargs_from_params(request, params) kwargs['admin_edit_mode'] = kwargs.pop('admineditmode') kwargs['post_num'] = kwargs.pop('num') return board.edit_window(**kwargs)