1. Список говнокодов пользователя overmes

    Всего: 2

  2. Python / Говнокод #18007

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    results = ET.XML(data).find(config.XPATH_ROOT)
                    if len(results):
                        for result in results.findall(config.FFT_XPATH_ELEMENT):
                                di = {
                                    'pos': int(eval(config.XPATH_POS)),
                                    'url': eval(config.XPATH_URL),
                                    'gid': eval(config.XPATH_GID),
                                }
                                score = self.scores.get(di['dig'])
                                di['score'] = score

    Очень гибкая настройка парсинга html через админку
    XPATH_POS = "result.attrib['number']"
    XPATH_URL = "result.find('url').text"
    XPATH_GID = "result.find('internal-gid').text"

    overmes, 16 Апреля 2015

    Комментарии (2)
  3. Python / Говнокод #18006

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    from django.core.cache import cache
    
    #сохранение оценок
    for item in data:
                gid = item.get('gid')
                score = item.get('score')
                if not gid or not score:
                    continue
                cache.set(config.CACHE_SCORE_KEY % gid, score, timeout=0)
                count += 1
    
    #получение оценок
    score = cache.get(config.CACHE_SCORE_KEY % di['gid'])

    Ладно, пусть continue, хотя inverse было бы значительно понятнее,
    но cache.set() - это сохранение записи в Redis для постоянного хранения (на подобии сохранения в реляционную базу),
    а cache.get() - получение записи из Redis

    Так то оно работает(пока cache.clean() не набрать), но сложно придумать более не очевидный метод доступа к постоянному хранилищу

    overmes, 16 Апреля 2015

    Комментарии (7)