Example #1
0
	def printPage(self, page, params):

		self.sbuilder = site_builder.builder()

		return {
			'index':            self.printIndex,
		    '':                 self.printIndex,
		    'login':            self.sbuilder.parseLogin,
		    'logout':           self.sbuilder.parseLogout,
		    'help':             self.printHelp,
		    'help_ugc':         self.printHelpApprove,
		    'help_auth':        self.printHelpAuth,
		    'search':           self.printSearchResults,
		    'all-players':      self.printAllPlayers,
		    'all-guilds':       self.printAllGuilds,
		    'ne':               self.printFactionPage,
		    'ha':               self.printFactionPage,
		    'ft':               self.printFactionPage,
		    #'test':             self.printTest
			'licenses':         self.printLicensesHelp,
		    'thx':              self.printThanks,
		    'invite':           self.printInvitePage,
		    'credits':          self.printCredits
		}
Example #2
0
    def printPage(self, page, params):

        self.sbuilder = site_builder.builder()

        return {
            'index': self.printIndex,
            '': self.printIndex,
            'login': self.sbuilder.parseLogin,
            'logout': self.sbuilder.parseLogout,
            'help': self.printHelp,
            'help_ugc': self.printHelpApprove,
            'help_auth': self.printHelpAuth,
            'search': self.printSearchResults,
            'all-players': self.printAllPlayers,
            'all-guilds': self.printAllGuilds,
            'ne': self.printFactionPage,
            'ha': self.printFactionPage,
            'ft': self.printFactionPage,
            #'test':             self.printTest
            'licenses': self.printLicensesHelp,
            'thx': self.printThanks,
            'invite': self.printInvitePage,
            'credits': self.printCredits
        }
Example #3
0
		if event:
			return self._force('events', event_id, params)
		else:
			return self._load(inspect.stack()[0][3], event_id, params)

	def obj(self,obj_type, guid = 0,prefix = 0,suffix = 0):
		#page = str(obj_type)+'/'+str(guid)+'/'+str(prefix)+'/'+str(suffix)
		text = informer.getInfo(obj_type,guid,prefix,suffix)
		return text

	obj.exposed = True
	index.exposed = True
	default.exposed = True
	u.exposed = True
	a.exposed = True
	guilds.exposed = True
	events.exposed = True

root = TweenkApp()

if __name__ == '__main__':

	print '# ----------------------------------------- #'
	print '#  Tweeria version:', tweenk_core.__version__, 'build:', tweenk_core.__build__
	print '# ----------------------------------------- #'

	builder = site_builder.builder(tweenk_core, tweenk_balance)
	informer = informer.Informer()
	cherrypy.quickstart(TweenkApp(), config=tweenk_core.conf_name)
else:
	cherrypy.tree.mount(TweenkApp(), config=tweenk_core.conf_name)
Example #4
0
            return self._force('events', event_id, params)
        else:
            return self._load(inspect.stack()[0][3], event_id, params)

    def obj(self, obj_type, guid=0, prefix=0, suffix=0):
        #page = str(obj_type)+'/'+str(guid)+'/'+str(prefix)+'/'+str(suffix)
        text = informer.getInfo(obj_type, guid, prefix, suffix)
        return text

    obj.exposed = True
    index.exposed = True
    default.exposed = True
    u.exposed = True
    a.exposed = True
    guilds.exposed = True
    events.exposed = True


root = TweenkApp()

if __name__ == '__main__':

    print '# ----------------------------------------- #'
    print '#  Tweeria version:', tweenk_core.__version__, 'build:', tweenk_core.__build__
    print '# ----------------------------------------- #'

    builder = site_builder.builder(tweenk_core, tweenk_balance)
    informer = informer.Informer()
    cherrypy.quickstart(TweenkApp(), config=tweenk_core.conf_name)
else:
    cherrypy.tree.mount(TweenkApp(), config=tweenk_core.conf_name)
	def __init__(self, preload = True):
		defaultClass.__init__(self)
		self.sbuilder = site_builder.builder()

		if preload:
			self.__initialize()
Example #6
0
		for variant in self.page_runners[page]:

			if len(args):
				page_name = args.pop(0)
			else:
				page_name = '__default__'

			return self.controller.controllers[variant['name']].printPage(page_name, args, params)

		return builder.throwWebError(params=params)

	def index(self, *args, **kwargs):
		return self.__load('index', list(args), kwargs)

	def default(self, page, *args, **kwargs):
		args = list(args)
		if not page in self.page_runners:
			args.insert(0, page)
			page = 'index'

		return self.__load(page, args, kwargs)

	index.exposed = True
	default.exposed = True

if __name__ == '__main__':

	print WebApp.welcomeString()

	builder = site_builder.builder(core)
	cherrypy.quickstart(WebApp(), config=core.conf_name)
Example #7
0
    def printPage2(self, page, rules, methods, params={}):

        def runRule(rule):
            if isinstance(rule, dict):
                params.update(rule['params'])
                if rule['method']:
                    return rule['method'](fields, params)
                else:
                    methods(params)
            else:
                return rule(fields, params)

        def getNearestGuildEvent(fields):
            if 'login_guild' in fields and fields['login_guild']:
                event = self.model.events.getGuildEventsByID(fields['login_guild'], limit=1, fields={
                    'target_name': 1,
                    'guild_side_name': 1,
                    'start_date': 1,
                    '_id': 1,
                    'type': 1
                })

                if event:
                    if event[0]['start_date'] < time.time():
                        event[0].update({'in_progress': 1})
                    event[0]['start_date'] = getRelativeDate(event[0]['start_date'] + fields['login_utc_offset'])
                    fields.update({'nearest_guild_event': event[0]})

        def getNearestFactionEvent(fields):
            if 'login_faction' in fields:
                event = self.model.events.getFactionEventsByID(fields['login_faction'], limit=1, fields={
                    'sides': 1,
                    'sides_names': 1,
                    'start_date': 1,
                    '_id': 1,
                    'type': 1
                })

                if event:
                    event[0]['start_date'] = getRelativeDate(event[0]['start_date'] + fields['login_utc_offset'])
                    fields.update({'nearest_faction_event': event[0]})

        self.sbuilder = site_builder.builder()
        fields = {}

        try:
            isinstance(self.mongo, bool)
        except Exception:
            self.initialize()

        self.cur_player = self.sbuilder.playerLogged()
        if self.cur_player:
            fields.update(self.cur_player)

        params.update({'__page__': page, '__query__': cherrypy.request.query_string})

        res = methods(params)

        if res and self.isAjax():
            return res

        if isinstance(res, dict) and 'critical_error' in res:
            fields.update({'critical_error': res['critical_error']})

        if 'errors' in params:
            fields.update({'errors': params['errors']})

        if res and 'ok' in res:
            fields.update({'success': True})

        # disabled из-за проблем с производительностью
        # getNearestGuildEvent(fields)
        # getNearestFactionEvent(fields)

        fields.update(self.paramsConvert(params))

        if 'invites' in self.core.debug and self.core.debug['invites']:
            if self.cur_player:
                pass
            else:
                if page in ['registration', 'new']:
                    pass
                else:
                    return self.sbuilder.loadTemplate('invites/access.jinja2', {})

        # если метод обработчика возвращает страницу, тогда выведем ее
        # не дожидаясь выполнения print page
        if isinstance(res, unicode) or isinstance(res, str):
            return res

        # print page
        for page_name in rules:
            if page_name == page:
                return runRule(rules[page_name])

        if '__default__' in rules:
            return runRule(rules['__default__'])