예제 #1
0
파일: main.py 프로젝트: ThomasMarcel/thas
	def get(self):
		### Session verification code ###
                session = get_current_session()
                try:
                        if session['key'] and session['key'] != '':
				self.redirect('/dashboard')
                except KeyError:
			pass
                #################################

		template_values = {
                'pagename': 'main',
                }

		log = 'disabled'
		logQ = Setting.all().filter("name =", 'log').run()
		for l in logQ:
			log = l.value
		template_values['log'] = log

		indexset = False
		indexsettings = Setting.all().filter("name =", 'index').run()
		for indexsetting in indexsettings:
			indexset = True
			index = indexsetting.value
		if indexset == False:
	                path = os.path.join(os.path.dirname(__file__), 'templates/index.html')
	                self.response.out.write(template.render(path, template_values))
		else:
			try:
				self.redirect(index)
			except UnboundLocalError:
				path = os.path.join(os.path.dirname(__file__), 'templates/index.html')
	                        self.response.out.write(template.render(path, template_values))
예제 #2
0
 def __init__(self):
     self.screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))
     pygame.display.set_caption('Screaming Bird')
     self.pipegap = 120
     self.intro = Intro(self.screen)
     self.highScore = HighScore(self.screen)
     self.settings = Setting(self.screen)
예제 #3
0
def main(difficulty):
    """
    整个程序是在游戏主循环之前创建好地雷等东西,然后在主循环中修改并更新,只创建了一次。
    :return:
    """

    # 初始化游戏状态记录类
    status = Status()

    # 初始化设置
    setting = Setting(difficulty, status)

    # 选择难度
    if difficulty.ctrl_F5_key:
        chose_difficulty(status, setting, difficulty)
        setting = Setting(difficulty, status)

    # 初始化程序界面
    screen_main = pygame.display.set_mode(setting.main_window_size)
    screen_main.fill(setting.background_color)
    ico = pygame.image.load(setting.icon).convert_alpha()
    pygame.display.set_icon(ico)
    pygame.display.set_caption('扫雷')

    # 初始化帧数
    fps = pygame.time.Clock()

    # 初始化扫雷区域
    field = MineField(screen_main, setting)
    field.build_me()

    # 初始化地雷小方块
    blocks = create_blocks(field, screen_main, setting)

    # 初始化记录窗口
    time_record_window = TimeRecordWindow(setting, field, screen_main, status)
    time_record_window.build_me()
    time_record_window.update_font()
    number_record_window = NumberRecordWindow(setting, field, screen_main,
                                              status)
    number_record_window.build_me()
    number_record_window.update_font()

    # 是否需要加上分辨率不足提示语
    if difficulty.display_info.current_w < 1920 and difficulty.display_info.current_h < 1080 and difficulty.very_hard:
        build_resolution_ratio_word(screen_main, time_record_window, setting)

    # 开始程序主循环
    while True:
        check_event(blocks, setting, status, difficulty)
        if status.F5_key:
            break

        update_blocks(blocks)
        game_over(field, status)
        update_record_windows(time_record_window, number_record_window, status)
        pygame.display.flip()
        fps.tick(setting.fps)
    return status
예제 #4
0
    def setUp(self):
        super(TestUtils, self).setUp()
        setting = Setting()
        setting.initialize(os.path.join(current_dir, 'settings.cfg'))

        conn = Connection()
        conn.connect(setting.config)

        # initialize logger
        Logger.init(**setting.config.twisted.logging)

        # Redis 초기화
        self.redis = conn.redis
        self.redis.delete('current_post_id')
예제 #5
0
def run_game():

    pygame.init()
    settings = Setting()
    screen = pygame.display.set_mode(
        (settings.screen_width, settings.screen_height))
    pygame.display.set_caption('ping pong')

    player1 = Player(settings, screen)
    player2 = Player(settings, screen)
    player2.rect.centerx = player2.screen_rect.right - 30

    ball = Ball(settings, screen)

    scores = Scoreboard(settings, screen)

    while True:

        gf.check_events(screen, settings, player1, player2)

        player1.update()
        player2.update()

        gf.update_ball(settings, ball, player1, player2, scores)

        gf.update_screen(screen, settings, ball, player1, player2, scores)
예제 #6
0
 def __init__(self):
     st = Setting()
     self.token = st.get_token()
     self.client_id = st.get_client_id()
     self.client_secret = st.get_client_secret()
     self.bot_id = None
     self.slack_client = None
     self.chat_bot = ChatBot(
         "Fox Bot",
         storage_adapter='chatterbot.storage.SQLStorageAdapter',
         logic_adapters=[
             'chatterbot.logic.MathematicalEvaluation',
             'chatterbot.logic.BestMatch',
             'chatterbot.logic.TimeLogicAdapter'
         ],
         database_uri='sqlite:///database.sqlite3')
예제 #7
0
def run_game():
	# 初始化游戏并创建一个屏幕对象
	pygame.init()
	ai_settings = Setting()
	screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
	pygame.display.set_caption("Alien Invesion")
	# 创建Play按钮
	play_button = Button(ai_settings, screen, "Play")
	# 创建一艘飞船
	ship = Ship(ai_settings, screen)
	# 创建一个用于存储子弹的编组
	bullets = Group()
	aliens = Group()
	# 创建存储游戏统计信息的实例,并创建记分牌
	stats = GameStats(ai_settings)
	sb = Scoreboard(ai_settings, screen, stats)

	# 创建外星人群
	gf.create_fleet(ai_settings, screen, ship, aliens)
	# 开始游戏主循环
	while True:
		gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)
		if stats.game_active:
			ship.update()
			gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)
			gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets)
		gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
		# 让最近绘制的屏幕可见
		pygame.display.flip()
