• I'm pretty sure you can only save in the same folder if you use iCloud. You'd create a folder in iCloud, which should appear to both apps.

  • It worked perfectly!!
    I really appreciate it! Thanks :)

  • @JonB
    understand! i think the just one way to solve this, it's develop a tool for get the real ip and openned doors from a domain or public ip. because utilizing the method gethostbyname('parameter') from lib sockets, maybe i'm wrong, but this method can't show the "real ip" from especified domain.

  • In the console

    import turtle, editor editor.open_file(turtle.__file__)

    This will let you see exactly how turtle was implemented in pythonista.

    Alternatively, here is a modified version that includes pen shapes.
    https://forum.omz-software.com/topic/5014/shape-method-for-turtle-py

  • Thank you. It can be a great alternative to my problem, you have my thanks @mikael.

  • import ui import time from random import choice class myclass(): def __init__(self): #self.v = ui.load_view('UIwithOtherName.pyui') self.v = ui.load_view() self.v.present('sheet') self.v.name = 'goapp' self.intro() self.key() def intro(self): self.v['textfield1'].text = "The Guitar Oracle is listening." time.sleep(2) def key(self): self.v['textfield1'].text = "Good bye." myclass()
  • Hi @reticulated, I'm quite sure omz is still working on Pythonista because I think it's tremendous (and not very smart) that such an application is abandoned. We should know that he knows this fact (I know he knows this fact).

    I'm happy when people help people with ideas, codes, examples, informations.
    You are talking about things too advanced for me, but I'm sure you are talking in order to give Pythonista more power.

    The nice and curious thing is to understand how to give more power to Pythonista without pretending that is omz to give it (that is without need to compile entire Pythonista for new releases).

    The best thing in my opinion is to give omz maximum freedom to decide when to give us new releases of his great app, and in the meantime people could continue to give more power to Pythonista, maybe with plug-ins development.

    Some ideas:

    to extend functions of code editor with find/replace, reformat, code folding... with one click to extend functions of file browser with find/replace for files and folders and content (with regex), zip compression, full properties on files and folders (size, last edited data, if file is editable or not, so I'd like to block some files or folder by editing them, ... ) to extend functions to link Pythonista to any computer for comfortable development of Pythonista/Python scripts using big pc keyboard (my iphone is little and to use WebIDE) we need a wifi shared, not always available, but maybe with bluetooth could be possible using only pure python libraries or scripts, to extend a possible free remote connection service/interface if you want to make calculations that require not-pure python libraries not present in Pythonista (scipy, pandas, etc..) and with a full and complete integration with the app environment (example: my script, to run, needs some scipy functions, ok, I write it in Pythonista and I execute the entire script with Pythonista interpreter, and only the code that requires scipy is executed by the server with full working input-output capabilities), to extend internal site-packages folder in order to be able to delete not used pure-python libraries, since we can reinstall them with pip (using StaSH for example).

    Thank you
    Regards

  • @inzel, you cannot find it in pip because it was made by omz, specifically for Pythonista, and thus it is both proprietary and fully dependent on iOS APIs.

    You can try and locate other libraries for other platforms – there’s surely something for webcams out there.

  • @jacobengland16, I use a simple script that uses SSH to send the whole working directory to Raspberry Pi. It then runs the code remotely on the Pi and displays the (textual) results.

    Very handy for when you develop on the iPhone, and want a very tight feedback loop for deployment and testing.

    Let me know if this is relevant and I will share the script.

  • Really impressive. I do not blog, but I am with you in the ”iPhone is my computer” sentiment.

    Do you have any shortcuts for when you just want to update the text of a single article?

  • Hi!

    I'm the guy who asked https://forum.omz-software.com/topic/4930/use-the-numeric-keyboard-easily

    I have posted there how to change the type of keyboard using the UI Designer. It's super easy (once you know how to do it. I had to ask Ole).

    I hope it helps.

    Javier

  • I think your Vampire init needs to look like

    def __init__(self, *args, **kwargs): super().__init__(self,*args, **kwargs) #now, override defaults with class specific data = { "strength": random.randint(14,18), "speed": random.randint(14,18), "intelligence": random.randint(14,18), "knowledge": random.randint(14,18) } for key,value in data.items(): setattr(self,key,value)

    Your Player class probably isnt doing what you expect -- for instance, you take a named strength argument -- which you ignore. Then, you apply kwargs, such as strength. Then you overwrite it with the default.

    Your approach seems very fragile -- do you want to enforce limits by class? In that case, each class should store the min/max limits, then attributes can be checked against those limits. Then you might simply have a roll() method that goes through each attribute, and randints between the limits -- i.e one loop, not fifty bazillion places where you call randint. less chance of errors.

  • @craigmrock Shift left the two def str and scale_steps, they are inside init

    legal_mode = [ "Ionian", "Dorian", "Phrygian", "Lydian", "Mixolydian", "Aeolian", "Locrian"] stepping = [2, 2, 1, 2, 2, 2, 1] major_mode = ["Ionian"] class Mode(): def __init__(self,title): self.title = title self.ismajor = title in major_mode tonic = legal_mode.index(title) self.stepping = stepping[tonic:]+stepping[:tonic] def __str__(self): return "Title: {}, Major{}".format(self.title, self.ismajor) def scale_steps(self): return "Half-steps{}".format(''.join(str(c) for c in self.stepping)) mode1 = Mode("Ionian") print(mode1) print(mode1.scale_steps()) mode2 = Mode("Dorian") print(mode2) print(mode2.scale_steps())
  • @ccc thanks, that cleared up one of the errors I was getting through experimenting.
    Craig

  • Perfect IT WORKS!!
    now the problem is how to deselect all :D but i can get to it!

  • @JonB You are the man. It was how I had flex set up.

  • Ah. Everything works now. Thank you!

  • If you look at the source code for pythonista s webbrowser module, it is based on UI.WebView. use a webview, which has a close method.

Internal error.

Oops! Looks like something went wrong!