
Andrii
12.06.2017
09:23:06

Igor
12.06.2017
09:27:16
Возвращает Response
Который явно пихать в json.loads нельзя

Stanislav
12.06.2017
09:28:07

Google

Stanislav
12.06.2017
09:28:12
.json() метод

Igor
12.06.2017
09:28:22
эмм.. чо. у Response есть json(), нахуй еще json'ом питоновским пользоваться?

Igor
12.06.2017
09:28:36
Ребята, спросили, почему код не работает, я обьяснил :)
В чем дело?
Нужна помощь: хочу получить json со страницы и спарсить оттуда 1 строчку. Как это сделать? Пробовал так, но что-то тут не так:DD
import requests, json
key = '123'
r = requests.get(url='http://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=key&steamids=76561198131258351')
parsed_string = json.loads(r)
parsed_string['players'][0]['NumberOfVACBans']
Json такой:
{
"players": [
{
"SteamId": "76561198131258351",
"CommunityBanned": false,
"VACBanned": true,
"NumberOfVACBans": 1,
"DaysSinceLastBan": 298,
"NumberOfGameBans": 0,
"EconomyBan": "none"
}
]
}

Igor
12.06.2017
09:28:52
Пардон

Stanislav
12.06.2017
09:28:54
Ну пиздец, я думал это ты спрашивал
Тогда извиняй

Igor
12.06.2017
09:29:29
Ничего :)

Sergey
12.06.2017
09:29:53
посты не читай @ ответы кидай
?

Anton
12.06.2017
09:30:06
))

Igor
12.06.2017
09:30:13

Google

Igor
12.06.2017
09:30:30
да блять, опять не тому ответил
ну нахер :)

Filat
12.06.2017
09:52:11
Еее, ты их юзаешь)

Vladimir
12.06.2017
10:00:59
Господа, можно ль с помощью джанговской орм сделать такую вещь: Есть таблица, в ней две колонки, допустим "страна", "дата", "йцукен". Надо по каждой стране вывести последнюю дату и соответствующий этой дате йцукен. Страны могут повторяться.
Три колонки*
Бэкенд на постгресе, group by не канает

Marperia
12.06.2017
10:02:20

Vladimir
12.06.2017
10:03:03
Дочитай вопрос

Denis
12.06.2017
10:03:53

Anton
12.06.2017
10:04:04
?

Алексей
12.06.2017
10:04:06
having же

Vladimir
12.06.2017
10:06:05
Я писал что то вроде select max("дата"), "йцукен" from "таблицанейм" group by "страна"
А в посткгресе йцукен должен быть либо внутри max либо под group by

Igor
12.06.2017
10:07:25
если страны могут повторяться, то group by страна - это хуйня какая-то
может, "group by страна, йцукен" тогда?
хотя нет

Vladimir
12.06.2017
10:08:28
Тогда две записи с одинаковыми странами и разными йцукенами в одной группе окажутся

Denis
12.06.2017
10:08:33
with t as (select max(дата), ...)
select страна, дата, йцукен from .. inner join t on дата=дата and страна=страна

Google

Igor
12.06.2017
10:08:39
эм, нет, это же разные группы будут

Vladimir
12.06.2017
10:08:50
То есть да
Надо наоборот

Евгений
12.06.2017
10:09:38

Vladimir
12.06.2017
10:10:12
В каком то sql онлайн проканало)

Евгений
12.06.2017
10:10:30
Реальный пример таблицы приведи и результата, который ты хочешь получить.

Igor
12.06.2017
10:10:37
вот да, а то я тоже не понял, чего хочется

Евгений
12.06.2017
10:11:11
А то сидите тут и гадаете на кофейной гуще.

Igor
12.06.2017
10:11:18
может, оконные функции помогли бы

Anton
12.06.2017
10:11:58
в общем тут глянь: https://docs.djangoproject.com/en/1.11/topics/db/aggregation/

Евгений
12.06.2017
10:20:28

Vladimir
12.06.2017
10:20:31

Vladimir
12.06.2017
10:20:50
Справа результат

Igor
12.06.2017
10:21:04
s/ORM нужно/ORM можно :)

Anton
12.06.2017
10:21:06

Vladimir
12.06.2017
10:21:20
В орм есть метод raw

Igor
12.06.2017
10:21:24

Алексей
12.06.2017
10:21:35
т.е. группировку по странам и только макс. дата?

Anton
12.06.2017
10:21:46

Vladimir
12.06.2017
10:21:48
Ага

Google

Евгений
12.06.2017
10:22:41
заметил, что для всех приведённых данных у тебя при максимальной дате йцукен больше
это всегда так?

Алексей
12.06.2017
10:22:52
а pk там есть?

Vladimir
12.06.2017
10:23:02
Йцукен независим
Pk это id, считай что он есть

Евгений
12.06.2017
10:23:39
тебе нужно просто выбрать последнюю запись по каждой стране вместе с йцукеном?

Vladimir
12.06.2017
10:24:04
Да

Admin
ERROR: S client not available

Vladimir
12.06.2017
10:24:23
Но записи необязательно упорядочены

Igor
12.06.2017
10:24:35
интересно, а в постгре может прокатить такой запро
SELECT country, any(qwerty), any(date) GROUP BY country HAVING date = max(date)?

Vladimir
12.06.2017
10:25:05

Igor
12.06.2017
10:25:55
да не, вряд ли. я просто плохо постгрю знаю, в основном на специфическом диалекте запросы писал (

Евгений
12.06.2017
10:26:27
я any первый раз в sql вижу

Igor
12.06.2017
10:26:48
а, тем более ))

Constantine
12.06.2017
10:26:58
мускуль? :D
ай яй яй

Igor
12.06.2017
10:27:24
мускуль? :D
не) но со второго раза ты догадаешься ;)
они очень мускулем вдохновлялись, да

Vladimir
12.06.2017
11:05:03
Кому интересно, решил задачу так: взял список всех стран и доставал по каждой latest
Ведь производительность идет нахуй, когда ты работаешь с джангой

Marperia
12.06.2017
11:06:44
А latest это свойство объекта или новый объект?

Google

Vladimir
12.06.2017
11:07:17
Это метод орм, который я применил к filter
Хуй его знает что он делает

Marperia
12.06.2017
11:08:11
Можно присвоить в latest id последней записи и вызывать через него в один запрос.
Но это с дивана, я структуру проекта в глаза не видел.

Rookie
12.06.2017
11:41:15
Не знаю. А вариант
Countries.objects.all().order_by('-date').distinct('country')
это не работает?

Nardis
12.06.2017
11:43:07
А я спрашивал и буду спрашивать. Верно ли я понимаю, что если мне нужен http/2 на веб-сайте, то мне достаточно иметь nginx с включенным http/2 в качестве реверс-прокси между клиентом и uwsgi-сервером для фласка, не смотря на то, что uwsgi не умеет из коробки в http2? Таким образом nginx и uwsgi общаются между собой по сокету внутри одного сервера и версия http-протокола там не имеет значения, или я что-то упускаю и важно, чтобы все звенья цепи умели http2? Если важно, то для каких нужд?
Этот же вопрос касается и связки sanic (вместо flask+uwsgi) + nginx (с http2). Здесь sanic тоже не умеет в http/2.

Sergey
12.06.2017
11:51:43

Vladimir
12.06.2017
11:54:38
Не зашло

Nardis
12.06.2017
11:55:59
Между uWSGI и Nginx протокол - WSGI. Между Nginx и браузером пользователя - HTTP/2. Разные вещи. Помимо прочего, Nginx возьмёт на себя терминирование SSL.
Я все это описал в своем вопросе, более того пять таких связок у меня уже работают в проде, SSL (не фактически, но практически также необходим для http/2). Сам вопрос не в этом, а в том: нет ли тут какого-либо упущения, когда сервер приложения не умеет http2, а фронтальный прокси-сервер говорит, что умеет? Я понимаю, что между фронтальным nginx'ом и клиентом все будет раздаваться параллельно и т.д., но есть ли какие-либо аспекты http/2, что требуют наличия поддержки протокола и на стороне сервера приложения тоже? Или wsgi полностью покрывает весь feature set протоколов http1-2?


Sergey
12.06.2017
11:57:49
Я все это описал в своем вопросе, более того пять таких связок у меня уже работают в проде, SSL (не фактически, но практически также необходим для http/2). Сам вопрос не в этом, а в том: нет ли тут какого-либо упущения, когда сервер приложения не умеет http2, а фронтальный прокси-сервер говорит, что умеет? Я понимаю, что между фронтальным nginx'ом и клиентом все будет раздаваться параллельно и т.д., но есть ли какие-либо аспекты http/2, что требуют наличия поддержки протокола и на стороне сервера приложения тоже? Или wsgi полностью покрывает весь feature set протоколов http1-2?
Это протоколы для разных вещей - в том смысле, что они никак друг от друга не зависят и использование одного их них не влияет на использование другого. Вся обработка протокола HTTP/2 лежит на Nginx в данном случае.

Nardis
12.06.2017
11:59:49

Sergey
12.06.2017
12:01:05

Nardis
12.06.2017
12:01:21

Sergey
12.06.2017
12:02:00

BoberMod?
12.06.2017
12:16:08
боже, у меня щас голова взорвется
https://pastebin.com/yvAV6N5c
в этом коде хочу сделать массив (список)
steamid = [121, 34, 56]
requests.get надо проганять весь массив каждый раз. Если для одного из этих елементов после выполнения первого requests.get переменная vac или ow станет 1, то выполнить следующий if и удалить этот элемент из массива, остальные элементы проганять дальше
натолкните на мысь хотя бы, а то я уже ничего не понимаю

Igor
12.06.2017
12:17:47
это лучше в @ru_python_beginners