예제 #8
0
def run_game():
    pygame.init()  #初始化pygame
    ai_settings = Setting()  #创建设置实例
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    #创建实例
    play_button = Button(ai_settings, screen, "Play")
    ship = Ship(ai_settings, screen)
    stats = GameStats(ai_settings)
    sb = Scoreboad(ai_settings, screen, stats)
    bullets = Group()
    aliens = Group()
    gf.create_fleet(ai_settings, screen, ship, aliens)

    #游戏主循环
    while 1:
        #监控事件,鼠标或键盘
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets)
        if stats.game_active:
            #每次都更新飞船的运行状况,更新在飞船实例里
            ship.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens,
                             bullets)
        #每次循环都重新绘制屏幕(可以理解为一帧
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
예제 #9
0
def run_game():
    pygame.init()
    ai_settings = Setting()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    ship = Ship(ai_settings, screen)
    alien = Alien(ai_settings, screen)  #ispe shak ha
    bullets = Group()
    aliens = Group()
    pygame.display.set_caption("Alien Invasion")
    gf.create_fleet(ai_settings, screen, ship, aliens)  #new
    # Start the main loop for the game.
    while True:
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.update()
        bullets.update()
        # bullets.update()
        # Get rid of bullets that have disappeared.
        # for bullet in bullets.copy():
        #     if bullet.rect.bottom <= 0:
        #         bullets.remove(bullet)
        # print(len(bullets))
        gf.update_bullets(bullets)
        gf.update_screen(ai_settings, screen, ship, aliens,
                         bullets)  #ispe shak tha
예제 #10
0
    def __init__(self):
        super(Alien, self).__init__()
        self.setting = Setting()

        self.image = pygame.image.load('img/alien.png')
        self.rect = self.image.get_rect()
        self.rect.centerx = random.randint(0, 600)
예제 #11
0
    def __init__(self):
        pivot = Setting()
        pivot.check_settings_file()

        handlers = [
            (r'/', IndexHandler)
        ]

        settings = {
            'debug': pivot.setting('DEBUG'),
            'template_path': os.path.join(pivot.root, 'templates'),
            'static_path': os.path.join(pivot.root, 'static'),
            'candidate': pivot.candidate
        }

        tornado.web.Application.__init__(self, handlers, **settings)
예제 #12
0
def run_game():
    pygame.init()
    setting = Setting()
    stats = GameStats(setting)
    screen = pygame.display.set_mode((setting.width, setting.height))
    pygame.display.set_caption("Alien  Invasion")

    ship = Ship(screen, setting)
    bullets = Group()
    aliens = Group()  # Alien(setting,screen)
    gf.creat_fleet(setting, screen, aliens, ship)
    playbutton = Button(screen, setting, 'play')
    board = Board(setting, screen, stats)

    while True:
        gf.check_events(aliens, playbutton, stats, setting, screen, ship,
                        bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullet(setting, screen, ship, bullets, aliens, board,
                             stats)
            gf.update_aliens(setting, screen, ship, bullets, aliens, stats,
                             board)
        #print(len(aliens))444
        gf.update_window(setting, screen, ship, bullets, aliens, playbutton,
                         stats, board)
예제 #13
0
def run_game():
    #   初始化游戏并创造一个屏幕对象
    pygame.init()
    ai_settings = Setting()
    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    #   创建一个用于存储游戏统计信息的实例,并创建计分牌
    stats = GameStats(ai_settings)
    sb = Scporeboard(ai_settings,screen,stats)
    #   创建一个play按钮
    play_button = Button(ai_settings,screen,"Play")

    #   创建一个飞船
    ship = Ship(ai_settings,screen)

    #   创建一个用于储存子弹的编组
    bullets = Group()
    aliens = Group()

    #   创建外星群
    gf.create_fleet(ai_settings,screen,ship,aliens)

    #   开始游戏的主循环
    while True:
        #   监听鼠标和键盘事件
        gf.check_events(ai_settings,screen,stats,play_button,ship,aliens,bullets)

        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings,screen,ship,aliens,bullets)
            gf.update_aliens(ai_settings,stats,screen,ship,aliens,bullets)
        gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button)
예제 #14
0
def run_game():
    setting = Setting()
    pygame.init()
    screen = pygame.display.set_mode(
        [setting.screen_width, setting.screen_height])
    pygame.display.set_caption("飞机大战")

    ship = Ship(screen, setting)
    bullets = Group()
    aliens = Group()
    gf.create_fleet(setting, screen, aliens)
    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)
    play_button = Button(setting, screen, "Play")

    while True:

        gf.check_events(setting, screen, ship, bullets, stats, play_button,
                        aliens)
        if stats.game_active:
            ship.update()
            gf.update_bullets(bullets, aliens, setting, screen, stats, sb)
            gf.update_aliens(stats, setting, screen, aliens, ship, bullets)
        gf.update_screen(setting, screen, ship, bullets, aliens, play_button,
                         stats, sb)
예제 #15
0
    def reset():
        Ent.next_id = 0
        Ent.status = "idle"
        Ent.current = ['empty']
        Ent.cam_pos = [0, 0]
        Ent.counter = -1
        Ent.sdraw = False
        Ent.fonts = tx.load_font()
        Ent.sblue = (127, 118, 200)
        Ent.nn = {'bunny': None, 'fox': None}
        Ent.training = False
        Ent.add = 0
        Ent.database = {
            'bunny': {
                'inc': {
                    'hungry': 0.02,  #002
                    'thirst': 0.025,  #025
                    'love': 0.02,  #002
                    'rest': 0.025  #0025
                },
                'base': {
                    'hungry': 100,
                    'thirst': 100,
                    'love': 100,
                    'rest': 100
                },
                'inf': {
                    'speed': 0,
                    'view': 6,
                    'maxchild': 8
                }
            },
            'fox': {
                'inc': {
                    'hungry': 0.03,
                    'thirst': 0.03,
                    'love': 0.02,
                    'rest': 0.03
                },
                'base': {
                    'hungry': 200,
                    'thirst': 200,
                    'love': 100,
                    'rest': 200
                },
                'inf': {
                    'view': 10,
                    'speed': 0,
                    'maxchild': 2
                }
            }
        }

        Ent.update = False
        Ent.reg = list()
        Ent.Sett = Setting(Ent.database)
        #file= open("cmds.pkl", 'ab')
        Action.update = Ent.update
        Action.sdraw = Ent.sdraw
        Action.database = Ent.database
