
Маришка
17.08.2018
20:22:39
фтп? шта?
Я хз, у стима в параметрах запуска есть -ftp и -udpforce
Лол
И в описании сказано что они отвечают за тип соединения

Stanislav
17.08.2018
21:56:41

Google

ultranoise ?
18.08.2018
15:39:07

Milton
19.08.2018
00:48:37

Stanislav
19.08.2018
01:27:13
Да думаю предпосылки были, у пса же кукха поехала ещё давно

Igor
19.08.2018
02:53:53
https://www.youtube.com/watch?v=n-jVNxIhY6M

Alexey
19.08.2018
20:29:57
Можно спиздить этот охуенный скриншот? (-:

Zart
19.08.2018
20:30:10
мне пофиг

Alexey
19.08.2018
20:31:27
Ну нет так нет. 8-)

Dmitry
19.08.2018
20:31:57

Zart
19.08.2018
20:32:13
можешь этот

Dmitry
20.08.2018
03:57:25
Это у чувака на слово "силлогизм" так подорвало? Годно :)

Zart
20.08.2018
03:58:24
угу. люблю эту фразу когда кто-то делает два не связанных между собой утверждения

Google

ShadoWalkeR
20.08.2018
06:06:02
В общем я попробовал подход с миксинами и получил то же самое - в импортируемых классах недоступен import KSR на самом верхнем уровне:
import KSR
import ksr_request_route
class Kamailio(ksr_request_route)
Приводит все к той же ошибке:
File "/etc/kamailio/python/request_route.py", line 9, in ksr_request_route
KSR.info("test")
NameError: global name 'KSR' is not defined

Zart
20.08.2018
06:06:54
чо

ShadoWalkeR
20.08.2018
06:07:03
Напихать в каждый файл import KSR уже не кажется такой плохой идеей. Подход уродлив будет, но работать будет

Zart
20.08.2018
06:07:09
ээээ
т.е. у тебя нет импорт КСР и ругается на то что нет имени КСР?

ShadoWalkeR
20.08.2018
06:08:01
Нет. В файле где я собираю все импорты KSR доступен. А импорты его не наследуют получается

Zart
20.08.2018
06:08:08
чо
ты вобще другое просил

ShadoWalkeR
20.08.2018
06:09:04
Я методы класса выношу в отдельные файлы. Столкнулся с тем, что KSR в них недоступен. МНе посоветовали через миксины сделать
Собственно ничего не изменилось - в импортируемых вещах KSR все также недоступен

Zart
20.08.2018
06:13:52
был ksr.py:
class KSR:
def foo1(...):
...
def foo2(...):
...
как раздербанить на кучу мелких:
ksr/__init__.py:
from .foo1 import _Foo1Mixin
from .foo2 import _Foo2Mixin
from .foo3 import _Foo3Mixin
from .foo4 import _Foo4Mixin
class KSR(_Foo1Mixin,
_Foo2Mixin,
_Foo3Mixin,
_Foo4Mixin):
pass
ksr/foo1.py:
class _Foo1Mixin(object):
def foo1(...):
...
ksr/foo2.py:
class _Foo2Mixin(object):
def foo2(...):
...
юзеры как импортировали from ksr import KSR до, так будут импортировать и после
но сам класс при этом размазан по пачке файлов

ShadoWalkeR
20.08.2018
06:16:28
Ненене - KSR - это библиотека которую разрабы предоставили для взаимодействия с внутренними функциями камаилио. Мне нужно class Kamailio() распилить в котором внутри используются вызовы KSR

Zart
20.08.2018
06:17:00
тебе импорт кср придётся в каждый фуу совать
и я не вижу в чем проблема

ShadoWalkeR
20.08.2018
06:17:52
Я думал что раз файл импортируется, то он общается с глобалом того где он импортирован.

Zart
20.08.2018
06:18:34
директива
import foo
по факту аналогична
foo = __import__('foo', ...)

vlade11115
20.08.2018
06:18:52

Zart
20.08.2018
06:19:29
другими словами после того как механизм импорта один раз загрузил и распарсил тот foo, импорт превращается в обычное присваивание

Google

Zart
20.08.2018
06:19:52
from foo import bar к примеру это bar = foo.bar

Ilgiz
20.08.2018
09:12:49
Базовые классы представляют собой абстракции, позволяющие концентрироваться на общих атрибутах производных классов и игнорировать детали конкретных классов при работе с базовым классом.
Что тут имеется ввиду под словом Базовый класс, производный класс?

Zart
20.08.2018
09:13:52
обычное наследование

Ilgiz
20.08.2018
09:15:04
То есть класс Car является абстракцией если конктретный класс ElectricCar?
кажется понял ладно.

Zart
20.08.2018
09:16:30
ну т.е. базовый задает интерфейс и поведение
наследованные реализуют конкретные варианты

