
⠀
11.01.2016
16:04:06

Ivan
11.01.2016
16:04:07
Я думаю, что строки 3 хватит

Aliaksiej
11.01.2016
16:07:31
Да нет же
Конкретный приемер

Google

Aliaksiej
11.01.2016
16:07:52
Строк 15 вполне себе ascii
А вот в 16 встречается левый символ
И все упало

Maxim robox
11.01.2016
16:09:00
И все упало
Не читал, но нагуглилось это:
http://habrahabr.ru/company/mailru/blog/129476/

Aliaksiej
11.01.2016
16:09:14
Читал уже
Там про то, как генерить, чтобы Эксель схавал
Это я уже умею

Maxim robox
11.01.2016
16:09:44
А, чёрт. Точно.

Aliaksiej
11.01.2016
16:10:25
Хотя тоже хз, как оно на других локалях будет, но должно быть ок, учитывая utf8 bom

Maxim robox
11.01.2016
16:10:42
Там есть какой-то workaround с VB-макросом. Все остальные варианты — использовать другой табличный процессор (google spreadsheets, libreoffice calc, openoffice calc).

Aliaksiej
11.01.2016
16:12:04
Это все про то, чтобы нагрузить пользователя чем-то ненужным
Я не хочу, да и не могу им всем это объяснять

Google

Aliaksiej
11.01.2016
16:13:35
Chardet вроде как лучший способ. Осталось только понять, как оно будет вести себя на левых блобах
Мало ли что эти криворучки зальют
Вместо csv

Maxim robox
11.01.2016
16:15:57

Ivan
11.01.2016
17:06:08
У тебя проект настолько глобальный, что ты про экзотические локали думаешь?

Aliaksiej
11.01.2016
17:14:12
Это понятно
Скорее больше ориентирован на запад но в целом и другие юзать могут
Выдавай им ошибки
Так то чтобы выдать ошибку, нужно ж все равно пробовать читать, иначе достоверно не узнать

Maxim robox
11.01.2016
17:20:29
@GomZik ну вот тот сервис, куда я заливал csv, к слову, вообще не парился на счёт ошибок или каких-либо уведомлений, что мс офис — говно. Он просто не жрал это и всё.

Aliaksiej
11.01.2016
17:21:14
Ну у меня у самого рука не поднимится так сделать :)
Я то заведомо знаю, что чаще всего его будут экселем трогать

Maxim robox
11.01.2016
17:26:35

Aliaksiej
11.01.2016
17:26:55
На платформе не принято

Ivan
11.01.2016
17:28:33
На платформе не принято
Таки в чем проблема? так инструкцию для пересохранения не нужно писать, а вот для эксепшна можно и написать. Типа "я попытался восстановить файл, но это не удалось из-за кодировки. Попробуйте сохранить вот так

Aliaksiej
11.01.2016
17:29:21
Да думаю в большинстве случаев прокатит решение
Какое есть

Ivan
11.01.2016
17:29:59

Maxim robox
11.01.2016
17:30:20
Это, конечно, от бизнеса зависит, но я бы просто написал, мол хочу принимать csv в юникоде и таком-то таком-то формате. И выводить предупреждение, что мс офис, возможно, не умеет нормально делать, попробуйте пересохранить в чём-нибудь другом.

Aliaksiej
11.01.2016
17:30:37
Он выдаёт кодировку и вероятность, с которой именно она используется

Google

Ivan
11.01.2016
17:31:05

Aliaksiej
11.01.2016
17:31:13
Это, конечно, от бизнеса зависит, но я бы просто написал, мол хочу принимать csv в юникоде и таком-то таком-то формате. И выводить предупреждение, что мс офис, возможно, не умеет нормально делать, попробуйте пересохранить в чём-нибудь другом.
Ну как я так сделаю, если на всей платформе оно работает, а у меня нет

Maxim robox
11.01.2016
17:31:14
Потому что вариант с угадыванием кодировки какой-то тухловатый.

Aliaksiej
11.01.2016
17:31:33
Я ещё внутри пообсуждаем
Мы*

Ivan
11.01.2016
17:32:18

Maxim robox
11.01.2016
17:33:04

Ivan
11.01.2016
17:35:06

Maxim robox
11.01.2016
17:35:46
Гемор
Ну да. Но хочется же юзеру угодить — изволь подстраиваться.

Ivan
11.01.2016
17:36:24

Aliaksiej
11.01.2016
17:43:57

Maxim robox
11.01.2016
17:44:31