예제 #16
0
def run_game():
	#Initialize pygame, settings, and screen object.
	pygame.init()
	ai_settings = Setting()
	screen = pygame.display.set_mode(
		(ai_settings.screen_width, ai_settings.screen_height))
	pygame.display.set_caption("Alien Invasion")

	#Create an instance to store game statistics.
	stats = GameStats(ai_settings)

	#Make a Ship, a grooop of bullets and a group of aliens.
	ship = Ship(ai_settings, screen)
	bullets = Group()
	aliens = Group()

	#create the fleet of aliens
	gf.create_fleet(ai_settings, screen, ship, aliens)

	#Set the Background Color.
	#bg_color = (230, 230, 230)
	#Make an alien
	#alien = Alien(ai_settings, screen)

	#Start the main loop for the game,
	while True:
		gf.check_events(ai_settings, screen, ship, bullets)
		if stats.game_active:
			ship.update()
			gf.update_bullets(ai_settings, screen, ship, aliens, bullets)
			gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets)
		gf.update_screen(ai_settings, screen, ship, aliens, bullets)
예제 #17
0
def game():
    pygame.init()
    ai_setting = Setting()
    screen = pygame.display.set_mode(
        (ai_setting.screen_width, ai_setting.screen_height))
    pygame.display.set_caption('Alien invasion')
    play_button = Button(ai_setting, screen, "Play")
    stats = GameStats(ai_setting)
    sb = Scoreboard(ai_setting, screen, stats)
    bg_color = (220, 220, 220)
    alian = Alian(ai_setting, screen)
    ship = Ship(screen, ai_setting)
    bullets = Group()
    alians = Group()
    gf.create_fleet(ai_setting, screen, ship, alians)
    while True:
        gf.check_event(ai_setting, screen, stats, sb, play_button, ship,
                       alians, bullets)
        gf.screen(ai_setting, screen, stats, sb, ship, bullets, alians,
                  play_button)
        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_setting, screen, stats, sb, ship, alians,
                              bullets)
            gf.update_alians(ai_setting, screen, stats, sb, ship, alians,
                             bullets)
        pygame.display.flip()
        gf.screen(ai_setting, screen, stats, sb, ship, bullets, alians,
                  play_button)
예제 #18
0
def run_game():
    # 初始化屏幕 创建一个屏幕对象
    pygame.init()
    ai_settings = Setting()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    play_button = Button(ai_settings, screen, "Play")

    # 创建一艘   创建子弹  外星人
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()

    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    # 创建外星人s
    gf.create_fleet(ai_settings, screen, ship, aliens)

    # 游戏的循环
    while True:
        # 事件
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_aliens(ai_settings, stats, sb, screen, ship, aliens,
                             bullets)
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
예제 #19
0
def run_game():
    #初始化一个游戏,并创建一个屏幕对象通过导入设置类Setting
    pygame.init()
    ai_setting = Setting()
    game_stats = GameStats(ai_setting)
    """通过导入的设置模块初始化屏幕实例"""
    screen = pygame.display.set_mode(
        (ai_setting.screen_width, ai_setting.screen_height))
    pygame.display.set_caption("外星人")
    ship = Ship(ai_setting, screen)
    """通过ship模块实例化飞船"""
    bullets = pygame.sprite.Group()
    """实例化子弹集"""
    aliens = pygame.sprite.Group()
    """实例化外星人集"""
    stats = GameStats(ai_setting)
    """实例化游戏状态类"""

    gf.create_fleet(ai_setting, screen, aliens, ship, game_stats)

    while True:
        """游戏主循环,监控游戏的事件及刷新屏幕交给两个函数"""
        if game_stats.ship_over == False:

            gf.ship_ailen(ai_setting, screen, ship, aliens, bullets,
                          game_stats)
            bullets.update(ai_setting, screen, ship, aliens, bullets)
            for alien in aliens.sprites():
                alien.update(game_stats)
            gf.game_over(ai_setting, screen, ship, aliens, bullets, game_stats)
            ship.update()
        gf.check_event(ai_setting, screen, ship, bullets, aliens)

        gf.update_screen(ai_setting, screen, ship, bullets, aliens, game_stats)
예제 #20
0
def run_game():
    pygame.init()
    ai_settings = Setting()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    ship = Ship(ai_settings, screen)

    # 创建一个子弹编组
    bullets = Group()

    # 创建一个外星人组
    aliens = Group()

    # 创建外星人群
    gf.create_fleet(ai_settings, screen, ship, aliens)

    # 开始游戏循环
    while True:
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.update()
        gf.update_buttlets(bullets)
        gf.update_aliens(ai_settings, aliens)
        gf.update_screen(ai_settings, screen, ship, aliens, bullets)

        pygame.display.flip()
예제 #21
0
def run_game():
    pygame.init()
    setting = Setting()
    screen = pygame.display.set_mode(
        (setting.screen_width, setting.screen_height))
    pygame.display.set_caption("Alien Invaders")
    ship = Ship(screen, setting)
    bullets = Group()
    aliens = Group()

    play_button = Button(setting, screen, "Play")

    stats = GameStats(setting)

    sb = Scoreboard(setting, screen, stats)

    g_o = GameOver(screen, "Game Over")

    gf.create_fleet(setting, screen, aliens, ship)

    while True:
        gf.check_game(ship, setting, screen, bullets, aliens, stats,
                      play_button, sb)
        gf.screen_update(setting, screen, ship, bullets, aliens, stats,
                         play_button, sb)
        if stats.game_active:
            ship.update()
            gf.update_bullets(bullets, aliens, setting, ship, screen, stats,
                              sb)
            gf.update_aliens(setting, aliens, ship, screen, bullets, stats, sb)
            gf.screen_update(setting, screen, ship, bullets, aliens, stats,
                             play_button, sb)
