Exemple #1
0
    def intents_time_actions(self):
        # 5 时间+行为
        query = self.request.Message()
        btc = teamin.BizTaskCount(self.request.AgentName,
                                  self.request.AgentUID)
        me = teamin.NameFindNames().ResolveName(self.request.UID(), self.me)
        start = None
        end = None
        if hasattr(self, 'stime') and hasattr(self, 'etime'):
            s = CNTime(self.stime)
            e = CNTime(self.etime)
            st, en = CNTime.Merge(s.guess_time(), e.guess_time())
            logger.info('raw time {},{}'.format(st, en))
            start, end = st, en
        if hasattr(self, 'etime') and not hasattr(self, 'stime'):
            time = CNTime(self.etime)
            fromt, tot = time.guess_time()
            logger.info('raw time {},{}'.format(fromt, tot))
            start, end = fromt, tot

        (count, finished,
         expired), weburl = btc.SpecifyDblSelect(query,
                                                 me,
                                                 stime=start,
                                                 etime=end,
                                                 actions=self.actions)
        if (start != None and end != None):
            self.intent.set_interval(int(start.timestamp() * 1000),
                                     int(end.timestamp() * 1000), weburl)
        return self.Response(count, finished, expired, weburl)
Exemple #2
0
    def intents_who_time(self):
        # 2 谁+时间
        query = self.request.Message()
        bdc = teamin.BizDocCount(self.request.AgentName, self.request.AgentUID)
        executors = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                       self.executor)
        start = None
        end = None
        if hasattr(self, 'stime') and hasattr(self, 'etime'):
            s = CNTime(self.stime)
            e = CNTime(self.etime)
            st, en = CNTime.Merge(s.guess_time(), e.guess_time())
            logger.info('raw time {},{}'.format(st, en))
            start, end = st, en

        if hasattr(self, 'etime') and not hasattr(self, 'stime'):
            time = CNTime(self.etime)
            fromt, tot = time.guess_time()
            logger.info('raw time {},{}'.format(fromt, tot))
            start, end = fromt, tot

        (count, weburl) = bdc.SpecifyDblSelect(query,
                                               executors,
                                               stime=start,
                                               etime=end,
                                               executors=executors)
        self.intent.set_interval(int(start.timestamp() * 1000),
                                 int(end.timestamp() * 1000), weburl)
        return self.Response(count, weburl)
Exemple #3
0
    def Go(self):
        self.initSlots()
        query = self.request.Message()
        bdc = teamin.BizDocCount(self.request.AgentName, self.request.AgentUID)

        if hasattr(self, 'creator'):
            creator = teamin.NameFindNames().ResolveName(
                self.request.UID(), self.creator)
            count, weburl = bdc.SpecifyCreators(query, creator)
            self.intent.set_interval(0, 0, weburl)

        elif hasattr(self, 'stime') or hasattr(self, 'etime'):
            me = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.me)

            if hasattr(self, 'stime') and hasattr(self, 'etime'):
                # 6号和7号
                s = CNTime(self.stime)
                e = CNTime(self.etime)
                start, end = CNTime.Merge(s.guess_time(), e.guess_time())
                # start = str(int(st.timestamp() * 1000))
                # end = str(int(en.timestamp() * 1000))

            if hasattr(self, 'etime') and not hasattr(self, 'stime'):
                # endt:6号到7号
                time = CNTime(self.etime)
                start, end = time.guess_time()
                logger.info('raw time {},{}'.format(start, end))
                # start = str(int(fromt.timestamp()*1000))
                # end = str(int(tot.timestamp()*1000))

            logger.info('类型:s:{},e:{}'.format(type(str(start)),
                                              type(str(end))))
            logger.info('时间戳:{}~{}'.format(start, end))
            count, weburl = bdc.SpecifyTime(query, start, end, me)
            self.intent.set_interval(int(start.timestamp() * 1000),
                                     int(end.timestamp() * 1000), weburl)

        elif hasattr(self, 'actions'):
            me = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.me)
            count, weburl = bdc.SpecifyCreators(query, me)
            self.intent.set_interval(0, 0, weburl)

        return self.Response(count, weburl)
Exemple #4
0
 def getNames(self, ids):
     if type(ids) == str:
         ids = [int(v) for v in ids.split(',') if v]
     x = {}
     for v in ids:
         y = teamin.NameFindNames().ResolveUID(v)
         if y:
             x[y] = v
     return x
Exemple #5
0
    def Go(self):
        self.initSlots()
        query = self.request.Message()
        creator = teamin.NameFindNames().ResolveName(self.request.UID(), self.creator)

        bdc = teamin.BizDocCount(self.request.AgentName, self.request.AgentUID)
        count, weburl = bdc.SpecifyCreators(query, creator)
        self.intent.set_interval(0, 0, weburl)

        return self.Response(count, weburl)
