本文整理汇总了Python中pajbot.managers.adminlog.AdminLogManager.post方法的典型用法代码示例。如果您正苦于以下问题:Python AdminLogManager.post方法的具体用法?Python AdminLogManager.post怎么用?Python AdminLogManager.post使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pajbot.managers.adminlog.AdminLogManager
的用法示例。
在下文中一共展示了AdminLogManager.post方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: remove_link_whitelist
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def remove_link_whitelist(self, **options):
message = options['message']
bot = options['bot']
source = options['source']
if message:
id = None
try:
id = int(message)
except ValueError:
pass
link = self.db_session.query(WhitelistedLink).filter_by(id=id).one_or_none()
if link:
self.whitelisted_links.remove(link)
self.db_session.delete(link)
self.db_session.commit()
else:
bot.whisper(source.username, 'No link with the given id found')
return False
AdminLogManager.post('Whitelist link removed', source, link.domain)
bot.whisper(source.username, 'Successfully removed whitelisted link with id {0}'.format(link.id))
else:
bot.whisper(source.username, 'Usage: !remove link whitelist ID')
return False
示例2: post
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def post(self, row_id, **options):
args = self.post_parser.parse_args()
try:
new_state = int(args['new_state'])
except (ValueError, KeyError):
return {'error': 'Invalid `new_state` parameter.'}, 400
with DBManager.create_session_scope() as db_session:
row = db_session.query(Module).filter_by(id=row_id).one_or_none()
if not row:
return {
'error': 'Module with this ID not found'
}, 404
if validate_module(row_id) is False:
return {'error': 'cannot modify module'}, 400
row.enabled = True if new_state == 1 else False
db_session.commit()
payload = {
'id': row.id,
'new_state': row.enabled,
}
AdminLogManager.post('Module toggled',
options['user'],
'Enabled' if row.enabled else 'Disabled',
row.id)
SocketClientManager.send('module.update', payload)
return {'success': 'successful toggle', 'new_state': new_state}
示例3: modules_edit
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def modules_edit(module_id, **options):
module_manager = ModuleManager(None).load(do_reload=False)
current_module = find(lambda m: m.ID == module_id, module_manager.all_modules)
if current_module is None:
return render_template('admin/module_404.html'), 404
sub_modules = []
for module in module_manager.all_modules:
module.db_module = None
with DBManager.create_session_scope() as db_session:
for db_module in db_session.query(Module):
module = find(lambda m: m.ID == db_module.id, module_manager.all_modules)
if module:
module.db_module = db_module
if module.PARENT_MODULE == current_module.__class__:
sub_modules.append(module)
if current_module.db_module is None:
return render_template('admin/module_404.html'), 404
if request.method == 'POST':
form_values = {key: value for key, value in request.form.items()}
res = current_module.parse_settings(**form_values)
if res is False:
return render_template('admin/module_404.html'), 404
current_module.db_module.settings = json.dumps(res)
db_session.commit()
settings = None
try:
settings = json.loads(current_module.db_module.settings)
except (TypeError, ValueError):
pass
current_module.load(settings=settings)
payload = {
'id': current_module.db_module.id,
}
SocketClientManager.send('module.update', payload)
AdminLogManager.post('Module edited', options['user'], current_module.NAME)
return render_template('admin/configure_module.html',
module=current_module,
sub_modules=sub_modules)
else:
settings = None
try:
settings = json.loads(current_module.db_module.settings)
except (TypeError, ValueError):
pass
current_module.load(settings=settings)
return render_template('admin/configure_module.html',
module=current_module,
sub_modules=sub_modules)
示例4: get
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def get(self, banphrase_id, **options):
with DBManager.create_session_scope() as db_session:
banphrase = db_session.query(Banphrase).filter_by(id=banphrase_id).one_or_none()
if banphrase is None:
return {'error': 'Invalid banphrase ID'}, 404
AdminLogManager.post('Banphrase removed', options['user'], banphrase.phrase)
db_session.delete(banphrase)
db_session.delete(banphrase.data)
SocketClientManager.send('banphrase.remove', {'id': banphrase.id})
return {'success': 'good job'}, 200
示例5: add_link_whitelist
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def add_link_whitelist(self, **options):
bot = options['bot']
message = options['message']
source = options['source']
parts = message.split(' ')
try:
for link in parts:
self.whitelist_url(link)
AdminLogManager.post('Whitelist link added', source, link)
except:
log.exception('Unhandled exception in add_link')
bot.whisper(source.username, 'Some error occurred white adding your links')
return False
bot.whisper(source.username, 'Successfully added your links')
示例6: add_link_blacklist
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def add_link_blacklist(self, **options):
bot = options['bot']
message = options['message']
source = options['source']
options, new_links = self.parse_link_blacklist_arguments(message)
if new_links:
parts = new_links.split(' ')
try:
for link in parts:
if len(link) > 1:
self.blacklist_url(link, **options)
AdminLogManager.post('Blacklist link added', source, link)
bot.whisper(source.username, 'Successfully added your links')
return True
except:
log.exception('Unhandled exception in add_link_blacklist')
bot.whisper(source.username, 'Some error occurred while adding your links')
return False
else:
bot.whisper(source.username, 'Usage: !add link blacklist LINK')
return False
示例7: remove_banphrase
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def remove_banphrase(self, **options):
message = options['message']
bot = options['bot']
source = options['source']
if message:
id = None
try:
id = int(message)
except ValueError:
pass
banphrase = bot.banphrase_manager.find_match(message=message, id=id)
if banphrase is None:
bot.whisper(source.username, 'No banphrase with the given parameters found')
return False
AdminLogManager.post('Banphrase removed', source, banphrase.phrase)
bot.whisper(source.username, 'Successfully removed banphrase with id {0}'.format(banphrase.id))
bot.banphrase_manager.remove_banphrase(banphrase)
else:
bot.whisper(source.username, 'Usage: !remove banphrase (BANPHRASE_ID)')
return False
示例8: add_banphrase
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def add_banphrase(self, **options):
"""Method for creating and editing banphrases.
Usage: !add banphrase BANPHRASE [options]
Multiple options available:
--length LENGTH
--perma/--no-perma
--notify/--no-notify
"""
message = options['message']
bot = options['bot']
source = options['source']
if message:
options, phrase = bot.banphrase_manager.parse_banphrase_arguments(message)
if options is False:
bot.whisper(source.username, 'Invalid banphrase')
return False
options['added_by'] = source.id
options['edited_by'] = source.id
banphrase, new_banphrase = bot.banphrase_manager.create_banphrase(phrase, **options)
if new_banphrase is True:
bot.whisper(source.username, 'Added your banphrase (ID: {banphrase.id})'.format(banphrase=banphrase))
AdminLogManager.post('Banphrase added', source, phrase)
return True
banphrase.set(**options)
banphrase.data.set(edited_by=options['edited_by'])
DBManager.session_add_expunge(banphrase)
bot.banphrase_manager.commit()
bot.whisper(source.username, 'Updated your banphrase (ID: {banphrase.id}) with ({what})'.format(banphrase=banphrase, what=', '.join([key for key in options if key != 'added_by'])))
AdminLogManager.post('Banphrase edited', source, phrase)
示例9: banphrases_create
# 需要导入模块: from pajbot.managers.adminlog import AdminLogManager [as 别名]
# 或者: from pajbot.managers.adminlog.AdminLogManager import post [as 别名]
def banphrases_create(**options):
session.pop('banphrase_created_id', None)
session.pop('banphrase_edited_id', None)
if request.method == 'POST':
id = None
try:
if 'id' in request.form:
id = int(request.form['id'])
name = request.form['name'].strip()
permanent = request.form.get('permanent', 'off')
warning = request.form.get('warning', 'off')
notify = request.form.get('notify', 'off')
case_sensitive = request.form.get('case_sensitive', 'off')
sub_immunity = request.form.get('sub_immunity', 'off')
remove_accents = request.form.get('remove_accents', 'off')
length = int(request.form['length'])
phrase = request.form['phrase']
operator = request.form['operator'].strip().lower()
except (KeyError, ValueError):
abort(403)
permanent = True if permanent == 'on' else False
warning = True if warning == 'on' else False
notify = True if notify == 'on' else False
case_sensitive = True if case_sensitive == 'on' else False
sub_immunity = True if sub_immunity == 'on' else False
remove_accents = True if remove_accents == 'on' else False
if len(name) == 0:
abort(403)
if len(phrase) == 0:
abort(403)
if length < 0 or length > 1209600:
abort(403)
valid_operators = ['contains', 'startswith', 'endswith', 'exact', 'regex']
if operator not in valid_operators:
abort(403)
user = options.get('user', None)
if user is None:
abort(403)
options = {
'name': name,
'phrase': phrase,
'permanent': permanent,
'warning': warning,
'notify': notify,
'case_sensitive': case_sensitive,
'sub_immunity': sub_immunity,
'remove_accents': remove_accents,
'length': length,
'added_by': user.id,
'edited_by': user.id,
'operator': operator,
}
if id is None:
banphrase = Banphrase(**options)
banphrase.data = BanphraseData(banphrase.id, added_by=options['added_by'])
with DBManager.create_session_scope(expire_on_commit=False) as db_session:
if id is not None:
banphrase = db_session.query(Banphrase).options(joinedload(Banphrase.data)).filter_by(id=id).one_or_none()
if banphrase is None:
return redirect('/admin/banphrases/', 303)
banphrase.set(**options)
banphrase.data.set(edited_by=options['edited_by'])
log.info('Updated banphrase ID {} by user ID {}'.format(banphrase.id, options['edited_by']))
AdminLogManager.post('Banphrase edited', user, banphrase.phrase)
else:
db_session.add(banphrase)
db_session.add(banphrase.data)
log.info('Added a new banphrase by user ID {}'.format(options['added_by']))
AdminLogManager.post('Banphrase added', user, banphrase.phrase)
SocketClientManager.send('banphrase.update', {'id': banphrase.id})
if id is None:
session['banphrase_created_id'] = banphrase.id
else:
session['banphrase_edited_id'] = banphrase.id
return redirect('/admin/banphrases/', 303)
else:
return render_template('admin/create_banphrase.html')