@ru_python

Страница 6023 из 9768
مـِّﮧْٰٖـہنَْٰـُہتـٰٰٰٖٖٖۧـ๋͜ہظـِّﮧْٰٖـہر ««☻
24.07.2018
23:47:45
Hi guys How can i get user username from user id Example : I send to bot user id Bot send me user username from id

Eugene
25.07.2018
00:13:38
Как правильно реализовывать вынос строк в шаблоны? Допустим, для мультиязычности. У меня есть модуль tools с плюшками, юзаемыми в проекте. Рядом лежат файлы для языков с константами, типа HELLO = "Привет". В tools есть функция get_message, принимающая условное название-константу строки, область видимости и язык. Пока я вижу следующий вариант -- методы классов возвращают, например tools.get_message("HELLO", {}, "ru"). Далее функция get_message через getattr пытается получить эту константу из файла и через format_map() форматирует ее с областью видимости, переданной функции. Но это похоже на изврат, есть какие-то ещё альтернативные и логичные варианты? А если мне в этой строке нужно выполнить функцию? Желательно, чтобы это работало быстро, а не как Template. При этом меня интересует не сам перевод, коим занимается gettext, а именно подход к хранению и обработке таких строковых данных.
Вопрос непонятный. gettext решает все проблемы уже давно. Строки собираются из файлов при помощи утилиты командной строки xgettext Да и вариаций на ее тему написано 100500 К чему изобретать велосипед с квадратными колесами?

madmonday.ru
25.07.2018
00:15:35
Вопрос непонятный. gettext решает все проблемы уже давно. Строки собираются из файлов при помощи утилиты командной строки xgettext Да и вариаций на ее тему написано 100500 К чему изобретать велосипед с квадратными колесами?
1. Работает стрёмно 2. Не совсем то, что мне надо. Перевод - вторичное, это пример, первичное - способ хранения строк где-то и правильная их обработка и подача на выход.

Eugene
25.07.2018
00:17:34
1. Работает стрёмно 2. Не совсем то, что мне надо. Перевод - вторичное, это пример, первичное - способ хранения строк где-то и правильная их обработка и подача на выход.
Понятнее не стало. gettext работает отлично почти во всех ситуациях. строки хранятся в .po файле Если у вас какие-то контексты, то gettext поддерживает контексты, правдо я так редко этим пользуюсь, что не помню точный синтаксис

Google
Eugene
25.07.2018
00:18:37
да

можно не переводить po файл, тогда вызовы gettext будут возвращать исходные строки

madmonday.ru
25.07.2018
00:19:52
да
Он умеет выполнять функцию внутри строки? А вставлять локальные переменные и глобальные константы в строку?

Eugene
25.07.2018
00:21:47
На тему интерполяции можно еще посмотреть как в django реализован объект gettext_lazy

