Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Pythonista How do I open a URL stream?
-
In preference, the scene look runnable. The size and position is editable.
-
Does anyone know how to solve my problem?
-
@Simdvo, my code was just replacements for the same parts in your code, not runnable as is.
-
@Simdvo, here’s the full code for your convenience:
from scene import * import sound import random import math import webbrowser import ui A = Action class MyWebView(ui.View): def __init__(self, url, scene): scene.view.add_subview(self) self.touch_enabled = False self.frame = scene.view.bounds self.wv = ui.WebView(flex='WH') self.wv.frame = (10,50,350,250) self.add_subview(self.wv) self.wv.load_url(url) class MyScene (Scene): def setup(self): self.buttonl = SpriteNode('iob:arrow_left_b_256') self.buttonl.position = (70, 150) self.buttonl.scale = 0.7 self.add_child(self.buttonl) self.buttonr = SpriteNode('iob:arrow_right_b_256') self.buttonr.position = (300, 150) self.buttonr.scale = 0.7 self.add_child(self.buttonr) self.buttonf = SpriteNode('iob:arrow_up_b_256') self.buttonf.position = (185, 300) self.buttonf.scale = 0.7 self.add_child(self.buttonf) self.buttonh = SpriteNode('iob:arrow_down_b_256') self.buttonh.position = (70, 400) self.buttonh.scale = 0.7 self.add_child(self.buttonh) self.buttons = SpriteNode('iob:close_circled_256') self.buttons.position = (310, 410) self.buttons.scale = 0.5 self.add_child(self.buttons) def did_change_size(self): pass def touch_began(self, touch): for touch in self.touches.values(): if touch.location in self.buttonl.bbox: webbrowser.open("http://192.168.1.160/links") print("links") if touch.location in self.buttonr.bbox: webbrowser.open("http://192.168.1.160/rechts") print("rechts") if touch.location in self.buttonf.bbox: webbrowser.open("http://192.168.1.160/forne") print("forne") if touch.location in self.buttons.bbox: webbrowser.open("http://192.168.1.160/stop") print("stop") if touch.location in self.buttonh.bbox: webbrowser.open("http://192.168.1.160/zuruck") print("zurück") def touch_moved(self, touch): pass def touch_ended(self, touch): webbrowser.open("http://192.168.1.160/stop") if __name__ == '__main__': scene = MyScene() run(scene, show_fps=False) wv = MyWebView('https://forum.omz-software.com', scene)
-
Thank you the code works perfectly. But I have one last question does someone know how to send values to an URL? (post)?
-
@Simdvo, do you need it for the movement commands or the camera stream?
-
Yes I want to try if it is faster than the way I'm using now.
-
@Simdvo something like
import json import requests payload1 = '...' payload2 = '...' payload3 = '...' url = 'https://......' # value1,value2,value3 are reserved words in the webhook service payload = {"value1" : payload1, "value2" : payload2, "value3" : payload3} headers = {'content-type': 'application/json'} print(json.dumps(payload)) post = requests.post(url, data=json.dumps(payload), headers=headers)
-
requests.post(url, data=json.dumps(payload), headers=headers)
requests.post(url, json=payload, headers=headers)
-