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
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()
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])
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
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()
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()
# 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()
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()
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()
# #烟花 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
def __init__(self): self.script_lock = e32.Ao_lock() self.finder_on = 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()
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
def __init__(self): appuifw.app.exit_key_handler = self.quit self.lock = e32.Ao_lock()
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
def __init__(self): self._lock=e32.Ao_lock() self._active=self.get_screen() self._active.exit=self._lock.signal
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()
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()