madmonday.ru
25.07.2018
00:23:57
Нет, но и не должен. Для этого интерполяция в языке есть (% и .format)
Ну а смысл тогда мне в проект тащить динозавра, когда я могу в файл написать A = "B" и потом написать getattr(texts, "A")? Не совсем понимаю, почему вы считаете что gettext тут подходит :(

Eugene
25.07.2018
00:27:28
Ну а смысл тогда мне в проект тащить динозавра, когда я могу в файл написать A = "B" и потом написать getattr(texts, "A")? Не совсем понимаю, почему вы считаете что gettext тут подходит :(
Человек дело говорит. Я много раз видел велосипеды на подобную тему. Они *всегда* хуже стандартного решения Потом, с gettext знаком почти каждый. И вам самим и другим людям будет проще поддерживать проект в дальнейшем, используя стандартные инструменты, с которыми знакомы все.

Проблема с велосипедами, что каждый думает: мой случай особенный и простой. Сам сделаю простое быстрое решение, так как надо поддерживать лишь 1% от возможностей gettext В итоге, быстро просто и красиво не получается, требования растут, велосипед обрастает треугольными и пятиугольными колесами Через 1-2 года, в проекте какое-то уродливое чудище без доков, любое копание в котором приводит к рвотному рефлексу даже у автора

Denis
25.07.2018
00:31:45
Как правильно реализовывать вынос строк в шаблоны? Допустим, для мультиязычности. У меня есть модуль tools с плюшками, юзаемыми в проекте. Рядом лежат файлы для языков с константами, типа HELLO = "Привет". В tools есть функция get_message, принимающая условное название-константу строки, область видимости и язык. Пока я вижу следующий вариант -- методы классов возвращают, например tools.get_message("HELLO", {}, "ru"). Далее функция get_message через getattr пытается получить эту константу из файла и через format_map() форматирует ее с областью видимости, переданной функции. Но это похоже на изврат, есть какие-то ещё альтернативные и логичные варианты? А если мне в этой строке нужно выполнить функцию? Желательно, чтобы это работало быстро, а не как Template. При этом меня интересует не сам перевод, коим занимается gettext, а именно подход к хранению и обработке таких строковых данных.
Сделать constants.py или constants.json и хранить все константы там не подходит?

Google
Denis
25.07.2018
00:32:44
Это вопрос был

Непонятно, в чем проблема в уже описанном решении

madmonday.ru
25.07.2018
00:33:11
Сделать constants.py или constants.json и хранить все константы там не подходит?
Мне выше говорят что этот вариант говно и нужно во что бы то ни стало использовать gettext.

Denis
25.07.2018
00:34:15
Если нужно хранить переводы, то да. Если просто набор строк на одном языке, gettext это оверкилл

Скорее всего, вместе с переводом строк вылезут другие проблемы, вроде форматирования чисел, зависящего от локали, разных правил для множественного числа

gettext это решать умеет https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html

madmonday.ru
25.07.2018
00:39:58
import constants constants.HELLO.format_map(locals()) или import tools tools.get_constant("HELLO", locals()) ?

Denis
25.07.2018
00:41:02
Передавать куда-то locals() это обычно плохая идея

Маришка
25.07.2018
00:42:36
Как правильно реализовывать вынос строк в шаблоны? Допустим, для мультиязычности. У меня есть модуль tools с плюшками, юзаемыми в проекте. Рядом лежат файлы для языков с константами, типа HELLO = "Привет". В tools есть функция get_message, принимающая условное название-константу строки, область видимости и язык. Пока я вижу следующий вариант -- методы классов возвращают, например tools.get_message("HELLO", {}, "ru"). Далее функция get_message через getattr пытается получить эту константу из файла и через format_map() форматирует ее с областью видимости, переданной функции. Но это похоже на изврат, есть какие-то ещё альтернативные и логичные варианты? А если мне в этой строке нужно выполнить функцию? Желательно, чтобы это работало быстро, а не как Template. При этом меня интересует не сам перевод, коим занимается gettext, а именно подход к хранению и обработке таких строковых данных.
Взять gettext или babel. То что ты описал является стандартной хренью для i18n и l10n

Маришка
25.07.2018
00:44:21
So what ?

Впили сейчас что бы потом не делать свой велосипед из говна

Denis
25.07.2018
00:45:58
Почему?
Потом захочется переименовать переменную, но это будет нельзя сделать. Либо что-то поменяется в той строке, а где-то случайно оказалась такая переменная, поэтому подставляться будет не то, что хотелось. Лучше явно передавать словарь

Поддерживал я как-то сайт на джанге, где в шаблон было принято передавать locals(). Это было больно

Eugene
25.07.2018
00:48:36
Мне выше говорят что этот вариант говно и нужно во что бы то ни стало использовать gettext.
Потому что по опыту: из всего количества программистов, с которыми приходилось сталкиваться, написать свой велосипед может 1 человек на 1,000,000. У всех остальных получается такое говно, что gettext на его фоне будет просто недостижимым идеалом архитектуры. Но благодаря эфекту Даннинга-Крюгера (если не путаю), каждый изобретатель говно-велосипеда в начале пути заявлет: «До меня были тупые динозавры, я сделаю лучше». Всегда я это слышу и всегда в итоге получается большая вонючая куча говна

это не в обиду вам

просто потом лежат кучи такого legacy, без доков, без тестов изначальный автор чаще всего где-то уже в другом месте изобретает новые велосипеды

а другим приодится переписывать все на gettext или латать унылый велосипед до бесконечности

Google
Eugene
25.07.2018
00:50:15
плюс, когда до перевода дело дойдет, вы не сможете использовать ни один из великолепных инструментов для перевода .po файлов

и что - городить еще один велосипед?

Eugene
25.07.2018
01:14:48
ОХ УЖ ЭТИ ДЖАНГИСТЫ
Говнокод — универсальное явление, к сожалению

Бензофуран
25.07.2018
01:32:04
Какой grep это же python а не bash
Пф import os result = os.system("grep %params%")

После вчерашнего диалога остался неприятный осадок я решил провести небольшой семантический анализ. "Как думаешь, сколько в таких ядер?" С виду подразумевает что вопрос о приблизительной оценке количества ядер? Да, это так, если не поставить запятую. В нормальном виде вопрос пишется как "Как думаешь сколько в таких ядер?", без запятой. Можно подумать что человек не осилил пунктуацию или перед экраном сидит прогульщик уроков. По факту пунктуацию проходят последовательно с 5 по 11 класс. Если поставить запятую, то это превращается в манипулятивную технику. Целью является выведать ответы на 2 вопроса. "Как думаешь?" Как бы ничего особенного. Этот вопрос побуждает дать оценочное методичное суждение по предыдущему предмету разговора. Но так нормальные люди не спрашивают, нормальный человек спросит: "что ты думаешь по поводу ... (тут даже приличнее использовать тафтологию)" Почему я говорю про нормальных людей: потому что вопрос "как думаешь?" (если явно не ссылается на предыдущий предмет) также побуждает раскрыть "свои методы мышления" - а это информация представляет угрозу для жизни и личной безопасности. <пауза> "сколько в таких ядер?" Отдельный вопрос который не имеет ничего общего с "приблизительной" количественной оценкой, оценка требуется более точная. Чувствуете разницу между "примерно сколько?" и "сколько?". Только что вас попросили знаете о чем? Подключить все свои умственные ресурсы для оценки. Сколько ядер в arm процессоре? Серьезно? Ответ на этот вопрос требует анализа всего рынка массовых и единичных процессоров arm за все время и вычисления на основе этих данных среднего количества процессоров. Это важная характеристика.
Ты как-то уж слишком запарился из-за мелочи

потому что ты говно, пишите на лиспе
Лисп херня, пишите на ассемблере

Eugene
25.07.2018
02:31:07
Зачем писать через main?
ну это в каждом туториале для новичков python упоминается одним из первых пунктов

зачем обсуждать такие банальные вещи?

Ruslan
25.07.2018
02:53:08
Пните) ЧЯДНТ, забыл основы) мне надо чтобы пулы пополняли общий массив from multiprocessing import Pool def f(args): class1, i = args class1.add(i) class myClass: def __init__(self): self.myArray = [] def add(self, data): self.myArray.append(data) def show(self): print(self.myArray) if __name__ == '__main__': class1 = myClass() pool = Pool(processes=4) pool.map(f, ((class1, i) for i in range(16))) class1.show()

