1. Python / Говнокод #13898

    −105

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    def get_user_profile(self, user_id):
        logging.info('Fetching profile for user: %s' % user_id)
        query = neo4j.CypherQuery(
            self.db,
            """
            CYPHER 1.9
            START user = node({id})
            MATCH
            (user)-[?:follows]->(followed),
            (follower)-[?:follows]->(user)
            RETURN user, followed, follower
            """)
        data = query.execute(id = user_id).data
        if not len(data) == 3: data += (3 * [None])[:3 - len(data)]
        user, followed, followers = data
        user = user.user
        return { 'user': { 'name': user['name'], 'registered': user['registered'] },
                 'followed': followed,
                 'followers': followers }

    Тяжелые последствия оверинжиниринга.
    Пояснение: ответ от базы данных уже приходит в джинсах, но нельзя ж так просто взять и...

    Запостил: wvxvw, 05 Октября 2013

    Комментарии (1) RSS

    Добавить комментарий