예제 #22
0
def run_program():
    pygame.init()
    screen = pygame.display.set_mode((900, 650))
    sr_setting = Setting()
    pygame.display.set_caption("Sorting alogrithms")
    fnt = pygame.font.SysFont("comicsans", 25)
    fnt1 = pygame.font.SysFont("comicsans", 30)
    array = [0] * 151
    arr_color = [sr_setting.Green] * 151
    clr = [
        sr_setting.Green, sr_setting.Red, sr_setting.Dark_blue,
        sr_setting.Orange, sr_setting.bg_color
    ]
    pf.shuffel_arr(array)
    while True:
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_q:
                    sys.exit()
                if event.key == pygame.K_m:
                    ms.mergesort(array, 1,
                                 len(array) - 1, arr_color, clr, screen, fnt,
                                 fnt1)
                if event.key == pygame.K_b:
                    bs.bubblesort(array, arr_color, clr, screen, fnt, fnt1)
                if event.key == pygame.K_s:
                    qs.quicksort(array, arr_color, clr, screen, fnt, fnt1)
        screen.fill(sr_setting.bg_color)
        pf.draw(screen, fnt, fnt1, array, arr_color, clr)
        pygame.display.flip()
예제 #23
0
def run_game():

    #初始化游戏并创建一个屏幕对象
    pygame.init()
    screen = pygame.display.set_mode((1200, 800))
    so_setting = Setting()
    pygame.display.set_caption("Shot one")

    #新建对象
    bow = Bow(so_setting, screen)
    arrow = Arrow(so_setting, screen, bow)
    heart = Heart(so_setting, screen)
    score = Scoreboard(so_setting, screen)
    #游戏的主循环
    while True:

        gf.check_events(arrow, bow)
        #更新三个对象
        gf.update_bow(bow)
        gf.update_arrow(arrow, heart, so_setting, score)
        gf.update_heart(heart)
        #更新屏幕
        gf.update_screen(screen, so_setting, bow, arrow, heart, score)
        #显示最新的屏幕
        pygame.display.flip()
예제 #24
0
def run_game():
    #初始化屏幕并且创建一个屏幕对象
    pygame.init()  #初始化
    ai_settings = Setting()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width,
         ai_settings.screen_height))  #创建了一个屏幕对象screen设置屏幕大小
    bg_color = (ai_settings.screen_color)  #设置背景颜色
    pygame.display.set_caption("Super_ship")  #设置屏幕框显示的文字
    ship = Ship(ai_settings, screen)  #创建一艘飞船,不可以放在while循环中
    ship_height = ship.rect.height
    bullets = Group()
    aliens = Group()
    gf.creat_fleet(ai_settings, screen, aliens, ship_height)
    stats = GameStates(ai_settings)
    ship_limit = stats.ai_settings.ship_limit
    #开始游戏的主循环
    while True:  #每经过一次循环就刷新一下屏幕
        #监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.update()
        gf.update_aliens(ai_settings, aliens, ship, bullets, stats, screen,
                         ship_height)
        gf.update_bullets(ai_settings, screen, ship, bullets, aliens,
                          ship_height)
        gf.update_screen(
            ai_settings, screen, ship, bullets,
            aliens)  #每次循环都会重新绘制屏幕 #必须先进行填充背景色#将飞船放置在底端中间#让最近绘制的屏幕可见
예제 #25
0
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init()
    ai_settings = Setting()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    # 创建一艘飞船,一个子弹编组和一个外星人编组
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()

    # 创建外星人人群
    gf.create_fleet(ai_settings, screen, ship, aliens)

    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.update()

        # 删除已消失的子弹
        gf.update_bullets(aliens, bullets)
        gf.update_aliens(ai_settings, aliens)
        # 每次循环时都重绘屏幕
        gf.update_screen(ai_settings, screen, ship, aliens, bullets)
예제 #26
0
def run_game():
    pygame.init()
    setg = Setting()
    #giving a tuple value for screen resolution
    screen = pygame.display.set_mode((setg.scr_width, setg.scr_height))
    pygame.display.set_caption('Alien Invasion')
    stats = Stat(setg)
    ship = Ship(screen, setg)
    bullets = Group()
    aliens = Group()
    gf.new_fleet(screen, setg, aliens, ship)
    play_button = Button(screen, 'START')
    sb = Scoreboard(screen, setg, stats)
    bg = BG(screen)

    #game starts here
    while True:  #main loop of the game
        gf.chk_events(sb, screen, ship, setg, bullets, stats, play_button,
                      aliens)
        if stats.active_game:
            ship.update()
            gf.bullet_update(bullets, aliens, screen, setg, ship, stats, sb)
            gf.alien_update(sb, aliens, setg, ship, stats, screen, bullets)

        gf.scr_update(setg, screen, ship, aliens, bullets, stats, play_button,
                      sb, bg)
예제 #27
0
    def setUp(self):
        super(TestPostImpl, self).setUp()
        setting = Setting()
        setting.initialize(os.path.join(current_dir, 'settings.cfg'))

        conn = Connection()
        conn.connect(setting.config)

        # initialize logger
        Logger.init(**setting.config.twisted.logging)

        Post.drop_collection()

        # Redis 초기화
        self.redis = conn.redis
        self.redis.delete('current_post_id')

        self.fake = Factory.create()
예제 #28
0
def run_game():
    # calling pygame
    pygame.init()
    setting = Setting()

    # putting the background
    screen = pygame.display.set_mode([setting.width, setting.height])
    background = pygame.transform.scale(pygame.image.load_basic('grass.bmp'),
                                        (setting.width, setting.height))
    backgroundrect = background.get_rect()
    screen.blit(background, backgroundrect)

    # loading the background music and setting a caption
    rabbit = Bunny(screen, setting)
    pygame.display.set_caption("Mouse Infestation")
    pygame.mixer.music.load('moonlight.wav')
    pygame.mixer.music.play(-1, 0.0)
    pygame.mixer.music.set_volume(0.25)

    # calling the classes
    play_button = Button(setting, screen, "Play")
    Health_bar = Health(screen)

    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)
    bullets = Group()
    mice = Group()
    castles = Group()

    gf.create_castle(screen, setting, 80, castles)

    # making a loop for the game
    while True:

        # checking the program
        gf.check_event(setting, screen, stats, play_button, sb, rabbit, mice,
                       bullets)

        # placing the healthbar
        if stats.game_active == False:
            Health_bar.reset_health_bar()

        # summoning the mice(enemies)
        if stats.game_active:
            for mouse in mice:
                if mouse.rect.x < mouse.image.get_rect().centerx:
                    gf.create_fleet(setting, screen, mice)
                    break

            # updating the screen in order for the program to run
            rabbit.update()
            gf.update_bullet(setting, screen, stats, sb, rabbit, bullets, mice)
            gf.update_mouse(setting, Health_bar, screen, rabbit, mice, bullets,
                            castles, stats)
        gf.update_screen(background, backgroundrect, screen, setting, sb,
                         rabbit, stats, bullets, mice, play_button, castles,
                         Health_bar)
