Escolar Documentos
Profissional Documentos
Cultura Documentos
WEB ESPECIALIZADA EN SEGURIDAD DE REDES - SOFTWARE FORENSE Y CONTROL A DISTANCIA PROGRAMACIN EN LENGUAJES DE ALTO NIVEL - SOFTWARE POLICIAL Y BIOMETRICS SISTEMAS I/O AVANZADOS DE ALTO NIVEL sykrayo@hotmail.com
BitPim
Un aplicacin enPitn
Roger Binns
rogerb@rogerbinns.com
bitpim.org
Motivacin
bitpim.org
un nmero
productslimited
Soporte del telfono Tickbox ' Agenda slo Slo para Windows Licencias sola mquina Caprichos estpidos
bitpim.org
Yo
lata
bitpim.org
75000 70000 65000 60000 55000 50000 45000 40000 35000 30000 25000 20000 15000 10000 5000 0
03 de marzo 03 de abril 03 de mayo 03 de junio 03 de julio 03 de agosto 03 de septiembre 03 de octubre 03 de noviembre 03 de diciembre 04 de enero 04 de febrero 04 de marzo 04 de abril 04 de mayo 04 de junio
Popularid ad
bitpim.org
Scale
de Pitn descripcin
de
500 lneas
de
C/C++
bitpim.org
Specifications
allfeatures
como como
multiplataforma
Interopere
conotros
bitpim.org
datos fuentes
Specifications
-
bitpim.org
More specs
Dejar
-
otros
jointhe
partido
El cdigo abierto Capaz de aadir otros telfonos Slo tiene UI donde ningn otro programa hace
Ser programas
possibleto
pluginto otros
Usuar No cuid qu idioma usted ios hace ar utiliza r r No cuid howharditisto escribir Usuar hace ar Usuar No cuid qu desarrollo ios r ios hace ar metodologa ustedutilizar
bitpim.org
que su
Objetivos, no tareas
bitpim.org
I care
Yo
-
Yo
-
Productiva!
bitpim.org
Activo comunidad
Python!
(Y algunas bibliotecas de Python)
bitpim.org
Gui options
Tkinker
-
El mnimo comn mltiplo Dibuja los widgets s Experiencia previa desagradable Estancado Alta funcionalidad comn No es de cdigo abierto en Windows Dibuja los widgets s
bitpim.org
Qt
-
Gui options
GTK
-
wxWidgets / wxPython
-
Utiliza los widgets nativos siempre que sea posible Comunidad muy activa Experiencia previa Pleasant
bitpim.org
Distribution
Tiene a aparecer "normal" aplicacin en cada plataforma
como un
Dos pasos
-
bitpim.org
Freezing
Rena allPython mdulos, binario modulesandPython interpretter Anddata filesyou especificar Stub Launcher
-
Cargas Python interpretter Establecer ruta para los mdulos binarios Cargue cdigo Python de archivo (. Zip)
no
Freezing
necesidad para la instalacin
bitpim.org
Ventanas - py2exe
-
Linux - cx-Freeze
Strip rpath de wxPython bibliotecas compartidas
-
Mac - BundleBuilder
-
bitpim.org
Ventanas - InnoSetup
-
Mac - dmg
-
bitpim.org
Linux - RPM
-
Archivos fuera del camino, shell script lanzador Icono Men $ LD_LIBRARY_PATH (cx-Freeze puede hacer esto para usted)
bitpim.org
Mac 58
Linux139
bitpim.org
Serial Ports
pyseriallibrary
-
De Windows (win32all) Linux y Mac (POSIX) Interface No sabe / se preocupan por plataforma
Completo funcion
Las tarifas de datos Control de flujo
bitpim.org
Serial Ports
-
bitpim.org
bitpim.org
bitpim.org
Months of fun!
Diferente en Win9x, Win2k, WinXP Buen detalle (drivers, fechas, etc) Nodos de dispositivo en diversos directorios Kernel module asociado con los principales Nodos de dispositivo en un directorio / Dev Ninguna otra informacin
bitpim.org
Linux
-
Mac
-
USB
iseasy acceso en cdigo
Aka Python / Cintegration LibusbprovidesgoodUSB Ventanas, Linux andMac SWIGgenerates Pitn envolviendo C/C++ Idioma
neutralbutbest
en Pitn
bitpim.org
SWIG
SWIGisrealmente bueno Tiene un goodjobwithraw C / C + + encabezamiento Es actuallysimpler de itseems Lata pickupcues de nombres de parmetros (Fomentar la Ejecutores Clibrary!)
-
Cadenas binarias
bitpim.org
Quin Datos
-
Globalpointers
Puede necesitar C + + contador de referencia Proporcionar capa Pythonic
bitpim.org
Pobre
-
Multi-tasking
thingsatla
Esperando caso GUI Hablando con dispositivo Hablando con la red Impulsado Evento Enhebrado
Dos enfoques
-
bitpim.org
Event driven
Twisted / asyncore Balanza bien Harder a write ("insideout") Cada biblioteca tiene mismo manera a trabajar la
bitpim.org
Threading
bitpim.org
Enhebrado Decouplethreads (Anddata) como tanto como posible wxPython eventloopintegrates Utilizar SendMessages bien Queue.Queue a
OnGetFileResults definicin (auto, datos): ... def makeCall (self, callfunc, resargs): self.queue.put ( (Callfunc, resultfunc,resargs)
bitpim.org
camino,excepcin,
args, args, )
resultfunc,
resultado = excepcin = Ninguno callfunc, args, resultfunc, resargs = queue.get () Sugerencias de bsqueda: resultado = callfunc (* args) con excepcin de: excepcin = sys.exc_info () [1] wx.PostEvent (RESULT_EVENT, (Resultfunc, resargs, excepcin, resultado))
bitpim.org
Threading y TRAGO
/ / Acuerdo con los datos que se devuelven int usb_bulk_read_wrapped (usb_dev_handle * dev, ep int, char * bytesoutbuffer, int * bytesoutbuffersize, int timeout) { int res; Py_BEGIN_ALLOW_THREADS res = usb_bulk_read (dev, ep, bytesoutbuffer, * bytesoutbuffersize, tiempo de espera); Py_END_ALLOW_THREADS if (res <= 0) * Bytesoutbuffersize = 0; ms * Bytesoutbuffersize = res; volver res; }
bitpim.org
Threading de trampas
Pitn
-
doesn'thave hilo
prioridades
Tampoco los marcos evento impulsado Tienen que sondear variables Utilice setDaemon para llamadas de bloqueo (por ejemplo, aceptar)
Cannotinterruptahilo
-
bitpim.org
Threading techniques
Aseveraciones
-
contra thread.get_ident () Reenviar solicitudes para corregir hilo La agrupacin de subprocesos De cheques
bitpim.org
Outlook
Si usted lata hacer iteasily de VB, usted lata hacer iteasily de Pitn (Win32all) Dynamicmodule generacin atruntime (En cach) makepy lata generar staticmodule Binariodistribucin favorece ltimo
bitpim.org
Outlook - code
importacin outlook_com app = outlook_com.Application () mapi = app.GetNamespace ("MAPI") = contactos mapi.GetDefaultFolder (constants.olFolder) para i en range (len (contacts.Items)): item = contacts.Items [1 + i] imprimir item.FullName imprimir item.MobileTelephoneNumber
bitpim.org
Evolution
dbfiles (bsddb
ebook api
-
bitpim.org
vCards
No madura Pitn
vCardmodules
Ninguna fuente de datos implementsvCards correctamente de todos modos 530 lneas vFileparser para datos andvCard convertidor
Wisdom
Utilizar la alto levellanguage usted lata pagar, aunqueusted tener a writeit mismo
-
La intencin no aplicacin
Protocol description
Cada fieldissome
-
nmero debytes
los
Protocol Requirements
* RESPONSEHEADER encabezamiento 1 UINTlsb blockcounter 1 BOOL thereismore * STRING nombre SI thereismore 4 UINTlsb tamao del archivo 2 UINTlsb DataSize * DATOSdatos
bitpim.org
Description language
tokenizemoduleto
protocoldescription generado
Description language
-
bitpim.org
Protocol example
PAQUETE foobarrequest: "a comentario " * RequestHeader {'Comando': 0x04} + Header 1 UINT {'Constante': BlockNumber si self.blocknumber == 0: * STRING {'Terminator': 0, 'Pascal': Verdadero} nombre de archivo * LISTA{'ElementClass': marcacin rpida} + Speeddials 0} +
bitpim.org
Protocol Visualisation
bitpim.org
Dicts
-
Keys
Orden
Las listas de los adictos
-
SQLite Tbano
bitpim.org
bitpim.org
Versiones de Datos
si versin == 1:
3 si son
versin == 3: feliz
... hacer
bitpim.org
Programa r hacer c
Archivo patentada de HTML compilado Archivo ZIP de HTML Produce tanto Preprocessor
bitpim.org
wxWidgetshelp
-
HelpBlocks
-
Usuario doc
Web sy te o
Troubleshooting
Capturingexceptions
-
originaltraceback
ex.original_exception = sys.exc_info ()
bitpim.org
Secure remoting
As son excepciones
Choices
XML basado
-
XML-RPC
<? Xml version = '1 .0 '> <methodCall> <methodName> aadir </ para> <params> <param> <valor> <int> 1 </ int> </ value> </ Param> <param> <valor> <int> 2 </ int> </ value> </ Param> </ Params> </ MethodCall>
XML-RPC
Fallos)
Attempt 1
autenticacin http
-
Cada solicitud
X.509 certificados
Attempt 2
Auto-remoting methods
getattr llam
a invocarwithargs
ar
de
str
Auto-remoting methods
Impresi n
Automtico de caudal Uso de plantillas Fcil de previsualizacin wx.Html carece de hojas de estilo
Publish/Subscribe
Tener cuidado
Weakrefs
Debugging
Printstatements
-
Do early
Registro de transacciones
Tener un Utilizar
posicin en
bitpim.org
I18N/L10N
Pitn
idioma
acceso usb
HelpBlocks Ayuda TRAGO autora Python envoltorios GCC / MinGW C / C + + compiladores SourceForge Proyecto de alojamiento libusb/libusb-win32
bitpim.org
paramiko ssh win32all API de Windows ffmpeg formato multimedia conversin InnoSetup Instalador de Windows py2exe Ventanas Python Congelacin cx-Freeze Linux congelacin
bitpim.org
Conclusin
Feliz Pitn
Proveedores Dotamatic
bitpim.org