示例#1
0
文件: dig.py 项目: fordream/me
 def boy_chart(cls):
     ids = {}
     for d in Card.gets_by_tag('萌'):
         ids[d.id] = 1
     for d in Card.gets_by_tag('单身'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     for d in Card.gets_by_tag('少年'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     for d in Card.gets_by_tag('gay'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     for d in Card.gets_by_tag('娘'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     rs = store.execute("select user_id from me_profile where flag=N and sex=1 and marriage in (1, 2, 12)")
     for r in rs:
         i = str(r[0])
         n = ids.get(i, 0)
         ids[i] = n + 2
     love_cards = [Card.get(i) for i, n in ids.iteritems() if n > 1]
     love_cards = [d for d in love_cards if d.profile.sex != 2]
     love_cards = sorted(love_cards, key=attrgetter('score'), reverse=True)
     return love_cards
示例#2
0
文件: dig.py 项目: fordream/me
 def girl_chart(cls):
     ids = {}
     for d in Card.gets_by_tag('萌'):
         ids[d.id] = 1
     for d in Card.gets_by_tag('单身'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     for d in Card.gets_by_tag('妹子'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     for d in Card.gets_by_tag('萝莉'):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     for d in Card.gets_by_tag(''):
         n = ids.get(d.id, 0)
         ids[d.id] = n + 1
     rs = store.execute("select user_id from me_profile where flag=N and sex=2 and marriage in (1, 2, 12)")
     for r in rs:
         i = str(r[0])
         n = ids.get(i, 0)
         ids[i] = n + 2
     love_cards = [Card.get(i) for i, n in ids.iteritems() if n > 1]
     love_cards = [d for d in love_cards if ('汉子' not in ' '.join(d.ptag_names) and d.profile.sex != 1)]
     love_cards = sorted(love_cards, key=attrgetter('score'), reverse=True)
     return love_cards
示例#3
0
文件: group.py 项目: fordream/me
    def update_tags(self, tags):
        rs = store.execute("select tag_id from me_group_tag where group_id=%s and tagger_id=%s"
            " order by tag_id", (self.id, self.user_id))
        old_tag_ids = [str(r[0]) for r in rs]
        #print 'old tag ids', old_tag_ids
        store.execute("delete from me_group_tag where group_id=%s and tagger_id=%s", (self.id, self.user_id))
        for t in tags:
            if t:
                r = store.execute("select id from me_tag where name=%s", t)
                if r and r[0]:
                    tag_id = r[0][0]
                else:
                    store.execute("insert into me_tag(name) values(%s)", t)
                    tag_id = store.get_cursor(table="me_tag").lastrowid
                if tag_id:
                    store.execute("replace into me_group_tag(group_id, tagger_id, tag_id)"
                        " values(%s,%s,%s)", (self.id, self.user_id, tag_id))

        store.commit()
        for t in self.tag_names:
            ds = Card.gets_by_tag(t)
            [self._join(d.id) for d in ds]
            Notify.new(self.user_id, self.user_id, Notify.TYPE_TAG_ADD_GROUP, extra={"group_id":self.id, "tag":t})
示例#4
0
文件: __init__.py 项目: fordream/me
def _q_lookup(req, tag):
    tag = unescape_path(tag)
    cards = Card.gets_by_tag(tag)
    return st('/cards/tag.html', **locals())