def reg_usr(self, user_info): # 注册用户 user = User() user.name = user_info['display_name'] user.email = user_info['email'] user.reg_time = Date.time() user.save() # 绑定角色 user_role = UserRole() user_role.user = user user_role.role = Role.get(Role.code == 'user') user_role.save() # 绑定 oauth user_oauth = UserOAuth() user_oauth.user = user user_oauth.oauth_id = self.uid user_oauth.set_token(self.access_token) user_oauth.save() # 为用户进行登陆 user.login(self) # 添加同步任务 self.add_task(route.url_for('task.SyncPath', user.id, 0), 99) self.redirect(route.url_for('wiki.Index'))
def reg_usr(self, user_info): # 注册用户 user = User() user.name = user_info['display_name'] user.email = user_info['email'] user.reg_time = Date.time() user.save() # 绑定角色 user_role = UserRole() user_role.user = user user_role.role = Role.get(Role.code == 'user') user_role.save() # 绑定 oauth user_oauth = UserOAuth() user_oauth.user = user user_oauth.oauth_id = self.uid user_oauth.set_token(self.access_token) user_oauth.save() # 为用户进行登陆 user.login(self) # 添加同步任务 self.add_task( route.url_for('task.SyncPath', user.id, 0), 99 ) self.redirect(route.url_for('wiki.Index'))
def add(metadata, parent_id): """添加事务""" parent_id = int(parent_id) # 删除大于1天的旧事务 TaskAffairs.delete()\ .where( TaskAffairs.time <= (Date.time() - 3600 * 24) )\ .where( TaskAffairs.metadata == metadata )\ .execute() # 检验上级事务 parent_affair = False if 0 != parent_id: parent_affair = TaskAffairs.select()\ .where(TaskAffairs.id == parent_id) if 0 == parent_affair.count(): parent_id = 0 else: parent_affair = parent_affair.get() if parent_affair.metadata.id != metadata.root_id: parent_id = 0 # 创建事务 task_affair = TaskAffairs() task_affair.metadata = metadata task_affair.time = Date.time() task_affair.is_dir = metadata.is_dir task_affair.old_hash_key = metadata.hash_key if parent_affair and 0 != parent_id: task_affair.parent = parent_id task_affair.parents = "%s%s," % (parent_affair.parents, parent_id) task_affair.save() return task_affair
def uninstall(plugin_name): register = import_object(plugin_name.strip() + '.register') name = register._handler.__module__ + \ '.' + register._handler.__name__ if models.Plugins.filter(models.Plugins.name == name).count() == 1 : plugin = import_object(name)() plugin.uninstall() plugin_ar = models.Plugins.get(models.Plugins.name == name) for v in Json.decode(plugin_ar.ui_modules): ui_name = str(v.split('.').pop()) if ui_name in _application.ui_modules: del _application.ui_modules[ui_name] # 卸载路由 routes = [] for v in Json.decode(plugin_ar.handlers): ctr = import_object(v) if hasattr(ctr,'_menu'): from xcat.web import menu menu.remove(getattr(ctr,'_menu')) routes.append(ctr._route) if len(routes) > 0: # 重新注册路由 from xcat.web import Application cache.client.set(Application._sync_key,Date.time()) models.Plugins.delete().where(models.Plugins.name==name).execute() reset()
) pl = models.Plugins() pl.name = name pl.bind = Json.encode(register._targets) pl.handlers = Json.encode(handlers) pl.ui_modules = Json.encode(ui_modules) if plugin.get_form() : pl.config = Json.encode(plugin.get_form().get_default_values()) pl.save() # 安装路由 if len(plugin._handlers) > 0 : from xcat.web import Application cache.client.set(Application._sync_key,Date.time()) reset() class Register(object): ''' 插件注册表 ''' def __init__(self): self._handler = False self._targets = {} self._events = ( 'on_init' , 'before_execute' , 'before_render' ,