Andy
25.07.2018
02:56:30
если я правильно понимаю работу с тредами, то в треды уходит запикленый объект твоего класса, там в него добавляется что-то, ну и он там в треде и остается

Ruslan
25.07.2018
02:57:24
Ну так то тебе Queue нужен
нагуглил, ща буду пробовать

https://stackoverflow.com/a/17242221/8475363

Andy
25.07.2018
03:11:36
Ruslan
25.07.2018
03:25:44
это не то
исчерпывающе

Andy
25.07.2018
03:26:32
исчерпывающе
ну там кладут в очередь, и вытаскивают значения из нее в процессах, а если я тебя правильно понял, ты хотел, класть в очередь в разных процессе

Google
Denis
25.07.2018
03:30:47
Помогите абитуриенту

Куда поступать ? В Мск в средний вуз с неоч сильным образованием или в своем городе но образование получше?))

Pachvarsh
25.07.2018
03:31:48
сейчас бы в универы поступать

Denis
25.07.2018
03:32:09
Мне просто 18

Pachvarsh
25.07.2018
03:32:44
ну если ты решил стать погромистом, сперва поработай джуном, а там посмотришь нужно оно тебе вообще или нет

знаю уйму людей протерявших 5 лет в универе и не юзающих этот опыт, я в их числе

