×

Discussion Board

Results 1 to 12 of 12
  1. #1
    Registered User
    Join Date
    Feb 2005
    Location
    Belgium (Europe)
    Posts
    1,352

    Question How to edit a Python file on a mobile device serie 60 ?

    Hello everybody

    I 'm asking how to edit a python program file not on a PC but directly on the mobile phone !
    Until now I don't find any decent editor for changing the source code on my Nokia 6600 ! The only editor that I have found is Yedit (a very poor editor not very capable on Python source code ).
    Only one edit among a thousand applications serie 60 ...
    It's not normal not to find an editor when you can find dozens of editor on PC !
    Do you know some good editor ?
    I would like to have an editor like this the text viewer of ProfiExplorer from Lonely Cat ...

    Thank you for your answers

  2. #2
    Registered User
    Join Date
    Feb 2005
    Posts
    1
    YEDIT 2.50 - the best editor for text files in different encodigs.

  3. #3
    Registered User
    Join Date
    Jan 2005
    Posts
    7
    Why not write your own text editor in Python?
    With the Text widget taking care of the actual editing, it's quite easy.
    Here is the code for a tiny one including the minimal functions load, save and quit:

    Code:
    import appuifw
    import e32
    
    def load():
        app.body.clear()
        try:
            text = open(path).read()
            text = text.decode('utf8')
            app.body.set(text)
        except IOError:
            pass
    
    def save():
        text = app.body.get()
        text = text.encode('utf8')
        open(path, 'w').write(text)
    
    def quit():
        app.exit_key_handler = None
        lock.signal()
    
    lock = e32.Ao_lock()
    path = 'e:\\system\\apps\\python\\my\\test.py'
    app = appuifw.app
    old_title = app.title
    app.title = u'Test Edit'
    app.body = appuifw.Text()
    app.menu = [(u'Load', load), (u'Save', save), (u'Quit', quit)]
    app.exit_key_handler = quit
    load()
    lock.wait()
    app.title = old_title
    app.body = None

  4. #4
    Registered User
    Join Date
    Feb 2005
    Location
    Belgium (Europe)
    Posts
    1,352
    Hello ,

    Thanks for your idea :-)

    It works but it save into unicode but python don't accept Pythib source file in unicode :-(

    Could you help me ?


    Code:
    from appuifw import *           
    from e32 import *
    from key_codes import *
    import codecs
    
    
    
    
    
    class my_app:
       def single_text_query(self,string):
           a=query(string, 'text')
           if a is None:
               pass
           else:
               return a
    
       def display(self,t):
           if t is None:
               pass
           else:
               note(u""+ "\n" + t, 'info')
    
       def displaytitle(self,legend,t):
           if t is None:
               pass
           else:
               note(unicode(legend) + "\n" + t, 'info')
            
               
       def displayconf(self,t):
           if t is None:
               pass
           else:
               note(u""+ "\n" + t, 'conf')
    
       def __init__(self):
           self.script_lock = Ao_lock()      #needed for "active objects" (threads)
           self.filename = u'zz09.py'
           self.path =  u'e:\\system\\apps\\python\\my\\'
           self.pathf = self.path + self.filename
     
           
       def run(self):
           old_title = app.title
           app.title = u'Mini Edit UU'
           app.body = Text()
           app.menu = [(u'Set path',self.setpath),(u'Set filename',self.setfilename),(u'Clear', self.clear),(u'Load', self.loadc), (u'Save', self.savec),(u'Settings', self.settings), (u'Quit', self.quit)]
           app.exit_key_handler = self.quit
           self.script_lock.wait()
           app.title = old_title
           app.body = None
    
       def quit(self):
           app.exit_key_handler = None
           self.script_lock.signal()
    
              
    		
       def settings(self):
           self.displaytitle('default path :',self.path)
           self.displaytitle('filename :',self.filename)    
            
       def setpath(self):
           self.display(self.path)
           n = self.single_text_query(u'Enter path:')        
           if n is None:
               pass
           else:
               self.path = n
               self.pathf=unicode(self.path)+self.filename
               self.displayconf(self.pathf)
            
            
       def setfilename(self):
           self.display(self.filename)
           n = self.single_text_query(u'Enter filename:')
           if n is None:
               pass
           else:
               self.filename = n
               self.pathf=unicode(self.path)+self.filename
               self.displayconf(self.pathf)
            
    
       def clear(self):
           app.body.clear()
    
    
       def loadc(self):
           app.body.clear()
           (encoding,decoding,reader,writer) = codecs.lookup('UTF-8')
           try:
              input = reader(open(self.pathf,'rb'))
              app.body.set(input.read())
           except IOError:
              pass
    
       def savec(self):
           (encoding,decoding,reader,writer) = codecs.lookup('UTF-8')  
           output = writer(open(self.pathf,'wb'))
           output.write(app.body.get())
           
           
    
    #
    #  main program
    #
    if __name__ == '__main__':
      my_app().run()

  5. #5
    Registered User
    Join Date
    Mar 2004
    Posts
    1
    Problem seems to be with the end of line encoding. Try...

    Code:
    ...
       def savec(self):
           text= app.body.get().encode('utf8').replace("\xE2\x80\xA9","\x0D\x0A")
           open(self.pathf,'wb').write(text)
    ...
    Patchy, but seems to work ok (at least with my Nokia 7610)

  6. #6
    Registered User
    Join Date
    Feb 2005
    Posts
    1
    How I can make editor working that cyke64 posted? Should I copy text to "zz09.py" and transfer it to my phone? Or can it be named any way? Where to put it in phone?

  7. #7
    Registered User
    Join Date
    Dec 2004
    Posts
    18

    browse and edit

    Thank you guys for the editor code. I combined it with
    filebrowser.py that comes with the SDK. Now one can
    browse through all directories and edit/save/delete/move files.
    The option "move to c: " is for easier exchange with the
    desktop. Download at
    http://www.mathematik.uni-mainz.de/~...on/myeditor.py

    It does not need a default file as some previous code had.
    Browsing starts at c: but may be changed to the python directory.

  8. #8
    Registered User
    Join Date
    Feb 2005
    Posts
    18
    Scribble Pad v0.2 (stable) is available for download.

    Download Link
    1. http://www.geocities.com/mayank2cool...Pad-0.2.tar.gz

    How to install/run...
    1. Download Python for series 60 phones from here.
    2. Install Python for series 60 on your device.
    3. Copy ScribblePad.py to E:\System\Apps\Python\my\
    4. Run Python & chose to run a script, ie. ScribblePad.

    For any comments/suggestions, please mail at
    "mayank[dot]gnu[at]gmail.com"

  9. #9
    Regular Contributor
    Join Date
    Dec 2004
    Location
    Czech Republic
    Posts
    50
    First I used YEdit, but (I don't know what this problem caused) it couldn't save the file correctly. About every 200 characters it leaves out about 10 characters. So I had to insert empty comments very often(see http://www.gigahosting.cz/zen/bordel/yedit.jpg). That wouldn't be so bad, but when you insert any more code before the comments youi had to move it and so on...I tried to reinstall it (version 2.53 i think), but it didn't change anything.

    Anyway, that would be great editor, if it worked (to me).

    So I tried "myeditor.py". That was OK, but I'm working on an app that has got now about 15kB, and it was really difficult to orientate in this code. So I created modified version, I implemented several functions, like find and so on. Now my edited version is about 8kB (original has about 3-4kB).

    //EDIT: If someone wanted, I can upload my modded version

  10. #10
    Registered User
    Join Date
    Dec 2004
    Posts
    18
    In my opinion it would be fantastic if you could post your
    improved version of myeditor.py. In fact I was checking out ScribblePad today and find the editing of file paths excellent.
    On the other hand I miss the browsing feature. If we combine
    all 3 attempts this would give a nice tool. Would anyone like to do this?

  11. #11
    Regular Contributor
    Join Date
    Dec 2004
    Location
    Czech Republic
    Posts
    50
    Originally posted by mueller-stach
    In my opinion it would be fantastic if you could post your
    improved version of myeditor.py. In fact I was checking out ScribblePad today and find the editing of file paths excellent.
    On the other hand I miss the browsing feature. If we combine
    all 3 attempts this would give a nice tool. Would anyone like to do this?
    of course I could

    editor PY file:
    http://www.gigahosting.cz/zen/Python/myeditor_mod.py

    or you can download this, unpack to E:\System\Apps\, and you'll have standalone application running from menu. Maybe I'll pack it to SIS, but I am not able to do it now. And some icon could be also good, maybe I'll do it later.
    the link:
    http://www.gigahosting.cz/zen/Python/editor.zip

    I just have to say there might be some bugs. What have I added(fixed):

    - while listing files, try pressing the green key, you'll get to E:\System\Apps\Python\my . hope it'll work, I didn't know how to do it simply so I had to use the hardcore technique maybe someone will do it better
    - you can use the right arrow instead of pressing joystick (a little more comfortable for me) in file listing, I know, that's nothing significant, but that was my first edit when I didn't know Python so much as I do now and it was done just because the terrible boredom at school
    - ability to cycle in file listing, that's not fully functional yet

    editor:
    - "go to begin" added to menu, I think that's clear
    - "run py" now I realise that "execute py" could be better, and I think that's also clear. Just quickly executes the py without debugging. Works only when editor runs as standalone (or under Python, simply doesn't work when run by file manager running just straight myeditor.py), because otherwise myeditors runs under appmgr and the py would be executed under appmgr too, and there can't be two appmgrs
    - "find" added to menu as well, it is case insensitive, and remembers last search, but there are probably still some bugs (when not found)
    - try pressing the green key, there are some predeclared constructions, like def, generates " def ():\n \n" and so on

    maybe there are some more things what I've added, I can't remember everything just try. if someone continued developing this, I wouldn't be against, it would be great

  12. #12
    Registered User
    Join Date
    May 2005
    Posts
    3
    Zen: Sounding great! Your improvements could be very useful. I must try it as soon as possible. Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •