Пример #1
0
    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)
 def child_publish(self, ctx):
     return user_publish(self.username)