Eugene
25.07.2018
03:33:35
Куда поступать ? В Мск в средний вуз с неоч сильным образованием или в своем городе но образование получше?))
На этот вопрос сложно ответить. Все равно что ответ на вопрос: «Стоит ли жениться на этой девушке»

Denis
25.07.2018
03:33:53
Я работал плюс минус,все норм,мне нравится

ну если ты решил стать погромистом, сперва поработай джуном, а там посмотришь нужно оно тебе вообще или нет

Admin
ERROR: S client not available

Pachvarsh
25.07.2018
03:34:24
Я работал плюс минус,все норм,мне нравится
тогда я бы прогуглил какие шараги уважаются за бугром и шел бы только в них

Denis
25.07.2018
03:34:37
Я хочу ИИ делать,поэтому нужна математика,а её самому,кажется ,сложно получить

Да прогерам и математикам диплом не важен

Pachvarsh
25.07.2018
03:35:02
ИТ в россеюшке прийдет конец ИМХО, это вопрос времени

Eugene
25.07.2018
03:35:20
Я хочу ИИ делать,поэтому нужна математика,а её самому,кажется ,сложно получить
А почеу такой странный выбор? Почему не сильный вуз в Москве?

Denis
25.07.2018
03:35:44
Потому что баллы ЕГЭ не позволяет ,деньги тоже ,чтобы платно

ИТ мб,но я за математикой для программиста

ИТ в россеюшке прийдет конец ИМХО, это вопрос времени

Ymka
25.07.2018
03:36:08
кстати, где можно найти работу в Питере джуном, кроме hh?

Шад?

Google
Ymka
25.07.2018
03:37:10
Да прогерам и математикам диплом не важен

Eugene
25.07.2018
03:37:13
Потому что баллы ЕГЭ не позволяет ,деньги тоже ,чтобы платно
Я думаю, надо изучить отзывы о тех вузах, в которые собираешься поступать. Поспрашивать студентов, возможно, в своем городе проще это сделать

Потерянного времени не бывает, лишней бумажки тоже

Denis
25.07.2018
03:38:21
Все изучил и поспрашивал

Я думаю, надо изучить отзывы о тех вузах, в которые собираешься поступать. Поспрашивать студентов, возможно, в своем городе проще это сделать

Потерянного времени не бывает, лишней бумажки тоже

Говорят матем( а это самое главное) и там и там норм,но в моем городе посильнее.И программа в моем мне ближе намного( математика и комп. Науки) а в Мск вузе ( прикладная математика )что чуть-чуть не то,но доучить можно

Шад топ,я туда собираюсь потом

Шад?

Denis
25.07.2018
03:42:40
Да,это очевидно,я просто пытаюсь больше узнать,чтобы проанализировать

Ну, тогда сложно что-то советовать. Думаю, окончательный выбор должен сделать сам

Eugene
25.07.2018
03:42:46
Потому что мы, как люди посторонние, не можем знать все факторы. Каково тебе жить с родителями/жить отдельно, например, и т.д. и т.п. Я, например, однозначно не хотел жить с родителями, поэтому после школы сразу уехал

Josh
25.07.2018
03:43:01
хотя то, что выбрал тормознутый питон на бек куда более весомая ошибка в жизни

Eugene
25.07.2018
03:43:24
Куда бы деться от учителей в жизни? Каждый второй пытается учить )

Denis
25.07.2018
03:43:45
Я и не буду с ними жить )

Egor
25.07.2018
03:44:02
Тормознутый? Ахахах

Denis
25.07.2018
03:44:10
Гоу рулит ?))

хотя то, что выбрал тормознутый питон на бек куда более весомая ошибка в жизни

Eugene
25.07.2018
03:44:39
Гоу рулит ?))
Есть кнопочка Reply - так проще читается

Denis
25.07.2018
03:45:05

Страница 6023 из 9768