예제 #29
0
 def __init__(self):
     pygame.init()
     self.settings = Setting()
     self.screen = pygame.display.set_mode(
         (self.settings.screen_width, self.settings.screen_hight))
     pygame.display.set_caption("Alien Invision")
     icon = pygame.image.load('Png.png')
     pygame.display.set_icon(icon)
     self.screen.fill(self.settings.bg_color)
     self.ship = Ship(self)
예제 #30
0
	def get(self):
		nick = self.request.get('nick')

                template_values = {
                'title': 'Projects',
                }

                validuser = False
		pd = ''
                if nick is None or nick == '':
                        ### Session verification code ###
                        session = get_current_session()
                        try:
                                validuser = True
                                user = User.get(session['key'])
                                template_values['logged'] = True
                                template_values['unread'] = UnreadMessages(session['key'])
                        except KeyError:
				validuser = False
                                logging.error('-1')
                                projectdefaults = Setting.all().filter("name =", 'project_default').run()
                                pd = '/?exception=NoVariableNorSession'
                                for projectdefault in projectdefaults:
                                        pd = projectdefault.value
                                logging.error(pd)
                                self.redirect(pd)
                        #################################
                else:
                        validuser = False
                        for user in User.all().filter("nick =", nick).run(limit=1):
                                validuser = True

                if validuser:
			projects = Project.all().filter("user ="******"-date").run()
			active = []
                        completed = []
                        dropped = []
			for project in projects:
                        	if project.status == 0:
	                                active.append(project)
                                elif project.status == 1:
                                        completed.append(project)
                                elif project.status == -1:
                                        dropped.append(project)
                        template_values['projects'] = True
                        template_values['active'] = active
                        template_values['completed'] = completed
                        template_values['dropped'] = dropped
			path = os.path.join(os.path.dirname(__file__), 'templates/projects.html')
                        self.response.out.write(template.render(path, template_values))
		elif pd != '':
			self.redirect(pd)
                else:
                        self.redirect('/?exception=InvalidUser')
예제 #31
0
def run_game():
    pygame.init()
    ai_setting = Setting()
    screen = pygame.display.set_mode(
        (ai_setting.screen_width, ai_setting.screen_height))
    pygame.display.set_caption('Alien')
    ship = Ship(screen)
    while True:
        screen.fill(ai_setting.bg_color)
        ship.blitme()
        pygame.display.flip()
예제 #32
0
	def __init__(self,ai_setting,screen):                    #类中的函数必须是要有self的
		self.screen=screen
		self.ai_settings=Setting()
		self.images=pygame.image.load('images/small.bmp')
		self.rect=self.images.get_rect()
		self.screen_rect=screen.get_rect()
		self.rect.bottom=self.screen_rect.bottom
		self.rect.centerx=self.screen_rect.centerx
		self.center=float(self.rect.centerx)                 ##因为rect的centerx只能存储整数所以需要在飞船的center属性中存储小数
		self.move_left=False
		self.move_right=False
예제 #33
0
 def send(self, data: pd.DataFrame, attachments=[]):
     emaillist = [elem.strip().split(',') for elem in self.receivers]
     msg = MIMEMultipart()
     msg['Subject'] = "Test Report"
     msg['From'] = self.sender
     ### Email format ###
     html = """\
     <html>
       <head></head>
       <body>
         {0}
       </body>
     </html>
     """.format(data.to_html())
     part1 = MIMEText(html, 'html')
     msg.attach(part1)
     ### Attachment ###
     if attachments:
         for path in attachments:
             filename = os.path.split(path)[-1]
             with open(path, "rb") as attachment:
                 # Add file as application/octet-stream
                 # Email client can usually download this automatically as attachment
                 part = MIMEBase("application", "octet-stream")
                 part.set_payload(attachment.read())
             # Encode file in ASCII characters to send by email
             encoders.encode_base64(part)
             # Add header as key/value pair to attachment part
             part.add_header(
                 "Content-Disposition",
                 f"attachment; filename={filename}",
             )
             # Add attachment to message and convert message to string
             msg.attach(part)
     # Create a secure SSL context
     context = ssl.create_default_context()
     setting = Setting.get()
     # Try to log in to server and send email
     try:
         server = smtplib.SMTP(self.smtp_server, self.tls_port)
         server.ehlo()  # Can be omitted
         server.starttls(context=context)  # Secure the connection
         server.ehlo()  # Can be omitted
         server.login(self.sender, setting.sender_email_password)
         # Send email here
         server.sendmail(msg['From'], emaillist, msg.as_string())
         logger.info(f"Successfully send email to {emaillist}.")
     except Exception as e:
         # Print any error messages to stdout
         logger.error(str(e))
     finally:
         server.quit()
예제 #34
0
def run_game():
	#初始化游戏并创建一个屏幕对象
	pygame.init();
	
	ai_setting = Setting();
	
	screen = pygame.display.set_mode((ai_setting.screen_width,ai_setting.screen_height));
	pygame.display.set_caption("alien_invasion");
	
	#创建play按钮
	play_button = Button(ai_setting,screen,"Play");
	
	#创建一个用于存储游戏统计信息的实例
	status = GameStatus(ai_setting);
	#创建计分实例
	sb = ScoreBoard(ai_setting,screen,status);
	
	#创建一艘飞船
	ship = Ship(ai_setting,screen);
	#创建一个外星人
	#alien = Alien(ai_setting,screen);
	
	#创建一个用于存放子弹的组
	bullets = Group();
	
	#设置背景色
	#bg_color = (230,230,230);
	
	#创建一个用于存放外星人的组
	aliens = Group();
	#创建外星人群
	gf.create_fleet(ai_setting,screen,ship,aliens);
	
	#开始游戏主循环
	while True:
		
		#监视键盘和鼠标事件
		gf.check_events(ai_setting,screen,status,sb,play_button,ship,aliens,bullets);
		#还有飞船的时候更新
		if status.game_active:
			#更新飞船位置
			ship.update();
			
			
			#更新外星人位置
			gf.update_aliens(ai_setting,status,sb,screen,ship,aliens,bullets);
			
			#更新子弹信息
			gf.update_bullets(ai_setting,screen,status,sb,ship,aliens,bullets);
		
		#刷新屏幕
		gf.update_screen(ai_setting,screen,status,sb,ship,aliens,bullets,play_button);
