• @wradcliffe, @Tizzy, in case I gave the wrong impression, I'm not attempting to make Pythonista itself a cross-platform development environment.

    My goal is to build a Python cross-platform app development tool, which uses Pythonista to provide cross-platform devs with better integration with iOS. Kivy doesn't seem to integrate well with iOS. For example, it does not look like I can embed a web browser on iOS using Kivy, and that's a necessary feature regardless of if I use it for UI or not, as I need to be able to load web content.

    Speaking more generally on cross-platform GUI and WYSIWYG, I've actually contributed to wxPython and wxWidgets, and I can tell you, the workload required to maintain a cross-platform GUI toolkit AND get a solid WYSIWYG tool going is a ton of work, and you're constantly playing catch up as the native platforms add new APIs and functionality. While I wish the Kivy project luck, my past experience says that chances are I'm going to quickly run into roadblocks with support for various native things I want to do. Part of my goal with PyEverywhere is to allow cross-platform Python development in a way that avoids this sort of issue.

    As for why HTML/JS/CSS, basically, since almost everyone uses a browser, browsers are the cross-platform GUI toolkits that get the most love by far, are highly performance optimized, and often have much of the device's native functionality exposed. Plus, there's lots of libraries and tools out there to help speed up development and add things like charts, games with sophisticated effects, etc. One of Python's big draws is the ability to pull in modules with lots of advanced functionality, and HTML/JS is the closest I've found to that on the UI side of things.

    Anyway, sorry for any misunderstandings! I guess I conflated "developing cross-platform UIs in Pythonista" and "developing cross-platform UIs using Pythonista" in my head when responding. :)

  • I definitely enjoyed!
    Thanks a lot for the script. It makes my day.

  • @briarfox. It's a great utility, I like it. I was hoping even that runpy might avoid the threading issues, but it seems not. This little test script has the same problems as if execfile or silent notifications were used. Its the current version of Pythonista though I think, not you.

    WhichThread.py

    import console # test which thread are we in... console alert not good in main ui thread console.alert('Test', button1 = 'OK', hide_cancel_button = True)
  • @ccc Glad it's useful! Any thank you for the pulls. a default sounds good. I'd say just name the control in the style/theme view by its name ex. label, button etc. Then if the ui that you are tying to style does not have a specific .name then use the default.

  • @brumm Yeah I've been playing with different ways to load multiple ui.Views. I've tried using a main view and loading others as a subview. I've tried a view controller that loads and manages the views. I'm just not sure what the preferable method is.

    I'm also unsure what the best way to create a custom view. Is it by using the Custom View Class in the editor(gain access to did_load etc.) or by making a class inherit from ui.view?

  • Nice. Yes, you definitely want AES instead of DES which was proven insecure long ago. A good summary of the history at http://stackoverflow.com/questions/5554526/comparison-of-des-triple-des-aes-blowfish-encryption-for-data

  • @omz that would do the trick.

  • Have you tried:

    import my_module reload(my_module)
  • #Update

    added pipista's version functionality added a simple ssh client - password auth only

    I added the ssh to allow working my git workflow from inside Pythonista

    #todo

    add public key auth to ssh client add sftp transfer to ssh client add dropbox sync plugin
  • Well I made a little work around action script. I created a site-packages folder and this script will all the contents to sys.path. Just click and run it to import modules

    <pre>
    import os
    import sys

    home = os.getenv('HOME')+'/Documents/site-packages/'

    modules = [home + name for name in os.listdir(home) if not home+name in sys.path]

    sys.path.extend(modules)
    </pre>

    @omz Thanks for the upcoming site-packages folder

  • I'm having an issue that maybe one of you has dealt with. When running in server mode on windows cmd the script finishes while the server should be running. This can be fixed with a raw_input() at the end. However, using raw_input in pythonista causes the sever to wait for a key press before processing the data.

  • @ccc great idea, Thank you.

  • @ccc Thanks for the links. Solved the problem.

Internal error.

Oops! Looks like something went wrong!