def release(self):
        sys.stderr = self.originalStderr

    def write(self, sth):
        self.logger.error(sth)
        #self.originalStderr.write(sth)
        if self.writeFunc:
            self.writeFunc(sth)

    def flush(self):
        self.logger.handlers[0].flush()
        #self.originalStderr.write(sth)
        if self.flushFunc:
            self.flushFunc()

aoErr = e32.Ao_lock()
aoTErr = e32.Ao_timer()
errStr = unicode()
bodyBack = appuifw2.app.body
exitBack = appuifw2.app.exit_key_handler
msgBody = appuifw2.Text_display(text=u"", skinned=True)
def restoreError():
    global bodyBack, exitBack
    #aoErr.signal()
    appuifw2.app.body=bodyBack
    appuifw2.app.exit_key_handler=exitBack

continuousError = False
def resetContinuousError():
    global continuousError
    continuousError = False
Exemple #2
0
import appuifw as ui, e32, StringIO, os, zipfile, e32dbm, random, graphics
from sysinfo import display_pixels as scr
from topwindow import TopWindow
from ftplib import all_errors
app = ui.app
lk = e32.Ao_lock()


def u(u):
    try:
        u = unicode(u)
    except:
        u = unicode('!error!')
    return u


def replace_all(text, dic):
    for i, j in dic.iteritems():
        text = text.replace(i, j)
    return text


class Error(Exception):
    pass


class error_perm(Error):
    pass


class error_reply(Error):
        # Wait for the user to exit the image viewer.
        lock.wait()
        print "Video viewing finished."
        print "press options or exit."
    except IOError:
        print "Could not fetch the image."
    except:
        print "Could not open data received."


# define the application menu with one choice "get video" and call the fetching video
def main_menu_setup():
    appuifw.app.menu = [(u"get video", fetching)]


def exit_key_handler():
    global script_lock
    script_lock.signal()
    appuifw.app.set_exit()


script_lock = e32.Ao_lock()

appuifw.app.title = u"Get video"

# call the application menu function
main_menu_setup()

appuifw.app.exit_key_handler = exit_key_handler
script_lock.wait()
 def __init__(self):
     self.script_lock = e32.Ao_lock()
     self.dir_stack = []
     self.current_dir = dir_iter.Directory_iter(e32.drive_list())
    def __init__(self, path):
        self.TitleName = "iniche"
        self.running = 1
        ui.app.exit_key_handler = self.exit
        # 当前选择项目的index
        self.selectedIndex = 0
        self.loading = 0
        ui.app.screen = "full"

        self.articleMenuL = [(cn("刷新"), self.refushArticle),
                             (cn("清除缓存"), self.delCache),
                             (cn("退出"), self.exit2)]
        self.mainMenu = [(cn("刷新"), self.refush), (cn("到顶部"), self.toTop),
                         (cn("到底部"), self.toBottom),
                         (cn("清除缓存"), self.delCache), (cn("退出"), self.exit2)]

        self.menuL = self.mainMenu

        self.lock = e32.Ao_lock()
        screen = ui.app.layout(ui.EScreen)[0]

        self.width = screen[0]
        self.height = screen[1]
        self.img = ph.Image.new((self.width, self.height))
        self.background = ph.Image.new((self.width, self.height))
        self.bgcolor = 0xeeeeee
        self.selectedColor = 0xbbbbbb
        self.background.clear(self.bgcolor)
        self.x = -1
        self.y = 0
        self.baseCornor = 5
        self.newsCornor = 2
        self.SlideHeight = 80
        self.SlideWidth = self.width - self.baseCornor * 2
        self.newsHeight = 60
        self.newImgHeight = self.newsHeight - self.newsCornor * 2
        self.newImgWidth = int(self.newImgHeight / 0.75)
        self.loadingImg = ph.Image.open(mypath + "image_loading.jpg").resize(
            (self.newImgWidth, self.newImgHeight))
        self.articleContent = ""
        self.maskImg = Image.new(screen, "L")
        self.maskImg.clear(0x888888)
        self.deepMaskImg = Image.new(screen, "L")
        self.deepMaskImg.clear(0x333333)

        self.newsWidth = self.width - self.baseCornor * 2
        self.SlideIndex = 0
        self.nowtime = 0
        self.__canvas = ui.Canvas(self.__redraw, self.key)
        ui.app.body = self.__canvas
        self.imgOld = Image.new(screen)
        self.startUpImg = ph.Image.open(path)
        self.img.blit(self.startUpImg)

        itnet.newImgHeight = self.newImgHeight
        itnet.newImgWidth = self.newImgWidth
        itnet.SlideHeight = self.SlideHeight
        itnet.SlideWidth = self.SlideWidth
        self.allForm = AllForm()
        self.menuIndex = 0
        self.minMenuWidth = 0
        self.menuHeight = 35
        # 是否在刷新界面
        self.isRefush = 0
        # 文章最顶部高度
        self.articleMinIndex = 5
        # 文章index
        self.articleIndex = self.articleMinIndex
        # 文章上下走动的step
        self.articleStep = 60
        self.articleMinStep = 10
        self.articleMaxIndex = self.height + self.articleStep
        self.tempImg = ph.Image.new((1, 1))
        self.menuSpeed = 40
        self.RunningForm = self.allForm.loading
        self.drawAsyncLoad(10)
        self.newsList = itnet.getNewList()
        self.SlideList = itnet.getSlide()
        self.fontSizeCache = {}
        self.slideChangeThread = e32.Ao_timer()
        #self.refushListThread = e32.Ao_timer()
        self.genMenuList()
        self.lastRunningForm = self.RunningForm
        self.lastX = self.selectedIndex - 1
        itnet.loadImg()
        self.AsyncLoad()
