cache.py 文件源码

python
阅读 42 收藏 0 点赞 0 评论 0

项目:infoset-ng 作者: PalisadoesFoundation 项目源码 文件源码
def idx_agent(self):
        """Insert new agent into database if necessary.

        Args:
            None

        Returns:
            idx_agent: IDX value of agent from database

        """
        # Initialize key variables
        agent_name = self.agent_data['agent_name']
        id_agent = self.agent_data['id_agent']

        # Get information on agent from database
        agent_data = db_agent.GetIDAgent(id_agent)

        # Return if agent already exists in the table
        if agent_data.exists() is True:
            idx_agent = agent_data.idx_agent()
            return idx_agent

        # Get information on agent from database
        name_data = db_agentname.GetAgentName(agent_name)

        # Insert data into table if required
        # Get idx_agentname
        if name_data.exists() is False:
            record = AgentName(
                name=general.encode(agent_name))
            database = db.Database()
            try:
                database.add(record, 1145)
            except pymysql.IntegrityError:
                # There may be a duplicate agent name if this is a brand
                # new database and there is a flurry of updates from multiple
                # agents. This is OK, pass.
                #
                # We are expecting a 'pymysql.err.IntegrityError' but for some
                # reason it could not be caught.
                pass
            new_name_data = db_agentname.GetAgentName(agent_name)
            idx_agentname = new_name_data.idx_agentname()
        else:
            idx_agentname = name_data.idx_agentname()

        # Add record to the database
        new_record = Agent(
            id_agent=general.encode(id_agent),
            idx_agentname=idx_agentname)
        database = db.Database()
        database.add(new_record, 1081)

        # Get idx_agent value from database
        new_agent_data = db_agent.GetIDAgent(id_agent)
        idx_agent = new_agent_data.idx_agent()
        return idx_agent
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号