| 1 | #! -*- coding: iso8859-1 -*- |
|---|
| 2 | """ |
|---|
| 3 | Este archivo es parte de Pyragua |
|---|
| 4 | |
|---|
| 5 | Pyragua es software libre; lo puedes redistribuir y/o modificar |
|---|
| 6 | bajo los terminos de la Licencia Publica General (GNU GPL) como fue |
|---|
| 7 | publicada por la Free Software Foundation; cualquier versión 2 de la |
|---|
| 8 | Licencia. |
|---|
| 9 | |
|---|
| 10 | Este programa es distribuido con la esperanza de que será útil, |
|---|
| 11 | pero SIN GARANTIA ALGUNA; ni con la garantía explícita de |
|---|
| 12 | MERCABILIDAD o de que SERVIRA PARA UN PROPOSITO EN PARTICULAR. |
|---|
| 13 | Mire la Licencia Pública General de la GNU para más detalles. |
|---|
| 14 | |
|---|
| 15 | Debió recibir una copia de la Licencia Pública General de la GNU junto con |
|---|
| 16 | este programa; sino, escriba a la Free Software Foundation, |
|---|
| 17 | Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
|---|
| 18 | """ |
|---|
| 19 | |
|---|
| 20 | # Archivo de utilidades |
|---|
| 21 | # Pyragua |
|---|
| 22 | |
|---|
| 23 | import wx |
|---|
| 24 | # Para i18n |
|---|
| 25 | import gettext |
|---|
| 26 | gettext.install("pyragua",unicode=1) |
|---|
| 27 | _ = gettext.gettext |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | def MostrarError(padre,msg): |
|---|
| 31 | """Muestra un error al usuario""" |
|---|
| 32 | dlg=wx.MessageDialog(padre,msg,_("Error"),style=wx.ICON_ERROR) |
|---|
| 33 | dlg.ShowModal() |
|---|
| 34 | dlg.Destroy() |
|---|
| 35 | |
|---|
| 36 | def MostrarAviso(padre,msg): |
|---|
| 37 | """Muestra un aviso al usuario""" |
|---|
| 38 | dlg=wx.MessageDialog(padre,msg,_("Aviso"),style=wx.ICON_INFORMATION | wx.YES_NO) |
|---|
| 39 | if dlg.ShowModal() == wx.ID_YES: |
|---|
| 40 | dlg.Destroy() |
|---|
| 41 | return True |
|---|
| 42 | else: |
|---|
| 43 | dlg.Destroy() |
|---|
| 44 | return False |
|---|
| 45 | |
|---|
| 46 | def EliminarEOLS(cad): |
|---|
| 47 | """Recibe una cadena y la retorna sin saltos de línea""" |
|---|
| 48 | tmp="" |
|---|
| 49 | for c in cad: |
|---|
| 50 | if c not in ['\n','\r']: |
|---|
| 51 | tmp+=c |
|---|
| 52 | return tmp |
|---|
| 53 | |
|---|
| 54 | def EliminaTab(TabWidth, Path,Codificacion): |
|---|
| 55 | """Recibe el tamano del tab(En espacios), el path del archivo y su codificacion |
|---|
| 56 | Este metodo cambia las tabulaciones por espacios y coloca el fin de linea |
|---|
| 57 | dependiendo la arquitectura""" |
|---|
| 58 | text='' |
|---|
| 59 | arch=open(Path) |
|---|
| 60 | #Busco la arquitectura en la cual esta corriendo |
|---|
| 61 | if wx.Platform == '__WXMSW__': |
|---|
| 62 | FinLinea='\r\n' |
|---|
| 63 | elif wx.Platform == '__WXMAC__': |
|---|
| 64 | FinLinea='\r' |
|---|
| 65 | else: |
|---|
| 66 | FinLinea='\n' |
|---|
| 67 | for linea in arch.readlines(): |
|---|
| 68 | for palabra in linea: |
|---|
| 69 | if palabra in ['\n','\r']: |
|---|
| 70 | text+=FinLinea |
|---|
| 71 | break |
|---|
| 72 | if palabra=='\t': |
|---|
| 73 | for i in range(TabWidth): |
|---|
| 74 | text+=' ' |
|---|
| 75 | continue |
|---|
| 76 | else: |
|---|
| 77 | text+=palabra |
|---|
| 78 | continue |
|---|
| 79 | arch.close() |
|---|
| 80 | text=text.decode(Codificacion) |
|---|
| 81 | return text |
|---|