예제 #35
0
def evaluate(assetId: str,
             strategyId: str,
             df: pd.DataFrame,
             evaluationPeriod: EvaluationPeriod = None,
             deleteTemp=False) -> bool:
    """
    Evaluate the performance of an arbitrary strategy. Columns required in df for evaluation process as below
    :param
        assetId:
        strategyId: ID of the strategy with the specific set of parameters that generate 'position' for data
        df: assume the existence of these columns after running through a Strategy
            position: determine the position of the asset at each point in time
    :return: the enriched df with evaluation parameters if pass evaluation criteria, else return None
    """
    name = '_'.join([assetId, strategyId, evaluationPeriod.name])
    ### evaluation parameters
    df['asset_ret'] = df['Adj Close'].pct_change()
    df['return'] = df['asset_ret'] * df['position']
    df['unit_asset_ret'] = (1 + df['asset_ret']).cumprod()
    df['value'] = (1 + df['return']).cumprod()
    ### evaluate
    if not deleteTemp:
        tempDir = None
        tempPath = get_temp_path()
        if not os.path.exists(tempPath):
            os.makedirs(tempPath)
    else:
        tempDir = tempfile.TemporaryDirectory()
        tempPath = tempDir.name
    graph_file_extension = Setting.get().graph_file_extension
    tempPath = os.path.join(tempPath, name)
    fig = plt.figure(figsize=(15, 10))
    s1 = fig.add_subplot(2, 1, 1)
    s1.plot(df['value'], label='Portfolio unit value')
    s1.plot(df['unit_asset_ret'], label='Asset unit value')
    s1.legend()
    s1.set_title("Return")
    s2 = fig.add_subplot(2, 1, 2)
    alpha = df['value'] - df['unit_asset_ret']
    s2.plot(alpha, label='Excess return compared to asset', color='r')
    s2.legend()
    s2.set_title("Alpha")
    fig.savefig(tempPath + f'.{graph_file_extension}',
                format=graph_file_extension)
    plt.close(fig)
    logger.info(f"Graph for {name} generated at {tempPath}.")
    if tempDir: tempDir.cleanup()
    ### TODO: define the criteria for a pass
    if not True:
        return None
    return df
예제 #36
0
파일: wall.py 프로젝트: ThomasMarcel/thas
	def get(self):
		nick = self.request.get('nick')
		validuser = False
		pins = None

		template_values = {
                'pagename': 'wall',
                }

		if nick is not None and nick != '':
			userQ = User.all().filter("nick =", nick).run(limit=1)
			for user in userQ:
				validuser = True
				pins = Pin.all().filter("user ="******"-date").run(limit=50)
		try:
                        session = get_current_session()
                        if session['key'] and session['key'] != '':
                                unread = UnreadMessages(session['key'])
                                template_values['logged'] = True
                                template_values['unread'] = unread
				validuser = True
                                if pins is None:
                                        pins = Pin.all().filter("user ="******"-date").run(limit=50)
                except KeyError:
			logging.error('Key error getting session. No session opened. PASS.')
		if validuser:

			template_values['pins'] = pins
			path = os.path.join(os.path.dirname(__file__), 'templates/wall.html')
	                self.response.out.write(template.render(path, template_values))
		else:
			#logging.error('User ' + nick + ' not found. EXIT.')
			#self.redirect('/?exception=NickNotFound')
                        walldefaults = Setting.all().filter("name =", 'wall_default').run()
                        wd = '/?exception=NoVariableNorSession'
                        for walldefault in walldefaults:
                                wd = walldefault.value
                        self.redirect(wd)
예제 #37
0
	def __init__(self):
		self.regstatus = False
		regstatusesQ = Setting.all().filter("name =", 'register').filter("value =", 'enabled').run()
		for regstatuses in regstatusesQ:
			self.regstatus = True