Exemple #6
0
    def Go(self):
        self.initSlots()
        query = self.request.Message()
        follower = teamin.NameFindNames().ResolveName(self.request.UID(), self.follower)

        btc = teamin.BizTaskCount(self.request.AgentName, self.request.AgentUID)
        (count, finished, expired), weburl = btc.SpecifyFollowers(query, follower)
        self.intent.set_interval(0, 0, weburl)

        return self.Response(count, finished, expired, weburl)
Exemple #7
0
 def intents_st_actions(self):
     # 6 状态+行为
     query = self.request.Message()
     btc = teamin.BizTaskCount(self.request.AgentName,
                               self.request.AgentUID)
     me = teamin.NameFindNames().ResolveName(self.request.UID(), self.me)
     (count, finished,
      expired), weburl = btc.SpecifyDblSelect(query,
                                              me,
                                              status=self.status,
                                              actions=self.actions)
     self.intent.set_interval(0, 0, weburl)
     return self.Response(count, finished, expired, weburl)
Exemple #8
0
 def intents_who_st(self):
     # 1 谁+状态
     query = self.request.Message()
     btc = teamin.BizTaskCount(self.request.AgentName,
                               self.request.AgentUID)
     executors = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.executor)
     (count, finished,
      expired), weburl = btc.SpecifyDblSelect(query,
                                              executors,
                                              status=self.status,
                                              executors=executors)
     self.intent.set_interval(0, 0, weburl)
     return self.Response(count, finished, expired, weburl)
Exemple #9
0
 def intents_who_actions(self):
     # 3 谁+行为
     query = self.request.Message()
     btc = teamin.BizTaskCount(self.request.AgentName,
                               self.request.AgentUID)
     executors = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.executor)
     if self.slot_cr:
         act = '创建'
     else:
         act = self.actions
     (count, finished,
      expired), weburl = btc.SpecifyDblSelect(query,
                                              executors,
                                              actions=act,
                                              executors=executors)
     self.intent.set_interval(0, 0, weburl)
     return self.Response(count, finished, expired, weburl)
Exemple #10
0
    def Go(self):
        self.initSlots()
        query = self.request.Message()
        btc = teamin.BizTaskCount(self.request.AgentName,
                                  self.request.AgentUID)
        slot = self.intent.slots.filter(type='user_tsk').first()
        keyword = self.parse_keyword(self.intent, query, slot)

        if hasattr(self, 'executor'):
            executor = teamin.NameFindNames().ResolveName(
                self.request.UID(), self.executor)
            (count, finished,
             expired), weburl = btc.SpecifyExecutors(query, executor)
            self.intent.set_interval(0, 0, weburl)

        elif hasattr(self, 'stime') or hasattr(self, 'etime'):
            me = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.me)
            start = None
            end = None
            if hasattr(self, 'stime') and hasattr(self, 'etime'):
                s = CNTime(self.stime)
                e = CNTime(self.etime)
                st, en = CNTime.Merge(s.guess_time(), e.guess_time())
                if st == None or en == None:
                    (count, finished, expired), weburl = btc.Deprecated(
                        self.request.UID(),
                        0,
                        0,
                        query,
                        keyword,
                        matcher.extract_watch(query),
                    )
                    self.intent.set_interval(0, 0, weburl)
                start = st
                end = en

            if hasattr(self, 'etime') and not hasattr(self, 'stime'):
                # endt:6号到7号
                setime = CNTime(self.etime)
                fromt, tot = setime.guess_time()
                logger.info('raw time {},{}'.format(fromt, tot))
                if fromt == None or tot == None:
                    (count, finished, expired), weburl = btc.Deprecated(
                        self.request.UID(),
                        0,
                        0,
                        query,
                        keyword,
                        matcher.extract_watch(query),
                    )
                    self.intent.set_interval(0, 0, weburl)
                start = fromt
                end = tot

            logger.info('类型:s:{},e:{}'.format(type(str(start)),
                                              type(str(end))))
            logger.info('时间:{}~{}'.format(start, end))
            (count, finished,
             expired), weburl = btc.SpecifyTime(query, start, end, me)
            if (start != None and end != None):
                self.intent.set_interval(int(start.timestamp() * 1000),
                                         int(end.timestamp() * 1000), weburl)
            return self.Response(count, finished, expired, weburl)

        elif hasattr(self, 'status'):
            me = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.me)
            (count, finished,
             expired), weburl = btc.SpecifyStatus(query, self.status, me)
            self.intent.set_interval(0, 0, weburl)

        elif hasattr(self, 'actions'):
            me = teamin.NameFindNames().ResolveName(self.request.UID(),
                                                    self.me)
            (count, finished,
             expired), weburl = btc.SpecifyActions(query, self.actions, me)
            self.intent.set_interval(0, 0, weburl)

        return self.Response(count, finished, expired, weburl)