Aliaksiej
11.01.2016
17:44:56
Да и открывая локально так и не заметил, что оно детектировало кодировку
Может где-то специальная опция была, я не разбирался детально

Maxim robox
11.01.2016
17:45:24

Aliaksiej
11.01.2016
17:45:29
Оносамое

Maxim robox
12.01.2016
03:40:24
Что-то я не могу понять, как добавить контакт в телеграмм. Он раньше был у меня в телеграмме, потом я его удалил из телеграмма. В телефонной книге он все ещё есть. Другие контакты сами восстанавливались после таких процедур. А этот — нет.

Ilya
12.01.2016
03:41:30
удали номер в контакте
добавь

Google

Ilya
12.01.2016
03:41:35
перечитай на телефоне
проверь что номер больше нигде не светится

Maxim robox
12.01.2016
06:13:24

Pavel
12.01.2016
06:14:46
там такая организация, что её можно читать с любой главы. я осилил за пару недель трамвайных поездок, так что короткая.

Vlad
12.01.2016
07:00:43

Pavel
12.01.2016
07:01:38
не знаю, вроде кто-то пытался в вики-формате переводить. "Два шарика джанги", или как-то так.

Vlad
12.01.2016
07:02:34
Еще подскажите насколько плохо совмещать cbv и обычные функции?

Pavel
12.01.2016
07:04:22
а в чём проблема? Если вьюшка проще в виде функции, делай так.

Admin
ERROR: S client not available

Vlad
12.01.2016
07:07:41
В простых задачах намного проще использовать cbv классы. Меня интересует как в проектах делают. Делаю сейчас проект и может в будущем не я его поддерживать буду. Можно ли так делать и плохо ли это
Или какие бы у вас были впечатления от кода?

Whore Amazing
12.01.2016
07:14:16
что такое cbv?

Pavel
12.01.2016
07:14:25
class based views.
к слову, в очередноё раз напомню про ccbv.co.uk
cbv - это когда вьюшки не функции, а классы с развесистой системой mixin-ов. На первый взгляд очень сложно, но если втянуться, то трудно оторваться.

Maxim robox
12.01.2016
07:22:06
Почему нельзя просто унаследоваться от View вместо того, чтобы умирать?
Я вообще не пишу function views. Ради единообразия.
Да и они уже deprecated, разве нет?

Pavel
12.01.2016
07:25:47
Я тут вдруг поймал себя на мысли, что всегда пытался впихнуться в типовые вьюшки, переопределяя get_ методы. А наследоваться от View и сделать в def get(self, request) код обычной function view мне даже в голову не приходило. ?

Vlad
12.01.2016
07:28:17

Google

Pavel
12.01.2016
07:28:37
4 интранет проекта.
в годах - много, в часах работы - чуть.

Vlad
12.01.2016
07:29:27

Maxim robox
12.01.2016
07:31:14

Pavel
12.01.2016
07:33:39
django.contrib.auth на функциях.

Maxim robox
12.01.2016
07:35:14

Whore Amazing
12.01.2016
07:36:21
вот я щас читаю все это и чувствую, что нихуя не понимаю

Pavel
12.01.2016
07:36:30
мне кажется, что FBV врядли вообще уберут. варнинг вкорячат и всё.
class ItemListView(ListView):
model = Item
paginate_by = 10
class ItemDetailView(DetailView):
model = Item
первое даст тебе вью с пагинацией на 10 элементов, второе - вью для одного объекта, с pk переданном в урле. это дла начала.
в urls.py как обычно
url(r'item/(?P<pk>.*)/', ItemDetailView.as_view(), name='item_detail'),
url(r'item/', ItemListView.as_view(), name='item_list'),
имена файлов шаблонов тебе джанга в эксепшене покажет.

Konstantin
12.01.2016
08:38:58
CBV вообще волшебная вещь.
Одно удовольствие писать, даже простейшие вещи используя TemplateView.
Захотел наколдовал там в контексте или get, post, а главное нет такого
def user_get
def user_post
либо
if METHOD == 'POST'
Как-то не фонтан с таким работать, если вкусил хоть чуть CBV
Pavel, а как код стилизировал в сообщении?
Какую разметку телеграм хавает?

Pavel
12.01.2016
08:46:12
три многострочный код, одна - выделение inline

Ilya
12.01.2016
08:46:13
маркдаун

Pavel
12.01.2016
08:46:16
`
маркдаун только для ботов вроде?

Ivan
12.01.2016
08:46:35
вот так
не, не только

Ilya
12.01.2016
08:46:49
https://core.telegram.org/bots/api#using-markdown

Pavel
12.01.2016
08:47:11
*bold*