Pull to refresh
71
0
Murad Byashimov @magic4x

Пользователь

Send message

Ваш вариант принимает ответы 'Yд', 'Nн'и т.д. К тому же, несмотря на кажущуюся изящность предложенного решения, идет разбор словаря (окей, это py3, список ключей достается бесплатно), а сам поиск происходит в строках 'yYдД', т.е. вроде как используется самый быстрый инструмент, но по факту ради красоты.


Чтобы два раза не вставать:


В этом способе тоже можно использовать принцип отсечения лишнего и сократить регулярные выражения до вида [YД] и [NН] с помощью метода upper().

Достаточно добавить флаг игнорирования регистра:


import re

positive = ('y', 'yes', 'д', 'да', 'si', 'ja')
positive_check = re.compile(r'^({})$'.format('|'.join(positive)), re.I)  # вот это re.I
messages = {
    0: 'Отрицательный ответ',
    1: 'Положительный ответ',
}

while True:
    response = input('Вы уверены? [Д/н (Y/n)]: ')
    choice = response or ''  # Оно может быть None?
    match = positive_check.match(choice)
    msg = messages[bool(match)]
    print(msg)

    # Для любителей экономия строк и дебаггеров-экстрасенсов
    response = input('Вы уверены? [Д/н (Y/n)]: ')
    print(messages[bool(positive_check.match(response))])

Обновил версию до 0.2.0


  • безлимитное количество панелей
  • используется django-pkgconf для хранения настроек

Добавил релиз 0.2.0


  • поддержка атрибута __prefix__ для кастомных префиксов, которые идут вразрез с pep8 (по-умолчанию берется имя класса, которое не может содержать подчеркивания)
  • поддержка методов и свойств (property) типа так:


    from pkgconf import Conf
    
    class MyEmailService(Conf):
        USERNAME = 'username'
        PASSWORD = 'password'
    
        @property
        def DEBUG(self):
            return self.USERNAME.startswith('test_')

Да, его и еще одно я указал на странице проекта в разделе Powered Siblings. Может сейчас еще что найдется, пополню список.
Пользуясь случяем, прошу разрабов Opera Mobile для Android добавить этот поисковик. Часто перемещаюсь, иногда инет едва ползет, турбо спасает, но для пользования DDG приходится открвать его через speeddial.
Ставим нескольких камер по городу, чтобы сверять визуально объект и его сигнатуру. Если есть объект, но нет сигнала — считай потрачено.
У меня через полгода отключился номер теле2, которому было почти 10 лет. Вероятно, другие операторы поддерживают номер дольше, но т2 я ни на что не променяю.
За год пожил в трех странах. На российском номере было около 5-6 баксов, онлайн форма для перевода денег на другой номер работает вкривь и вкось, раза 3 заполнял, деньги так и не перевели, кому-то достанется приятный бонус. Каждый раз новый аккаунт, потому что больше никак не связать. Приходится пользоваться по работе, вот и сейчас сижу, жду, когда вылетит этот номер и придется привязываться к другому.
Потому и написал "десктопов".
Урвать кусочек десктопов, конечно же, где все эти оптимизации энергопотребления и тепловыделения не так интересны потребителю, как разница в цене при сопоставимой производительности.

одна и та же материнская плата может подойти для продуктов двух или более поколений.

Менять один дорогой проц на другой дорогой из-за 10% прироста можно, разве что, от скуки, имхо.
Ну что ж, у амд появился реальный шанс.
Сейчас пишу документацию и до меня дошло, что я упустил одну важную деталь: во момент инициализации виджета, ему передается объект request, т.е. вы можете делать так:

class OrdersWidget(widgets.ItemList):
    model = Order

    def get_queryset(self):
        queryset = super(OrdersWidget, self).get_queryset()
        if not self.request.user.is_superuser:
            # Если это менеджер, ограничить выдачу его заказами
            return queryset.filter(manager=self.request.user)
        return queryset
Спасибо, если пригодится, обязательно отпишитесь.
Спасибо, на подходе масенкая либа из второго коммента. Естественно, как закончу с доками для этой.
На здоровье, жду фидбека.
Это не админка, скорее расширение. Технически джанга использует Model как апи, а ModelAdmin как конфигурацию. Model хранит в себе представление данных и их поведение (тип, валидации). Для формирования интерфейса используются мета-данные, вроде, названия приложения и имени модели — все это есть в Model, поэтому и я ее использую, к тому же джангистам все это знакомо — я не хотел сильно велосипедить. Только с этим есть одна проблема: джанга не умеет брать одну модель из СУБД, другую из монги, третью из редис и т.д. Мои обертки рассчитаны на это.
В работе, выложу на днях.
Спасибо, поправил. Я давно не был на хабре, раньше было принято писать о грамматических ошибках в личку, если, конечно, аудитории все еще интереснее обсуждать техническую сторону публикации.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity