Пример #1
0
 def server_line_callback(self, line):
     self.server_lines.append(line.rstrip())
     self.server_lines = [ line for line in self.server_lines if line != '>' ]
     self.server_lines = self.server_lines[-10:]
     ui.execute_later(self.update_server_console)
     if client.client:
         client.client.server_line_callback(line)
Пример #2
0
def save_and_sync_next_step(old_set):
    name_set = None
    start_time = time.time()
    stop = False
    while not stop:
        print 'finding save...'
        dir = save.get_save_dir()
        listing = list_saves(dir)
        new_set = set(listing)
        name_set = new_set - old_set
        if not name_set:
            for name in listing:
                mtime = os.path.getmtime(os.path.join(dir, name))
                if mtime > start_time:
                    stop = True
                    break
            time.sleep(0.5)
        else:
            stop = True
            name = iter(name_set).next()
            break
    print 'found save', name
    time.sleep(0.5)
    ui.execute_later(
        lambda: upload_save(save.get_save_dir() + '/' + name, name))
Пример #3
0
 def change(type, val):
     tpl[type] += val * 10
     tpl[0] -= val * 10
     a, b, c = map(lambda x: max(0, min(100, x)), tpl)
     self.client.set_tax_values(a, b, c)
     ui.get_screen().tick()
     self.update()
     ui.execute_later(self.update)
Пример #4
0
 def change(type, val):
     tpl[type] += val * 10
     tpl[0] -= val * 10
     a, b, c = map(lambda x: max(0, min(100, x)), tpl)
     self.client.set_tax_values(a, b, c)
     ui.get_screen().tick()
     self.update()
     ui.execute_later(self.update)
Пример #5
0
def comment_upload(install_time):
    ui.execute_later(lambda: ui.message('Compressing log...'))

    content = lzma.compress(open(save.get_save_dir() + '/more.log').read())

    ui.execute_later(lambda: ui.back())

    request(lambda result: comment_next(install_time), 'upload_log', content, install_time,
            banner="Uploading log (%dkB)" % (len(content)/1024))
 def wait():
     if DropboxHelper.result:
         jlist = DropboxHelper.result
         print jlist
         DropboxHelper.printList(jlist)
         saves = jlist_to_list(jlist)
         load_dialog(saves)
     else:
         ui.execute_later(wait)
Пример #7
0
 def wait():
     if DropboxHelper.result:
         jlist = DropboxHelper.result
         print jlist
         DropboxHelper.printList(jlist)
         saves = jlist_to_list(jlist)
         load_dialog(saves)
     else:
         ui.execute_later(wait)
def init():
    print 'DropboxHelper init'
    global DropboxHelper
    if not DropboxHelper:
        DropboxHelper = jnius_reflect.autoclass('com.zielm.freeciv.DropboxHelper')
        print 'initializing DropboxHelper tokens'
        tokenKey = features.get('civsync.key')
        tokenSecret = features.get('civsync.secret')
        DropboxHelper.setTokens(tokenKey, tokenSecret)
        DropboxHelper.init()
        ui.execute_later(_message_checker)
Пример #9
0
def init():
    print "DropboxHelper init"
    global DropboxHelper
    if not DropboxHelper:
        DropboxHelper = jnius_reflect.autoclass("com.zielm.freeciv.DropboxHelper")
        print "initializing DropboxHelper tokens"
        tokenKey = features.get("civsync.key")
        tokenSecret = features.get("civsync.secret")
        DropboxHelper.setTokens(tokenKey, tokenSecret)
        DropboxHelper.init()
        ui.execute_later(_message_checker)
Пример #10
0
def init():
    print 'DropboxHelper init'
    global DropboxHelper
    if not DropboxHelper:
        DropboxHelper = jnius_reflect.autoclass(
            'com.zielm.freeciv.DropboxHelper')
        print 'initializing DropboxHelper tokens'
        tokenKey = features.get('civsync.key')
        tokenSecret = features.get('civsync.secret')
        DropboxHelper.setTokens(tokenKey, tokenSecret)
        DropboxHelper.init()
        ui.execute_later(_message_checker)
Пример #11
0
def client_main():
    if try_resume():
        ui.main()
        return

    ui.set(ui.Label('loading...'))
    ui.execute_later(app_main)

    if features.get('app.profile'):
        profile_main()
    else:
        ui.main()
Пример #12
0
def comment_upload(install_time):
    ui.execute_later(lambda: ui.message('Compressing log...'))

    content = lzma.compress(open(save.get_save_dir() + '/more.log').read())

    ui.execute_later(lambda: ui.back())

    request(lambda result: comment_next(install_time),
            'upload_log',
            content,
            install_time,
            banner="Uploading log (%dkB)" % (len(content) / 1024))