Exemple #6
0
                elif menu_choice == CHALLENGER_MODE:
                    log("Entering Challenger Mode")
                    sock = client_socket()
            except:
                log("There's been an error in bluetooth selection")

            ui.setWaiting(False)

            if sock:
                fight(menu_choice, sock)
            else:
                log("No valid bluetooth socket selected")

    quit_app()

except:
    import appuifw
    import sys
    import traceback
    import e32
    exitlock = e32.Ao_lock()

    def exithandler():
        exitlock.signal()

    appuifw.app.exit_key_handler = exithandler
    appuifw.app.menu = [(u"Exit", exithandler)]
    print "\n".join(traceback.format_exception(*sys.exc_info()))
    exitlock.wait()
    appuifw.app.set_exit()
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

import e32
from pyaosocket import AoResolver

myLock = e32.Ao_lock()
count = 0
cont = None
rsv = AoResolver()

def cb(error, mac, name, dummy):
    global count
    global cont
    if error == -25: # KErrEof (no more devices)
        print "no more"
        cont = None
    elif error:
        raise
    else:
        count += 1
        print repr([mac, name, count])
Exemple #8
0
class MobilApp:
    """MyApp class doc string"""
    app_lock = e32.Ao_lock()
    timer = e32.Ao_timer()

    def __init__(self):
        self.old_title = app.title
        self.old_screen = app.screen
        self.old_menu = app.menu
        self.old_exit_key_handler = app.exit_key_handler

        self.s = None  # not connected yet

        self.startup()

    def connect(self, addr, channel):
        """ Connects to a remote device on selected channel. """
        import socket
        try:
            self.s = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
            self.s.connect((addr, channel))
            return True
        except:
            return False

    def close_connection(self):
        """ Disconnect from remote device if it is connected. """
        if self.s:
            self.s.close()
            self.s = None
            return True
        else:
            return False

    def startup(self):
        return

    def shutdown(self):
        return

    def handle_keyboard_splash(self, event):
        self.app_lock.signal()

    def show_splash(self, filename, timeout=0):
        img = Image.open(filename)
        old_screen = app.screen
        old_body = app.body
        app.screen = 'full'
        if timeout == 0:
            app.body = Canvas(event_callback=self.handle_keyboard_splash)
        else:
            app.body = Canvas()

        app.body.clear(0)
        app.body.blit(img)

        e32.ao_yield()

        if timeout == 0:
            self.app_lock.wait()
        else:
            self.timer.after(timeout)

        app.screen = old_screen
        app.body = old_body

    def exit_key_handler(self):
        app.exit_key_handler = None
        self.app_lock.signal()

    def run(self):
        app.exit_key_handler = self.exit_key_handler
        self.app_lock.wait()
        self.shutdown()
        app.title = self.old_title
        app.screen = self.old_screen
        app.menu = self.old_menu
        app.exit_key_handler = self.old_exit_key_handler
Exemple #9
0

appuifw.app.title = (cn('记事本'))

m.set(cn('\n\t小小菜鸟\n'))
m.add(cn("\t学Py编程"))


def read():
    file = powlite_fm.manager().AskUser(ext=[".txt"])
    if file == None:
        appuifw.note(cn('打开失败!'), 'error')
    else:
        txt = open(file)
        text = txt.read().decode('utf-8')
        m.set(text)
        txt.close()
        appuifw.note(cn("读取成功!"), "conf")


appuifw.app.menu = [(cn('功能'), (
    (cn('打开'), read),
    (cn('写入'), txt),
)), (cn('菜单2'), (
    (cn('二级菜单'), menu1),
    (cn('哈哈'), menu1),
)), (cn('退出'), exit)]

appuifw.app.exit_key_handler = e32.Ao_lock().signal()

e32.Ao_lock().wait()
Exemple #10
0
import audio, e32

snd_lock = e32.Ao_lock()


def sound_callback(prev_state, current_state, err):
    if current_state == audio.EOpen:
        snd_lock.signal()


def playMP3():
    mp3 = audio.Sound.open("E:\\Sounds\\mysound.mp3")
    mp3.play(callback=sound_callback)
    snd_lock.wait()
    mp3.close()
    print "PlayMP3 returns.."


