def locateChild(self, ctx, segments): if segments[0] == "" or segments[0] == "index.html": return self, [] if len(segments[0]) < 4 or len(segments[0]) > 20: return rend.NotFound elif segments[0] == "site": return dyn_site_root(), [] elif segments[0] == "signup": return signup(), [] elif segments[0] == "upgrade": return user_upgrade(), [] elif segments[0] == "free_account": return free_account(), [] elif segments[0] == "downloads": return downloads(), [] elif segments[0] == "qoop": return qoop(), segments[1:] if "reset_password" in segments[0]: request = inevow.IRequest(ctx) if request.args.has_key('username') and request.args.has_key( 'hash'): return reset_password(), [] else: return rend.NotFound if "quick_start_guide" in segments[0]: return quick_start_guide(), [] if "features" in segments[0]: return features(), [] if "developers" in segments[0]: return developers(), [] if "publish" in segments[0]: return user_publish("unknown"), segments[1:] if "community" in segments[0] and "feeds" in segments[1]: obj = user_homepage("") obj.username = "******" # have to hack this because the user_homepage ctor # lowercases it return obj, segments[1:] def act_check(count): if count: return user_homepage(segments[0]), segments[1:] else: if segments[1] == "img": return dyn_image_handler("noserve", self.app, self.log), segments[2:] else: return rend.NotFound d = self.app.api.users.check_exists('username', segments[0]) d.addCallback(act_check) return d
def locateChild(self, ctx, segments): if segments[0] == "" or segments[0] == "index.html": return self, [] if len(segments[0]) < 4 or len(segments[0]) > 20: return rend.NotFound elif segments[0] == "site": return dyn_site_root(), [] elif segments[0] == "signup": return signup(), [] elif segments[0] == "upgrade": return user_upgrade(), [] elif segments[0] == "free_account": return free_account(), [] elif segments[0] == "downloads": return downloads(), [] elif segments[0] == "qoop": return qoop(), segments[1:] if "reset_password" in segments[0]: request = inevow.IRequest(ctx) if request.args.has_key('username') and request.args.has_key('hash'): return reset_password(), [] else: return rend.NotFound if "quick_start_guide" in segments[0]: return quick_start_guide(), [] if "features" in segments[0]: return features(), [] if "developers" in segments[0]: return developers(), [] if "publish" in segments[0]: return user_publish("unknown"), segments[1:] if "community" in segments[0] and "feeds" in segments[1]: obj = user_homepage("") obj.username = "******" # have to hack this because the user_homepage ctor # lowercases it return obj, segments[1:] def act_check(count): if count: return user_homepage(segments[0]), segments[1:] else: if segments[1] == "img": return dyn_image_handler("noserve", self.app, self.log), segments[2:] else: return rend.NotFound d = self.app.api.users.check_exists('username', segments[0]) d.addCallback(act_check) return d
def child_publish(self, ctx): return user_publish(self.username)