예제 #38
0
파일: blog.py 프로젝트: ThomasMarcel/thas
	def get(self):
		nick = self.request.get('nick')
		page = self.request.get('page')
		
		template_values = {
                'title': 'Blog',
                }

		validuser = False
		# If a nick value is not given, assuming a user is logged, using his key to get entries
		bd = ''
		if nick is None or nick == '':
			### Session verification code ###
	                session = get_current_session()
	                try:
				logging.error('1')
				validuser = True
				user = User.get(session['key'])
				template_values['logged'] = True
				template_values['unread'] = UnreadMessages(session['key'])
	                except KeyError:
				validuser = False
				logging.error('-1')
				blogdefaults = Setting.all().filter("name =", 'blog_default').run()
                                bd = '/?exception=NoVariableNorSession'
                                for blogdefault in blogdefaults:
                                        bd = blogdefault.value
                                logging.error(bd)
                                self.redirect(bd)
	                #################################
		# If a nick is specified in a variable, get the user's entries
		else:
			logging.error('2')
			validuser = False
			for user in User.all().filter("nick =", nick).run(limit=1):
				validuser = True

		if validuser:
			ref = self.request.get('ref')
			batchsize = self.request.get('batchsize')
	                if ref is not None and ref != '':
	                        pagesref = Entry.all().filter("user ="******"-date").run()
				countentry = 0
	                        for pageref in pagesref:
					if pageref.key().id() != int(ref):
						countentry += 1
					else:
						break
				if batchsize is None or batchsize == '':
	                                batchsize = 5
	                        else:
	                                batchsize = int(batchsize)
				entdiv = countentry / batchsize
				floatdiv = countentry % batchsize
				logging.warning(str(countentry) + " - " + str(entdiv) + " - " + str(floatdiv))
				if floatdiv > 0:
					entdiv += 1
				self.redirect("/blog?page=" + str(entdiv) + "#" + ref)

			# Try to get page number and batch size from given parameters to determine which entries to show. Default [0:5]
			if page is None or page == '' or page == '0':
				page = 1
			else:
				page = int(page)
			if batchsize is None or batchsize == '':
				batchsize = 5
			else:
				batchsize = int(batchsize)
			offset = (int(page) - 1) * batchsize
			
			# Get entries and for each one, get the corresponding pictures, build a dictionary with attributes both from Entry and EntryBlob, and add it to a list of entries
			entries = Entry.all().filter("user ="******"-date").run(offset=offset,limit=batchsize)
			entrieslist = []
			for entry in entries:
				entrydict = {'id': str(entry.key().id()), 'key': str(entry.key()), 'title': entry.title, 'body': entry.body, 'shortdesc': entry.body[0:297] + '...', 'date': str(entry.date).split('.')[0], 'author': user.nick}
				blobslist = []
				entryblob = EntryBlob.all().filter("entry =", str(entry.key())).run()
				for blob in entryblob:
					blobslist.append({'key': str(blob.key()), 'blob': blob.blob, 'position': blob.position})
				entrydict['blobs'] = blobslist
				sharedpics = EntryBlob.all().filter("entry =", str(entry.key())).run(limit=1)
				for pic in sharedpics:
					sharedpic = {'key': str(pic.key()), 'blob': pic.blob}
					entrydict['sharedpic'] = sharedpic

				tags = ""
				taggedQ = Tagged.all().filter("entitykey =", str(entry.key())).run()
				for tagged in taggedQ:
	                                tag = Tag.get(tagged.tagkey)
	                                if tags == "":
	                                        tags += tag.tag        
	                                else:
	                                        tags += ", " + tag.tag        
	                        if len(tags) > 0:
	                                entrydict['tags'] = tags
					logging.info('Tags: ' + tags)

				entrieslist.append(entrydict)
			template_values['entries'] = entrieslist
			path = os.path.join(os.path.dirname(__file__), 'templates/blog.html')
                        self.response.out.write(template.render(path, template_values))
		elif bd != '':
			self.redirect(bd)
		else:
			self.redirect('/?exception=InvalidUser')
예제 #39
0
파일: game.py 프로젝트: ThomasMarcel/thas
	def get(self):
		puser = self.request.get('user')
		action = self.request.get('action')

		self.response.headers['Content-Type'] = 'application/json'
		if puser is not None and puser != '':
			try:
				user = User.get(puser)
				if action == 'gamelist':
					bogeyslist = []
					gameslist = []
					playerslist = []
					gamesdetails = []
					returndict = {'user': {'nick': user.nick, 'avatar': user.avatar, 'fname': user.fname, 'lname': user.lname}}
					bogeys = Monster.all().filter("user ="******"monster IN", bogeyslist).run()
						for player in players:
							playerslist.append(player.key())
							gameslist.append(player.game)
						for game in gameslist:
							ggame = Game.get(game)
							gamedict = {'name': ggame.name, 'owner': ggame.owner, 'status': ggame.status, 'date': ggame.date}
							playerslist = []
							gplayers = Player.all().filter("game =", game).run()
							for gplayer in gplayers:
								gmonster = Monster.get(gplayer.monster)
								guser = User.get(gmonster.user)
								playerdict = {'nick': user.nick, 'avatar': user.avatar, 'fname': user.fname, 'lname': user.lname, 'monster': {'name': gmonster.name, 'date': gmonster.date}}
								playerslist.append(playerdict)
							gamedict['players'] = playerslist
							gameslist.append(gamedict)
					returndict['games'] = gameslist
					self.response.out.write(json.dumps(returndict))
				elif action == 'newmonster':
					monsterlimit = 3
					smonsterlimits = Setting.all().filter("name =", 'monster_limit').run(limit=1)
					for smonsterlimit in smonsterlimits:
						monsterlimit = smonsterlimit.value
					monsterlist = []
					gmonsters = Monster.all().filter("user ="******"user ="******"name =", 'game_limit').run(limit=1)
                                        for sgamelimit in sgamelimits:
                                                gamelimit = sgamelimit.value
                                        gamelist = []
					monsterlist = []
					gmonsters = Monster.all().filter("user ="******"monster in", monsterlist).run()
                                        for gplayer in gplayers:
						game = Game.get(gplayer.game)
                                                gamedict =  game.name
                                                gamelist.append(gamedict)
                                        if len(gamelist) < gamelimit:
                                                pname = self.request.get('name')
                                                if pname is not None and pname != '':
                                                        if pname not in gamelist:
								size = self.request.get('size').split('x')
								if len(size) == 2:
									pmonster = self.request.get('monster')
									if pmonster is not None and pmonster != '':
										monster = Monster.get(pmonster)
										if monster.user == puser:
											newgame = Game()
											newgame.name = pname
											newgame.owner = puser
											newgame.status = 0
											newgame.put()

											board = Board()
											board.game = str(newgame.key())
											#size = int(size)
											sizeblob = []
											for val in size:
												val = int(val)
												sizeblob.append(val)
											board.size = json.dumps(sizeblob)
											board.put()

											newplayer = Player()
											newplayer.game = str(newgame.key())
											newplayer.monster = pmonster
											newplayer.position = json.dumps([randnum(sizeblob[0]), randnum(sizeblob[1])])
											logging.info('position: ' + str(json.loads(newplayer.position)))
											newplayer.put()

											self.response.out.write(json.dumps({'status': 1, 'message': 'Game ' + pname + ' successfully created.'}))
										else:
											self.response.out.write(json.dumps({'status': -9, 'message': 'Invalid combo monster/user.'}))
									else:
										self.response.out.write(json.dumps({'status': -8, 'message': 'Missing parameter monster.'}))
								else:
									self.response.out.write(json.dumps({'status': -7, 'message': 'Wrong size value, not in range'}))
							else:
								self.response.out.write(json.dumps({'status': -6, 'message': 'The user already is in a game called ' + pname + '.'}))
								
						else:
							self.response.out.write(json.dumps({'status': -4, 'message': 'Missing parameter for game creation'}))
					else:
						self.response.out.write(json.dumps({'status': -5, 'message': 'Game limit of ' + str(gamelimit) + ' reached for user'}))
				elif action == 'joingame':
					ggame = self.request.get('game')
					gmonster = self.request.get('monster')
					if ggame is None or ggame == '' or gmonster is None or gmonster == '':
						self.response.out.write(json.dumps({'status': -10, 'message': 'Missing mandatory parameter(s).'}))
					else:
						game = Game.get(ggame)
						monster = Monster.get(gmonster)
						if monster.user == puser:
							monsterlist = []
							playermonsters = Monster.all().filter("user ="******"monster in", monsterlist).run():
								gamelist.append(playergame.game)
							if ggame not in gamelist:
								ingame = False
								gplayers = Player.all().filter("monster =", gmonster).run(limit=1)
								for gplayer in gplayers:
									ingame = True
								if not ingame:
									gamelimit = 4
									if game.slots != None:
										gamelimit = game.slots
									gameplayerlist = []
									gameplayers = Player.all().filter("game =", ggame).run(limit=gamelimit)
									for gameplayer in gameplayers:
										gameplayerlist.append(gameplayer.monster)
									if len(gameplayerlist) < gamelimit:
										player = Player()
										player.game = ggame
										player.put()
			                                                	self.response.out.write(json.dumps({'status': 1, 'message': 'Successfully joined game ' + game.name + '.'}))
									else:
				                                                self.response.out.write(json.dumps({'status': -12, 'message': 'No open slots left for game ' + ggame + '.'}))
								else:
			                                                self.response.out.write(json.dumps({'status': -13, 'message': 'Player already in game ' + ggame + '.'}))
							else:
		                                                self.response.out.write(json.dumps({'status': -11, 'message': 'Monster already in a game.'}))
						else:
	                                                self.response.out.write(json.dumps({'status': -9, 'message': 'Invalid combo monster/user.'}))
				elif action == 'modifygame':
				#Modify/delete game if the owner is requesting and if it has no player but the owner
					logging.info('action: ' + action)
					method = self.request.get('method')
					if method == 'm':
						logging.info('method: ' + method)
					elif method == 'd':
						logging.info('method: ' + method)
					else:
	                                        self.response.out.write(json.dumps({'status': -14, 'message': 'Invalid method "' + method + '" for action ' + action + '.'}))
				elif action == 'modifymonster':
				#Modify/delete a monster if the owner is requesting it and if the monster is not in a started game
					logging.info('action: ' + action)
					method = self.request.get('method')
					if method == 'm':
						logging.info('method: ' + method)
					elif method == 'd':
						logging.info('method: ' + method)
					else:
	                                        self.response.out.write(json.dumps({'status': -14, 'message': 'Invalid method "' + method + '" for action ' + action + '.'}))
				else:
					self.response.out.write(json.dumps({'status': -3, 'message': 'Invalid action parameter'}))
			except db.BadKeyError:
				self.response.out.write(json.dumps({'status': -2, 'message': 'Invalid key'}))

		else:
			self.response.out.write(json.dumps({'status': -1, 'message': 'Wrong user parameter'}))