playMP3()
Exemple #11
0
# limit.py:
#   seperti yang telah kami sampaikan dalam file readme.txt jika kami kehilangan
#   kode sumber asli limit.py. Sedangkan file limit.py yang sedang Anda akses sa
#   at ini adalah file kode hasil decompile dari file limit.pyc.
#
#   Kode ini hanya digunakan sebagai rujukan saja!
#

import os
import e32
import appuifw
import key_codes
import sys

sys.setdefaultencoding('utf-8')
LIMITKERNEL = e32.Ao_lock()

whoami = ''
HOME = ''
ROOT = ''
SIGN = ''
hostname = ''
PROMPTS = ''

def LimitHalt():
    LimitPrint.add(u"\nType `halt' to exit")
    LimitConsole()

def LimitReboot():
    LimitPrint.add(u"\nType `reboot' to reboot")
    LimitConsole()
Exemple #12
0
 def run(self):
     self._set_list_body()
     self._script_lock = e32.Ao_lock()
     self._script_lock.wait()
class Engine:
    """Main class containing most of functions and variables"""
    # almost all fields of class Engine:
    # screensize, screenaspect
    running = 0  # 0-game not initialized or error happened, 1-game is running
    delay = 1.0  # pause between figure falls one more cube down
    canvas = None  # canvas for drawing
    #minx, maxx = -3, 3 # min and max coordinates for points
    #miny, maxy = -3, 3 # (but cubes must have coords less than max
    #minz, maxz = 3, 13 # (as there are n-1 gaps between n points))
    #dx, dy, dz=maxx-minx+1, maxy-miny+1, maxz-minz+1 # x,y,z dimensions. But the well is (dx-1)*(dy-1)*(dz-1) cubes
    #rx, ry, rz=range(minx,maxx+1), range(miny,maxy+1), range(minz,maxz+1)
    #points=array(GL_BYTE,3,[[x,y,-z] for z in rz for y in ry for x in rx]) # z needs to be actually negative because of glFrustumpf()
    #colortable=[((random.randrange(0x100)),(random.randrange(0x100)),(random.randrange(0x100)),0xff) for i in range(dz)]
    # colortable[i]=color used for all points with coord z=i
    #colors=array(GL_UNSIGNED_BYTE,4,[colortable[i] * (dx*dy) for i in range(dz)])
    lines = None  # initialised at initgraphics() as it needs method xyz2ind()
    cubes = None  # initialised at initgame(). cubes is a list of lists of lists of bool which shows is cube free
    # Use methods isfree() and setfree() rather than field cubes
    figure = [None,
              None]  #[Figure() for i in range(2)] # falling and next figures
    score = 0
    scoretable = (1, 10, 30, 60, 100)
    exit_type = 0  # 0-exit 1-restart 2-show score

    def __init__(self):
        if self.optionsmenu():
            self.initgraphics()
            self.initgame()

    def optionsmenu(self):
        """self.optionsmenu(self)->shows self.options menu which lets user to change self.options, returns True if user presses play"""
        self.old_body = appuifw.app.body
        self.old_exit_key_handler = appuifw.app.exit_key_handler
        self.path = 'c:\\Private\\' + UID + '\\'
        self.needsave = 0

        class OptionError(Exception):
            pass

        class Option:
            keynames = {
                kc.EKeyLeftArrow: 'влево',
                kc.EKeyRightArrow: 'вправо',
                kc.EKeyUpArrow: 'вверх',
                kc.EKeyDownArrow: 'вниз',
                kc.EKeySelect: 'OK',
                kc.EKeyStar: '*',
                kc.EKeyHash: '#',
                kc.EKeyYes: 'зеленая',
                kc.EKeyNo: 'красная',
                kc.EKeyLeftSoftkey: 'левый софт',
                kc.EKeyRightSoftkey: 'правый софт',
                kc.EKeyMenu: 'меню',
                kc.EKeyBackspace: '<-',
                kc.EKeyEdit: 'карандаш',
                0: 'нет клавиши'
            }

            def __init__(self,
                         title,
                         init,
                         lst=None,
                         func=lambda self: str(self.value)):
                self.title = title
                self.value = init
                self.lst = lst
                self.f = func

            def keyname(self):
                x = self.value
                if kc.EKey0 <= x <= kc.EKey9:
                    return str(x - kc.EKey0)
                if self.keynames.has_key(x):
                    return self.keynames[x]
                else:
                    return '#' + str(x)

        def play():
            self.running = 1
            lock.signal()

        def default():
            try:
                if os.path.exists(self.path + 'config.txt'):
                    os.remove(self.path + 'config.txt')
            except OSError:
                appuifw.note(u('Не вышло'), 'error')
            else:
                self.needsave = 0
                exit(1)

        def about():
            global version
            globalui.global_msg_query(
                u('3D Тетрис\nАвтор: Elrian\nВерсия: %s\nwww.dimonvideo.ru') %
                str(version), u('Об игре'), 0)

        def thanks():
            globalui.global_msg_query(
                u('''Спасибо всем следующим людям:\n\
Elrian - куда ж без меня:)\n\
motix и vlad007700 - за дельные советы и замечания;\n\
REDNBLACK.sk, werton, K.U, Abdolban, Drfss07, keytujd, maxel85, Ithan, atrant и всем остальным (чьи ники, к сожалению, не сохранились), \
писавшим в комментариях к версиям 1.0-3.2 - за предложения и поддержку;\n\
Всем, еще напишущим в комментарии к версиям >= 4.0 - за  помощь в улучшении программы;\n\
Всем, качавшим файл с http://www.dimonvideo.ru/smart/uploader/4/208942/0/0 - за тестирование;\n\
Неизвестному программисту, еще давно написавшему 3D Tetris под DOS - за идею тетриса в 3D;\n\
DimonVideo - за замечательный сайт;\n\
Гвидо Ван Россуму - за создание языка программирования Python \
(который вообще-то читается как "пайтон" и не имеет никакого отношения к змеям, а только к шоу Monty Python’s Flying Circus);\n\
Персонально ТЕБЕ - за то, что читал все эти благодарности'''),
                u('Благодарности'), 0)

        def exit(type=0):
            self.exit_type = type
            wanttoplay = 0
            lock.signal()

        def change():
            c = self.canvas.current()
            if self.cur_tab == 0:
                if c == 0:
                    r = appuifw.query(self.options[c].title, 'float',
                                      self.options[c].value)
                    if r != None:
                        if (0 <= r < 1.5):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Скорость должна быть в пределах:\n0<=v<1.5'
                                  ), 'error')
                elif c == 1:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (4 <= r <= 20) and (r % 2 == 0):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Ширина должна быть четной и в пределах:\n4<=x<=20'
                                  ), 'error')
                elif c == 2:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (4 <= r <= 20) and (r % 2 == 0):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Длина должна быть четной и в пределах:\n4<=y<=20'
                                  ), 'error')
                elif c == 3:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (4 <= r <= 20):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Глубина должна быть в пределах:\n4<=z<=20'),
                                'error')
            elif self.cur_tab == 1:
                appuifw.app.body = appuifw.Canvas(event_callback=catch_key)
                appuifw.app.body.clear(0)
                appuifw.app.body.text((5, 40),
                                      u('Нажми клавишу для:'),
                                      fill=0x00ff00)
                appuifw.app.body.text((40, 80),
                                      self.keyopt[c].title,
                                      fill=0xff0000)
                appuifw.app.body.text((5, 120),
                                      u('(не софткей и красную кнопку)'),
                                      fill=0x00ff00)
                appuifw.app.body.text((5, 160),
                                      u('Очистка через 3 секунды'),
                                      fill=0x00ff00)
                appuifw.app.set_tabs([], None)
                self.options[c].value = 0
                self.timer = e32.Ao_timer()
                self.timer.after(3, self.lock2.signal)
                self.lock2.wait()
                self.timer.cancel()
                appuifw.app.body = self.canvas
                appuifw.app.set_tabs(
                    [u('Игра'), u('Управление'),
                     u('Экран')], tab_cb)
                appuifw.app.activate_tab(self.cur_tab)
            elif self.cur_tab == 2:
                if c == 0:
                    orients = ['automatic', 'portrait', 'landscape']
                    r = appuifw.popup_menu([u(i) for i in self.options[c].lst],
                                           self.options[c].title)
                    if r != None:
                        try:
                            appuifw.app.orientation = orients[r]
                            self.options[c].value = r
                        except:
                            appuifw.note(
                                u('Смартфон не поддерживает смену ориентации!'
                                  ), 'error')
                elif c == 1:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (0 <= r <= 255):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Непрозрчачность должна быть в пределах от 0 до 255'
                                  ), 'error')
            self.needsave = 1
            self.canvas.set_list([(opt.title, u(opt.f(opt)))
                                  for opt in self.options], c)

        def catch_key(event):
            if event['type'] == appuifw.EEventKey:
                r = event['keycode']
                c = self.canvas.current()
                self.options[c].value = r
                self.lock2.signal()

        def tab_cb(n):
            self.cur_tab = n
            if n == 0:
                self.options = self.gameopt
            elif n == 1:
                self.options = self.keyopt
            elif n == 2:
                self.options = self.screenopt
            self.canvas.set_list([(opt.title, u(opt.f(opt)))
                                  for opt in self.options], 0)

        def saveoptions():
            # Why does most users have python 1.4.5? It doesn't even normally understand try-except-finally
            def x(s):
                return s.encode('utf-8')

            try:
                try:
                    f = open(self.path + 'config.txt', 'w')
                    f.write('\xef\xbb\xbf')  # BOM mark
                    f.write('3D Tetris configuration\n')
                    f.write('version/' + str(version) + '\n')
                    for opt in self.gameopt:
                        f.write('game/' + x(opt.title) + '/' + str(opt.value) +
                                '\n')
                    for opt in self.keyopt:
                        f.write('key/' + x(opt.title) + '/' + str(opt.value) +
                                '\n')
                    for opt in self.screenopt:
                        f.write('screen/' + x(opt.title) + '/' +
                                str(opt.value) + '\n')
                except:
                    appuifw.note(u('Настройки сохранить не удалось!'), 'error')
            finally:
                try:
                    f.close()
                except:
                    pass

        def loadoptions():
            # Why does most users have python 1.4.5? It doesn't even normally understand try-except-finally
            try:
                try:
                    f = open(self.path + 'config.txt', 'r')
                    s = f.readline()
                    if s[:3] == '\xef\xbb\xbf':  # BOM mark
                        s = s[3:]
                    if s != '3D Tetris configuration\n':
                        raise OptionError('Ошибка в заголовке')
                    s = f.readline()
                    if s.split('/')[0] != 'version':
                        raise OptionError('Не указана версия')
                    while 1:
                        s = f.readline()
                        if s == '':
                            break
                        else:
                            s = s[:
                                  -1]  # [:-1] is cool smile! Seriously I cut off \n
                        s = u(s)
                        p = s.split(u('/'))
                        if len(p) != 3:
                            raise OptionError('Не 2 слэша в строке')
                        if p[0] == u('game'):
                            self.options = self.gameopt
                        elif p[0] == u('key'):
                            self.options = self.keyopt
                        elif p[0] == u('screen'):
                            self.options = self.screenopt
                        else:
                            raise OptionError('Неизвестный префикс')
                        for opt in self.options:
                            if opt.title == p[1]:
                                break
                        else:
                            raise OptionError('Атрибут не найден')
                        try:
                            if p[2].find('.') == -1:
                                opt.value = int(p[2])
                            else:
                                opt.value = float(p[2])
                        except:
                            raise OptionError('Неверное значение')
                finally:
                    f.close()
            except OptionError, e:
                appuifw.note(u('Плохой файл настроек: %s\nИсправлено.' % e),
                             'conf')
                self.needsave = 1

        self.gameopt = [
            Option(u('Скорость'), 0.5),
            Option(u('Ширина'), 6),
            Option(u('Длина'), 6),
            Option(u('Глубина'), 10)
        ]

        self.keyopt = [
            Option(u('влево'), kc.EKeyLeftArrow,
                   lambda: self.figure[0].move(-1, 0, 0),
                   lambda self: self.keyname()),
            Option(u('вправо'), kc.EKeyRightArrow,
                   lambda: self.figure[0].move(1, 0, 0),
                   lambda self: self.keyname()),
            Option(u('вверх'), kc.EKeyUpArrow,
                   lambda: self.figure[0].move(0, 1, 0),
                   lambda self: self.keyname()),
            Option(u('вниз'), kc.EKeyDownArrow,
                   lambda: self.figure[0].move(0, -1, 0),
                   lambda self: self.keyname()),
            Option(u('опустить'), kc.EKeySelect,
                   lambda: self.figure[0].move(0, 0, 1),
                   lambda self: self.keyname()),
            #Option(u('скастовать магию'),     kc.EKeyBackspace, lambda:self.figure[0].move(0,0,-1),       lambda self:self.keyname()), # cheat!
            Option(u('вращать пр ч. стрелки'), kc.EKey1,
                   lambda: self.figure[0].rotate(4, 0, 2),
                   lambda self: self.keyname()),
            Option(u('вращать по ч. стрелке'), kc.EKey3,
                   lambda: self.figure[0].rotate(1, 3, 2),
                   lambda self: self.keyname()),
            Option(u('вращать вперед'), kc.EKey2,
                   lambda: self.figure[0].rotate(0, 5, 1),
                   lambda self: self.keyname()),
            Option(u('вращать назад'), kc.EKey5,
                   lambda: self.figure[0].rotate(0, 2, 4),
                   lambda self: self.keyname()),
            Option(u('вращать налево'), kc.EKey4,
                   lambda: self.figure[0].rotate(2, 1, 3),
                   lambda self: self.keyname()),
            Option(u('вращать направо'), kc.EKey6,
                   lambda: self.figure[0].rotate(5, 1, 0),
                   lambda self: self.keyname()),
            #Option(u('подстройка управления'),kc.EKeyBackspace, lambda:self.resetwell(),                  lambda self:self.keyname()),
            Option(u('камера пр ч. стрелки'), kc.EKey7,
                   lambda: self.rotatecam(+10.0, 0.0, 0.0, +1.0),
                   lambda self: self.keyname()),
            Option(u('камера по ч. стрелке'), kc.EKey9,
                   lambda: self.rotatecam(-10.0, 0.0, 0.0, +1.0),
                   lambda self: self.keyname()),
            Option(u('камера вперед'), kc.EKey8,
                   lambda: self.rotatecam(+10.0, +1.0, 0.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера назад'), kc.EKey0,
                   lambda: self.rotatecam(-10.0, +1.0, 0.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера налево'), kc.EKeyStar,
                   lambda: self.rotatecam(+10.0, 0.0, +1.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера направо'), kc.EKeyHash,
                   lambda: self.rotatecam(-10.0, 0.0, +1.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера сброс'), kc.EKeyYes, lambda: self.resetcam(),
                   lambda self: self.keyname()),
            Option(
                u('скриншот'), kc.EKeyEdit, lambda: graphics.screenshot().save(
                    'c:\\data\\Images\\3Dtetris' + str(random.randrange(
                        10000)) + '.jpg'), lambda self: self.keyname())
        ]

        self.screenopt = [
            Option(u('Ориентация экрана'), 0,
                   ['автоматически', 'портрет', 'ландшафт'],
                   lambda self: self.lst[self.value]),
            Option(u('Непрозрачн следующей'), 127)
        ]
        appuifw.app.screen = 'normal'
        lock = e32.Ao_lock()
        self.lock2 = e32.Ao_lock()
        appuifw.app.title = u('3D Тетрис. Настройки.')
        appuifw.app.set_tabs([u('Игра'), u('Управление'), u('Экран')], tab_cb)
        appuifw.app.menu = [(u('Играть'), play),
                            (u('Стандартные настройки'), default),
                            (u('Об игре'), about),
                            (u('Благодарности'), thanks), (u('Выход'), exit)]
        appuifw.app.exit_key_handler = exit
        try:
            if not os.path.exists(self.path):
                os.mkdir(self.path)
            if os.path.exists(self.path + 'config.txt'):
                try:
                    loadoptions()
                except e:
                    appuifw.note(u('Настройки загрузить не удалось!'), 'error')
            else:
                needsave = 1
        except:
            appuifw.note(
                u('Ошибка при создании каталога ' + self.path +
                  '. Не будет загрузки/сохранения настроек!'), 'error')
        self.options = self.gameopt
        appuifw.app.body = self.canvas = appuifw.Listbox(
            [(opt.title, u(opt.f(opt))) for opt in self.options], change)
        self.cur_tab = 0
        appuifw.app.activate_tab(self.cur_tab)
        lock.wait()
        appuifw.app.set_tabs([], None)
        appuifw.app.menu = []
        if self.needsave:
            saveoptions()
        if self.running == 1:
            self.running = 0
            appuifw.app.screen = 'full'
            self.delay = 1.5 - self.gameopt[0].value
            self.maxx = self.gameopt[1].value // 2
            self.minx = -self.maxx
            self.dx = self.maxx - self.minx + 1
            self.rx = range(self.minx, self.maxx + 1)
            self.maxy = self.gameopt[2].value // 2
            self.miny = -self.maxy
            self.dy = self.maxy - self.miny + 1
            self.ry = range(self.miny, self.maxy + 1)
            self.minz = 3
            self.maxz = self.minz + self.gameopt[3].value
            self.dz = self.maxz - self.minz + 1
            self.rz = range(self.minz, self.maxz + 1)
            self.nextalpha = self.screenopt[1].value
            self.points = array(GL_BYTE, 3, [[x, y, -z] for z in self.rz
                                             for y in self.ry
                                             for x in self.rx])
            self.colortable = [
                ((random.randrange(0x100)), (random.randrange(0x100)),
                 (random.randrange(0x100)), 0xff) for i in range(self.dz)
            ]
            self.colors = array(GL_UNSIGNED_BYTE, 4, [
                self.colortable[i] * (self.dx * self.dy)
                for i in range(self.dz)
            ])
            self.triangles = [
                array(GL_UNSIGNED_SHORT, 3,
                      (i + self.dx * self.dy + 1, i + 1, i,
                       i + self.dx * self.dy, i + self.dx * self.dy + 1, i,
                       i + self.dx * self.dy + self.dx, i + self.dx * self.dy,
                       i, i + self.dx, i + self.dx * self.dy + self.dx, i,
                       i + 1, i + self.dx, i, i + self.dx * self.dy + self.dx,
                       i + self.dx, i + self.dx + 1, i + self.dx * self.dy +
                       self.dx + 1, i + self.dx * self.dy + self.dx,
                       i + self.dx + 1, i + self.dx * self.dy + 1,
                       i + self.dx * self.dy + self.dx + 1, i + self.dx + 1,
                       i + 1, i + self.dx * self.dy + 1, i + self.dx + 1,
                       i + self.dx, i + 1, i + self.dx + 1))
                for i in range(self.dx * self.dy * self.dz)
            ]
            #self.cubelines=[array(GL_UNSIGNED_SHORT,2,  [[j,j+self.dx] for j in (i,i+1,i+self.dx*self.dy,i+self.dx*self.dy+1)]+[[j,j+self.dx*self.dy] for j in (i,i+1,i+self.dx,i+self.dx+1)]+[[j,j+1] for j in (i,i+self.dx,i+self.dx*self.dy,i+self.dx*self.dy+self.dx)]  )for i in range(self.dx*self.dy*self.dz)]
            self.cubes = [[[False for i in range(self.dy - 1)]
                           for j in range(self.dx - 1)]
                          for k in range(self.dz - 1)]
            return True
 def quit():
     app_lock.signal()
     appuifw.app.exit_key_handler = quit
     app_lock = e32.Ao_lock()
     app_lock.wait()
Exemple #15
0
import appuifw, e32, camera

SCRIPT_LOCK = e32.Ao_lock()
IMG = None


def __exit__():
    stop()
    SCRIPT_LOCK.signal()


def start():
    camera.start_finder(vfCallback, backlight_on=1, size=(160, 120))
    appuifw.app.menu = [(u'Stop', stop), (u'Exit', __exit__)]


def stop():
    camera.stop_finder()
    cnvCallback()
    appuifw.app.menu = [(u'Start', start), (u'Exit', __exit__)]


def vfCallback(aIm):
    global IMG
    appuifw.app.body.blit(aIm)
    IMG = aIm


def cnvCallback(aRect=None):
    if IMG != None:
        appuifw.app.body.clear()
Exemple #16
0
#
#烟花
import appuifw
import e32
from random import randint as rd
import math
from graphics import *
from sysinfo import display_pixels
############
scr = display_pixels()
cath_lock = e32.Ao_lock()
appuifw.app.screen = "full"


def cn(x):
    return x.decode("utf-8")


running = 1
image = Image.new(scr)
image.clear(0)


###########
def handle_redraw(rect):
    if image: canvas.blit(image)


canvas = appuifw.Canvas(event_callback=None, redraw_callback=handle_redraw)
appuifw.app.body = canvas
 def __init__(self, methodName='runTest'):
     unittest.TestCase.__init__(self, methodName=methodName)
     self.lock = e32.Ao_lock()
     self.timer = e32.Ao_timer()
     self.async_request_failed = False
Exemple #18
0
 def __init__(self):
     self.script_lock = e32.Ao_lock()
     self.finder_on = 0
Exemple #19
0
# Sasank Reddy
# [email protected]
# -------------------

# This program is designed to get a sample of sound data from the phone.
# Then the program will get the power value from the sample.  Finally, this information
# will be logged to SensorBase.

import appuifw, e32, sys, os, struct, math, audio, time, sysinfo, urllib, httplib, thread, camera, graphics
from key_codes import EKeySelect
sys.path.append("E:\\Python")

appLock = e32.Ao_lock()

class imageTagger:

	def initTabs(self):
		self.imagerOn = 0
		contextTab = u'Context'
		imageTab = u'Image'
		tabList = [contextTab, imageTab]

		appuifw.app.set_tabs(tabList, self.handleTabs)
	
		# Some Extra Inits
		self.displayGUI()

	def handleTabs(self, tabIndex):
		if tabIndex == 0:
			if(self.imagerOn == 1):
				camera.stop_finder()
Exemple #20
0
    alue = currentAlue()
    appuifw.app.title = alue.nimi
    appuifw.app.body = asunnotListbox
    appuifw.app.menu = KMenuAlue

def asuntoObserver():
    asunto = currentAsunto()
    otsikko = unicode( asunto.numero ) + u" " + asunto.nimi()
    paivitaTapahtumaLista()
    appuifw.app.title = otsikko
    appuifw.app.body = tapahtumatListbox
    appuifw.app.menu = KMenuAsunto



APP_LOCK = e32.Ao_lock()
appuifw.app.title = unicode("Alueet")
appuifw.app.exit_key_handler = APP_LOCK.signal
appuifw.app.menu = KMenuAlueet

alueet = Alueet( sys.path[0] )
alueet.alusta()
alueLista = alueet.lue()
if len( alueLista ) < 1: alueLista.append( unicode( "Empty" ) )

tapahtumaEditori = appuifw.Text()
asunnotListbox = appuifw.Listbox( asuntoLista, asuntoObserver )
alueetListbox = appuifw.Listbox( alueLista, alueObserver )
tapahtumatListbox = appuifw.Listbox( tapahtumaLista )
#alueetListbox.bind( EScancode5, lambda:appuifw.note(u"Key 5", "info", 1) )
appuifw.app.body = alueetListbox
Exemple #21
0
 def __init__(self):
     appuifw.app.exit_key_handler = self.quit
     self.lock = e32.Ao_lock()
Exemple #22
0
 def __init__(self):
     self.lock = e32.Ao_lock()
     self.dir_stack = []
     self.__path__ = ''
     self.current_dir = ['C', 'E']
import appuifw as ui, e32, StringIO, os, zipfile, e32dbm, random, graphics
from sysinfo import display_pixels as scr
from topwindow import TopWindow
from ftplib import all_errors
app=ui.app;lk=e32.Ao_lock();
def u(u):
 try:u=unicode(u)
 except:u=unicode('!error!')
 return u
def replace_all(text, dic):
 for i, j in dic.iteritems():
  text = text.replace(i, j)
 return text

class Error(Exception):pass
class error_perm(Error):pass
class error_reply(Error):pass
all_errors = (Error, IOError, EOFError)
def T():return str(localtime().tm_hour)+':'+str(localtime().tm_min)+':'+str(localtime().tm_sec)
from StringIO import StringIO as tmpfile
from time import localtime, time
from stat import *
class file:
 def __init__(self, host=''):
  mode='a'
  if not os.path.exists('e:\\Python\\apps\\simon816\\ftpbrowser\\logs\\'+str(localtime().tm_yday)+'.log'):mode='w'
  self.log=open('e:\\Python\\apps\\simon816\\ftpbrowser\\logs\\'+str(localtime().tm_yday)+'.log', mode)
  #self.log=open('e:\\Python\\apps\\simon816\\ftpbrowser\\logs\\'+str(time())[:-2]+'.log', 'w')
  self.log.write('\r\n'+str(localtime().tm_yday)+'-'+T()+'\r\n')
  if host:self.connect(host)
  self.host=None
Exemple #24
0
 def __init__(self):
  self._lock=e32.Ao_lock()
  self._active=self.get_screen()
  self._active.exit=self._lock.signal
Exemple #25
0
        pass

    def show(self):
        self.MainForm.run()
        self._redraw()

    def _redraw(self):
        self.MainForm.img.blit(self.MainForm.getPaintImg())
        self.redraw()

    def redraw(self):  # 重绘界面
        if (self.allForm.RunningForm == self.allForm.splash):
            self.allForm.setSplashPanel()
            self.MainForm.img.blit(self.MainForm.getPaintImg())
        elif (self.allForm.RunningForm == self.allForm.login):
            self.allForm.setLoginPanel()
            self.MainForm.img.blit(self.MainForm.getPaintImg())
        elif (self.allForm.RunningForm == self.allForm.logining):
            self.allForm.setLoginingPanel()
            self.MainForm.img.blit(self.MainForm.getPaintImg())
        elif (self.allForm.RunningForm == self.allForm.friendlist):
            self.allForm.setFriendListPanel()
            self.MainForm.img.blit(self.MainForm.getPaintImg())
        self.__redraw()


qqUi = QQUi()
qqUi.TitleName = cn("PYQQ")
qqUi.show()
e32.Ao_lock().wait()
            RECEIVED = 0

    if GENERR != 1:
        try:
            f = open(u'c:\\downloaded.html', 'w')
            f.write(msg)
            f.close()
#            lmsg = "\nother file operations"
#            LF.write(lmsg)    
        except:
            pass

#    LF.close()
    del aSocket
    del aSSrv
    lock.signal()

sync = e32.Ao_lock()
thread.start_new_thread(thread_func, (sync,))
sync.wait()
print "\ndone"
try:
    content_handler = appuifw.Content_handler()
    r = content_handler.open(u'c:\\downloaded.html')
    if r != u"OK":
         appuifw.note(r, "info")
except:
    print "couldn't open data received"


# imort appuifw and the e32 modules
import appuifw
import e32

# define an exit handler
def exit_key_handler():
    app_lock.signal()
 

# create the "callback functions" for the application menu 
def item1():
    appuifw.note(u"Foo", "info")

def item2():
    appuifw.note(u"Outch", "info")


# create an active object
app_lock = e32.Ao_lock()

# create the application menu include the selectable options (one, two)
# and the related callback functions (item1, item2) 
appuifw.app.menu = [(u"one", item1),
                    (u"two", item2)]


appuifw.app.exit_key_handler = exit_key_handler

# start a scheduler
app_lock.wait()
 def __init__(s):
     s.AOLOCK = e32.Ao_lock()
Exemple #29
0
    sv_loop.open()
    sv_loop.start()

    sv_loop.close()
    sv_socket.close()
    ac_socket.close()
    sv_socket_serv.close()

    tell("server now all done, releasing main thread")
    thread_finish_logging()
    main_lock.signal()


tell("(main thread)")

sv_blocker = e32.Ao_lock()
sv_thread = start_thread(target=sv_thread_func,
                         name="server-thread",
                         args=(sv_blocker, ))
tell("started server thread")
time.sleep(3)

tell("waiting for server")
sv_blocker.wait()

tell("all done")

# --------------------------------------------------------------------

appuifw.app.title = old_title
thread_finish_logging()
 def __init__(self, methodName='runTest'):
     unittest.TestCase.__init__(self, methodName=methodName)
     self.lock = e32.Ao_lock()
     self.timer = e32.Ao_timer()