Amaro
но у тебя в момент вызова Foo.bar() имя Foo еще не определено
Определено, конечно. Код же работает =) Скопипасть и посмотри.
Dmytro
Определено же...
Dmytro
Language: py3 Source: class Foo: @staticmethod def bar(): print('Oops') Foo.bar() Errors: Traceback (most recent call last): File "source_file.py", line 1, in <module> class Foo: File "source_file.py", line 5, in Foo Foo.bar() NameError: name 'Foo' is not defined
Dmytro
А, нет
Dmytro
Не работает
Alex
Определено, конечно. Код же работает =) Скопипасть и посмотри.
нет, ты ведь до этого тоже в этой же сессии класс Foo определял 😉
Amaro
нет, ты ведь до этого тоже в этой же сессии класс Foo определял 😉
Хорошо. Вот так сработает, но уже совсем не понимаю, зачем: class Foo: def bar(): print('Oops') bar()
🍁 Jaŭhien
class Foo: print("foooo")
Alex
tcp4 132 0 10.0.1.102.8000 209.17.96.250.37256 CLOSE_WAIT
у тебя сокет в состоянии CLOSE_WAIT висит.
Alex
посмотри какой процесс его держит lsof -nP -i4TCP:8000
Sergey
MacBook-Pro:~ alien$ lsof -nP -i4TCP:8000 lsof: WARNING: can't stat() smbfs file system /Volumes/com.apple.TimeMachine.Бэкапы-903E25B7-496D-4E1A-A8AA-89F7CBE6D1EF Output information may be incomplete. assuming "dev=3400007c" from mount table COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dns-sd 85225 alien 3u IPv4 0xc7a792407983006f 0t0 TCP *:8000 (LISTEN)
Sergey
bonjour сервис
Alex
воу, так а как ты собрался запускать свой http сервер на 8000 порту если его у тебя уже слушает dns-sd?
Sergey
это как раз он и есть
Sergey
короче если скрипт запущен нормально из терминала, то киляется он тоже нормально
Sergey
проблема только в скрипте запущенном из NStask... из приложения
Sergey
осталось найти в чем конкретно причина
Alex
проблема только в скрипте запущенном из NStask... из приложения
тогда опиши подробно схему взаимодействия
Sergey
схема достаточно простая, скрипт запускается из приложения с эмуляцией командной строки
Sergey
вот если он так запускается, то pkill его прибивает не до конца, т.е. сам скрипт перестает работать это 100% а вот сокеты провисают
Alex
на каком порту слушает? при чем тут dns-sd?
Sergey
скрипт перестает работать, потому что пока он работает, он пишет каждую секунду свое состояние, т.е. это я проверить могу
Sergey
он слушает на тех портах что я задаю 8000 в том числе был ))
Sergey
а dns-sd стартует дл того что бы сервер был виден через bonjour
Sergey
theArguments = 'dns-sd -R \'%s\' \'%s\' \'%s\' %s' % (name, '_http._tcp', '.', port)
Sergey
Sergey
))
Amaro
Sergey
по идее должны )
Sergey
у меня есть два скрипта ))
Sergey
один рабочий, второй я ковырял
Sergey
первый работает нормально и гасится тоже
Sergey
второй нет ))
Sergey
значит я что то упустил
Sergey
Sergey
вот этот скрипт рабочий, запустакется и выключается нормально
Alex
хрень какая. при чем тут подвисающие сокеты если у тебя dns-sd слушает тот же порт на котором ты пытаешься запускать свой http сервер
Anonymous
у меня есть в json строка вот такого вида: "name": "Школа мотокросса и эндуро "AURORA"", JSONDecodeError ругается на это! как мне экранировать нужные кавычки replace не покатит так как он все кавычки поменяет
Amaro
Это какой-то неправильный JSON
Sergey
я нашел причину почти )
Anonymous
регуляркой делать или есть что лучше ?
Anonymous
Anonymous
Это какой-то неправильный JSON
знаю, что не правильный, ну что ж делать то) надо спарсить стену
Dmytro
регуляркой делать или есть что лучше ?
Простой алгоритм ручками запилить
Dmytro
Там строк 20-30 будет
Tishka17
но можно например вот так class A: @staticmethod def foo(): print('foo') foo.__func__()
Только проще убрать один таб и просто вызывать
Alex
Ищу напарника, с кем поломать голову над Проектом Эйлера
Alex
А что это?
http://euler.jakumo.org/problems.html
Daniil
http://euler.jakumo.org/problems.html
Ого, интересно
Alex
Ого, интересно
Весьма! Надумаешь попробовать, прыгай в группу
Alex
Ого, интересно
Euler project python https://t.me/ru_euler_py
Alex
Vladislav
Парни, хелпаните сразу говорю что не про, начинающий, сильно прошу не хейтить def doSomething(): for obj in mset.getAllObjects(): if isinstance(obj, mset.CameraObject): print("Taking Screenshot!") mset.setCamera(obj) mset.exportScreenshot() print("perform screenshot") mset.shutdownPlugin() что я в этой жизни делаю не так ?
Vladislav
на двоеточик в конце фора и ифа
Vladislav
если я убираю сам def doSomething(); то работает, но я хз как потом на кнопку закинуть это
Vladislav
делать скрин
Vladislav
т.е. я вызываю скрипт и он делает скрин выделенной области, но пока до выделения области я не дошел, так что пока что просто скрин пытаюсь сделать
Vladislav
тема в том что в этом долбанном marmoset-е нельзя многое использовать, например tkinter, который бы очень помог\
Amaro
А doSomething на кнопку прицепляется?
Amaro
Ну. То есть мы определяем функцию, но не вызываем ее и на кнопку не прицепляем ни на какую? То есть она не работает, потому, что мы ее нигде и никак не вызываем?
Vladislav
аа...я не так тебя понял, эту фун-ию потом кидаю на кнопку\
Amaro
То есть без кнопки оно работает, а с кнопкой нет?
Amaro
И окошко с кнопкой закрывается при нажатии на нее?
Vladislav
ща кину скрин более подробный
Vladislav
import mset mywindow = mset.UIWindow("pipe") #this function will be called when we click the button def doSomething(): for obj in mset.getAllObjects(): if isinstance(obj, mset.CameraObject): print("Taking Screenshot!") mset.setCamera(obj) mset.exportScreenshot() print("You pressed a button!") #create a button, make it call doSomething when clicked scr_button = mset.UIButton("screen") scr_button.onClick = doSomething mywindow.addElement( scr_button ) close_button = mset.UIButton("Close") close_button.onClick = lambda: mset.shutdownPlugin() window.addElement(close_button) console opening image data/gui/control/lighticon.tga File "<string>", line 12 print("You pressed a button!") ^ IndentationError: unindent does not match any outer indentation level сча убрал все лишнее и чет не пошло
Artöm
Там 3 пробела в этой строке
Vladislav
вот это реально рофл...я удалил все лишнее чтобы показать, и скрин сделался (
Amaro
Вместо window.addElement(close_button) не должно mywindow.addElement(close_button) быть?
Vladislav
Тоже верно, я даже не заметил что еще одной кнопки нет, спасибо большое ! за это
Vladislav
может подскажете как сделать не фулл скрин, а только выбранной области ? ну что-то типо вырезать область
Amaro
Вот уж понятия не имею...
Vladislav
надо как-то додумать как сделать скрин выбранной области, и что-то типо маркера/карандаша чтоб рисовать
Vladislav
а то надоедает делать скрин, запиливать его в редактор и там все это делать...
Amaro
Смысл в том, что питон там используется каак скриптовый язык внутри приложения, поэтому есть только то, что дает mset. Если mset это умет - хорошо, если нет - плохо =) Надо читать доку на mset
Vladislav
я особо не проггер, и мне тяжело даеться дока по этому mset