예제 #40
0
파일: girl.py 프로젝트: mvbarracuda/parpg
from agent import Agent
import fife
from settings import Setting

TDS = Setting()

_STATE_NONE, _STATE_IDLE, _STATE_RUN, _STATE_FOLLOW = 0, 1, 2, 3

GIRL_SPEED = 3 * float(TDS.readSetting("TestAgentSpeed"))
class Girl(Agent):
	def __init__(self, model, agentName, layer, uniqInMap=True):
		super(Girl, self).__init__(model, agentName, layer, uniqInMap)
		self.state = _STATE_NONE
		self.waypoints = ((67, 80), (75, 44))
		self.waypoint_counter = 0
		self.hero = self.layer.getInstance('PC')

	def onInstanceActionFinished(self, instance, action):
		if self.state in (_STATE_RUN, _STATE_FOLLOW):
			self.idle()
		else:
			if self.waypoint_counter % 3:
				self.waypoint_counter += 1
				self.follow_hero()
			else:
				self.run(self.getNextWaypoint())

	def getNextWaypoint(self):
		self.waypoint_counter += 1
		l = fife.Location(self.layer)
		l.setLayerCoordinates(fife.ModelCoordinate(*self.waypoints[self.waypoint_counter % len(self.waypoints)]))
예제 #41
0
    def __getattr__(self, item):
        Logger.info(item)
        item = re.split('_', item)
        module_name, mthd = item[0], '_'.join(item[1:])

        class_name = module_name.capitalize() + 'Controller'

        module = __import__('controllers.%s' % module_name)
        instance = getattr(getattr(module, module_name), class_name)()

        return getattr(instance, mthd)


if __name__ == '__main__':
    setting = Setting()
    setting.initialize(os.path.join(current_dir, 'settings.cfg'))

    conn = Connection()
    conn.connect(setting.config)

    # initialize logger
    Logger.init(**setting.config.twisted.logging)

    # setup server
    handler = TodayInternalApiServiceHandler()
    processor = TodayInternalApiService.Processor(handler)
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()
    server = reactor.listenTCP(setting.config.twisted.port,
                               TTwisted.ThriftServerFactory(processor, pfactory),
                               interface=setting.config.twisted.interface)
예제 #42
0
파일: run.py 프로젝트: mvbarracuda/parpg
	if p not in sys.path:
		sys.path.append(_jp(p))

if not os.path.exists('settings.xml'):
	shutil.copyfile('settings-dist.xml', 'settings.xml')

import fife_compat
import fife, fifelog
from scripts import world
from scripts.common import eventlistenerbase
from basicapplication import ApplicationBase
import pychan
import pychan.widgets as widgets
from settings import Setting

TDS = Setting()

class ApplicationListener(eventlistenerbase.EventListenerBase):
	def __init__(self, engine, world):
		super(ApplicationListener, self).__init__(engine,regKeys=True,regCmd=True, regMouse=False, regConsole=True, regWidget=True)
		self.engine = engine
		self.world = world
		engine.getEventManager().setNonConsumableKeys([
			fife.Key.ESCAPE,])

		self.quit = False
		self.aboutWindow = None

		self.rootpanel = pychan.loadXML('gui/rootpanel.xml')
		self.rootpanel.mapEvents({ 
			'quitButton' : self.onQuitButtonPress,