• jmv38

    @cvp actually it does work on the regular version.
    Not sure why i didnt see that before.
    Thanks.

    posted in Pythonista read more
  • jmv38

    @cvp thank you!
    when you say:

    Altough last version of Pythonista offers an easy way to add an home screen shortcut for an edited script

    do you mean the first link above?

    posted in Pythonista read more
  • jmv38

    @shinyformica hello!
    how do you make a homescreen shortcut to a pythonista script?
    thanks!

    posted in Pythonista read more
  • jmv38

    @cvp i have finished my first version of the program
    here https://gist.github.com/1b67ba85ca7bd7b23c7058216895372c
    this will:

    • let you choose an album xxxx
    • load the 200 first pictures
    • present them in a photopicker
    • from which you can build photo album pages (collage)
    • it creates 2 new albums:
    • xxxx_pages : the album pages
    • xxxx_pages_and_photos: as it says. useful to upload the album in photoweb printing service for instance
    • your own photos and albums are not modified

    to see how to use it tap ‘?’ button: it opens a youtube video that shows it in action.

    It is designed to work in lanscape mode
    let me know how it works for you.

    posted in Pythonista read more
  • jmv38

    @cvp you know what? it works with ORIGINAL
    looks like omz inverted TEMPLATE and ORIGINAL values
    thanks.

    posted in Pythonista read more
  • jmv38

    @cvp thanks.
    but it still doesnt work: now the button shows in gray, not white, and is not visible on my gray background.
    I wonder how to get it simply as it shows in the editor?

    posted in Pythonista read more
  • jmv38

    @cvp i am in the final polishing phase of my project.
    I have pb with button icons: they render in color when i want a gray rendering (the one shown in the editor).
    my code:

    img = ui.Image('iow:refresh_32').with_rendering_mode(ui.RENDERING_MODE_TEMPLATE)
        clear_button.image = img
    

    any suggestion?
    thanks.

    posted in Pythonista read more
  • jmv38

    @cvp i can understand what you feel: it is exactly what i thought the first time saw this! It took me several months to start to understand it, but once i did, bam!, it opened a huge box of possibilties because it made a complex project so much simpler. But I wont try to convert you, you’ll see for yourself as i use it in my project if you think it is usefull...
    Thanks.

    posted in Pythonista read more
  • jmv38

    @cvp here an example of a very simple event class i found on google and modified for my needs. I also added an example of usage.

    class EventHook(object):
    
        def __init__(self):
            self.__handlers = []
    
        def __iadd__(self, handler):
            self.__handlers.append(handler)
            return self
    
        def __isub__(self, handler):
            self.__handlers.remove(handler)
            return self
    
        def __call__(self, *args, **keywargs):
            for handler in self.__handlers:
                handler(*args, **keywargs)
    
        def clearObjectHandlers(self, inObject):
            for theHandler in self.__handlers:
                if theHandler.im_self == inObject:
                    self -= theHandler
                    
    if __name__ == '__main__':
      class Watcher():
          def __init__(self):
              self.incoming = EventHook()
              self.leaving = EventHook()
      
      class Greeter():
        def __init__(self,me):
          self.me = me
        def sayHello(self, name):
          print('{}: hello Mister {}'.format(self.me,name))
        def sayGoodbye(self, name):
          print('{}: goobye Mister {}'.format(self.me,name))
          
      class Maid():
        def __init__(self,me):
          self.me = me
        def sayHello(self, name):
          print('{}: hello Mister {}'.format(self.me,name))
        def sayGoodbye(self, name):
          if name != 'DSK':
            print('{}: goobye Mister {}'.format(self.me,name))
          else:
            print('{}: You f... s.. o. a b...!'.format(self.me))
      
      from console import clear
      clear()
      Isee = Watcher()
      deskMan = Greeter('desk man Georges')
      maid = Maid('maid Sandra')
      
      # make the connections:
      Isee.incoming += lambda name: print('\nM. {} is comming...'.format(name))
      Isee.incoming += deskMan.sayHello
      Isee.incoming += maid.sayHello
      
      Isee.leaving += lambda name: print('\nM. {} is leaving...'.format(name))
      Isee.leaving += maid.sayGoodbye
      Isee.leaving += deskMan.sayGoodbye
      
      # remove listener from the event
      
      # fire event
      Isee.incoming('Clinton')
      Isee.leaving('Clinton')
    
      
    

    posted in Pythonista read more
  • jmv38

    @cvp excellent! thanks.
    It is nice to have the function in a really small piece of code.
    I had to limit the number of photos because i have 1600 and that crashes my app. I’ll manage that.

    Another thing: for the interractions between panels i learned (from coding in Codea) that it is much easier to wire things together via a register/trigger message system. Do you have something available?

    posted in Pythonista read more

Internal error.

Oops! Looks like something went wrong!