Пример #13
0
def client_main():
    if try_resume():
        ui.main()
        return

    ui.set(ui.Label('loading...'))
    ui.execute_later(app_main)

    if features.get('app.profile'):
        profile_main()
    else:
        ui.main()
Пример #14
0
def _message_checker():
    if DropboxHelper.needAuth:
        print 'Authentication requested by DropboxHelper'
        DropboxHelper.needAuth = False
        features.set_perm('civsync.key', None)
        features.set_perm('civsync.secret', None)
        login()

    msg = DropboxHelper.getMessage()
    if msg:
        print 'showing message from DropboxHelper', msg
        ui.message(msg)
    ui.execute_later(_message_checker)
def _message_checker():
    if DropboxHelper.needAuth:
        print 'Authentication requested by DropboxHelper'
        DropboxHelper.needAuth = False
        features.set_perm('civsync.key', None)
        features.set_perm('civsync.secret', None)
        login()

    msg = DropboxHelper.getMessage()
    if msg:
        print 'showing message from DropboxHelper', msg
        ui.message(msg)
    ui.execute_later(_message_checker)
Пример #16
0
def save_and_sync_next_step(old_set):
    name_set = None
    start_time = time.time()
    stop = False
    while not stop:
        print 'finding save...'
        dir = save.get_save_dir()
        listing = list_saves(dir)
        new_set = set(listing)
        name_set = new_set - old_set
        if not name_set:
            for name in listing:
                mtime = os.path.getmtime(os.path.join(dir, name))
                if mtime > start_time:
                    stop = True
                    break
            time.sleep(0.5)
        else:
            stop = True
            name = iter(name_set).next()
            break
    print 'found save', name
    time.sleep(0.5)
    ui.execute_later(lambda: upload_save(save.get_save_dir() + '/' + name, name))
Пример #17
0
def sync_request(callback, name, args, kwargs):
    func = getattr(client(), name)
    try:
        try:
            result = func(*args, **kwargs)
        except civsync.LoginError as err:
            print 'Login failed:', err
            ui.back(anim=False)
            self = lambda: request(callback, name, *args, **kwargs)
            ui.execute_later(lambda: show_login_form(self, str(err)))
            return
    except Exception as err:
        traceback.print_exc()
        ui.back(anim=False)
        ui.execute_later(lambda: ui.message('Failed to connect to the internet'))
        return
    ui.back(anim=False)
    ui.execute_later(lambda: callback(result))
Пример #18
0
def sync_request(callback, name, args, kwargs):
    func = getattr(client(), name)
    try:
        try:
            result = func(*args, **kwargs)
        except civsync.LoginError as err:
            print 'Login failed:', err
            ui.back(anim=False)
            self = lambda: request(callback, name, *args, **kwargs)
            ui.execute_later(lambda: show_login_form(self, str(err)))
            return
    except Exception as err:
        traceback.print_exc()
        ui.back(anim=False)
        ui.execute_later(
            lambda: ui.message('Failed to connect to the internet'))
        return
    ui.back(anim=False)
    ui.execute_later(lambda: callback(result))
Пример #19
0
def notify_update(url):
    print 'update found at', url

    time.sleep(1)

    ui.execute_later(lambda: menus.notify_update(url))
Пример #20
0
def _check_finish():
    if DropboxHelper.authFinished:
        _auth_finished()
    else:
        ui.execute_later(_check_finish)
Пример #21
0
def loop():
    input = os.fdopen(features.get('ctrl.fd'), 'r', 1)
    for line in iter(input.readline, ''):
        message = json.loads(line)
        ui.execute_later(functools.partial(process_message, message))
Пример #22
0
 def callback():
     button.set_text('Loading...')
     button.callback = None
     ui.execute_later(lambda: uidialog.open_url(url))
Пример #23
0
 def callback():
     button.set_text('Loading...')
     button.callback = None
     ui.execute_later(lambda: uidialog.open_url(url))
Пример #24
0
def run_marketnotice():
    ui.user_time_sleep(20 * 60)
    ui.execute_later(show_marketnotice)
Пример #25
0
def notify_update(url):
    print 'update found at', url

    time.sleep(1)

    ui.execute_later(lambda: menus.notify_update(url))
Пример #26
0
def check_downloaded():
    if DropboxHelper.downloaded:
        if DropboxHelper.downloadedSuccess:
            download_success()
    else:
        ui.execute_later(check_downloaded)
Пример #27
0
def run_marketnotice():
    ui.user_time_sleep(20 * 60)
    ui.execute_later(show_marketnotice)
def _check_finish():
    if DropboxHelper.authFinished:
        _auth_finished()
    else:
        ui.execute_later(_check_finish)
def check_downloaded():
    if DropboxHelper.downloaded:
        if DropboxHelper.downloadedSuccess:
            download_success()
    else:
        ui.execute_later(check_downloaded)