Konstantin
20.08.2018
14:24:47
Ребят, может ли кто дать совет. Я занимаюсь контекстной рекламой, и хочу некоторые процессы автоматизировать. Нужно написать приложение для работы с данными через API яндекса и гугла. Что мне начать учить в первую очередь?)

vlade11115
20.08.2018
14:33:53
С реквестов.

Konstantin
20.08.2018
14:37:08
Окей, уже возьму на заметку
Спасибо

ShadoWalkeR
21.08.2018
05:12:37
Господа, а подскажите еще такой момент - есть 2 функции ksr_route_INVITE и ksr_route_REGISTER.
Я могу как то конструкцию
if "INVITE" == method:
self.ksr_route_INVITE(msg)
elif "REGISTER" == method:
self.ksr_route_REGISTER(msg)
заменить на вызов функции, имя которой генерируется на основе переменной method?

vlade11115
21.08.2018
05:14:23
В дикт оберни.

vlade11115
21.08.2018
05:16:08
disp = {"invite": invite_func,
"register": register_func
}
disp[method]()

ShadoWalkeR
21.08.2018
05:16:54
Спасибо - пойду поэксперементирую

Zart
21.08.2018
05:20:07

ShadoWalkeR
21.08.2018
05:21:10
Я думаю через dict проще будет, но буду иметь в виду второй подход

Zart
21.08.2018
05:23:12
через дикт будет абсолютно тоже самое, только somedict.get вместо getattr(self
только тебе придётся еще ебаться с созданием того дикта зачем-то

Admin
ERROR: S client not available

ShadoWalkeR
21.08.2018
05:24:28
Ну рассуждая так мне нет смысла и конструкцию выше переделывать тогда

Google

Zart
21.08.2018
05:34:42
странные выводы

ShadoWalkeR
21.08.2018
05:40:15
Ну это не только мне сопровождать. Хотя если этот вызов спрятать за функцией
def jump_from_async_auth(self, msg):
m = getattr(self, 'ksr_route_' + KSR.pv.get("$rm"))
if m:
m(msg)
else:
return -255
То в принципе можно соблюсти логику вызова и остальных функций из API - если вернулось -255, то вызов не может быть обработан, нужно уведомить вызывающую сторону и остановить выполнение

vlade11115
21.08.2018
05:42:44
Больше магических констант. Надеюсь они хоть документированы.

Zart
21.08.2018
05:42:45
getattr(self, 'ksr...'+method, lambda:-255)()

ShadoWalkeR
21.08.2018
05:54:33
В method как раз хранится содержимое KSR.pv.get("$rm"), в которой лежит какой SIP метод сейчас обрабатывается прокси сервером

AkS
21.08.2018
07:23:42
Нород, привет ! Rvictl на линухах есть? Что-то на мак оси запускаю команду она просто ничего не выдаёт и соответственно интерфейс не подымает ((( пичалька ебаная

alex
21.08.2018
10:05:47

AkS
21.08.2018
10:12:46

Ilgiz
21.08.2018
10:15:31
https://felixit.blog/2018/08/16/elita/

alex
21.08.2018
10:15:56
))) да ты прям тролль
https://github.com/gh2o/rvi_capture - первая ссылка на моей выдаче: форкнул, допилил и юзай на здоровье.

Zart
21.08.2018
10:17:27
какого хуя это вообще в тут...

Boris
21.08.2018
10:23:47

Vladimir
21.08.2018
11:14:06
автор - социальное дно?
не понял тебя

Boris
21.08.2018
11:25:22
все кодерки - социальное дно. автор про это пишет - бомжи не способные прочитать документацию (этот чат наилучшая демонстрация этого пункта), не интересующиеся ничем, которые живут в садиках для умственно отсталых инфантильных долбоебов с футбольным полем в офисе. хотя сами по себе просто являются стенагрофистками на заре информационной эры, для настоящих людей (бизнеса).

dmks
21.08.2018
11:26:41
такое чуть ли не на каждую вторую профессию натянуть можно
по крайней мере на все офисные - точно
что, впрочем, не отменяет часть про футбольное поле и инфантильных долбоебов

Boris
21.08.2018
11:27:50
ну концепт ТСД говорит о том, что мы всего-лишь рабочие в капиталистическую эпоху, где бизнесу выгодно просто нам платить, нежели сажать на бутылку.

vlade11115
21.08.2018
11:28:08

Google

Boris
21.08.2018
11:29:27
статья говорит о тех, кто вопрошает
вообще если выползти за мирок питона - то можно найти проекты где вообще док не пишут (go) или пишут, но не то что тебе нужно (java). python в общем и целом довольно здоровая экосистема.

John
21.08.2018
11:55:57

alex
21.08.2018
12:12:37

Zart
21.08.2018
12:13:57
ну и нахуй нам хренадцатая копия этого высера?

alex
21.08.2018
12:35:37
Ну к тому, что он оказался, на удивление, популярным, со своим срывом покровов - прямо как дом-2.