def add_calendar(self, token, organizer, readonly, set_as_default, summary, color, description):
        """
        添加日历
        :param token: access_token的值
        :param organizer: 请求参数的值
        :param readonly: 请求参数的值
        :param set_as_default: 请求参数的值
        :param summary: 请求参数的值
        :param color: 请求参数的值
        :param description: 请求参数的值
        :return: 返回响应体
        """
        # Template模板需要二次改变的值
        p_data = {"ip": self.ip, "token": token, "organizer": organizer, "readonly": readonly,
                  "set_as_default": set_as_default, "summary": summary, "color": color, "description": description}
        res = self.send_api_data(self.yml_api_path, p_data, "add")
        try:
            cal_id = res["cal_id"]
            # 当cal_id获取到了,就把cal_id放到数据库中
            sql.insert(f"insert into cal_id(userid,cal_id) values('{organizer}','{cal_id}')")
        except KeyError:
            log.error(f"响应不正确,无法插入数据")

        # 用yml文件保存数据的方法不要了
        # try:
        #     cal_id=res["cal_id"]
        #     cal_id_list=self.load_yaml(self.cal_id_path)
        #     cal_id_list.append(cal_id)
        #     cal_id_list=list(filter(None,cal_id_list))
        #     self.save_yaml(self.cal_id_path,cal_id_list)
        # except:
        #     log.info(f"无法获取到cal_id")
        return res
Example #2
0
 def delete(self, query):
     """
     运行mysql的delete语句
     :param query: delete语句
     """
     log.info(f"delete语句为:{query}")
     try:
         # 定义游标,并通过execute执行delete语句
         cur = self.conn.cursor()
         cur.execute(query)
         # delete执行成功后commit提交数据
         cur.execute("commit")
         log.info("数据删除成功")
     except Exception as e:
         log.error(f"delete语句失败,原因:{e}")
         # delete失败后rollback回滚数据
         cur.execute("rollback")
Example #3
0
 def insert(self, query):
     """
     运行mysql的select语句
     :param query: insert语句
     """
     log.info(f"insert语句为:{query}")
     try:
         # 定义游标,并通过execute执行insert语句
         cur = self.conn.cursor()
         cur.execute(query)
         # insert执行成功后commit提交数据
         cur.execute("commit")
         log.info(f"数据插入成功")
     except Exception as e:
         log.error(f"insert 语句错误,原因是{e}")
         # insert失败后rollback回滚数据
         cur.execute("rollback")
Example #4
0
 def select(self, query):
     """
     运行mysql的select语句
     :param query: select语句
     :return: select_data:返回全部的select语句的数据
     """
     log.info(f"select语句为:{query}")
     try:
         # 定义游标,并通过execute执行sql语句
         cur = self.conn.cursor()
         cur.execute(query)
         # fetchall读取游标中的所有select数据
         select_data = cur.fetchall()
         log.info("数据查询成功")
         # 返回select数据
         return select_data
     except Exception as e:
         log.error(f"select语句错误,错误原因是:{e}")
Example #5
0
 def __init__(self):
     """
     初始化mysql的conn对家,连接数据库
     """
     # 通过配置文件获取数据库的host,port,username,password,charset,database
     host = cf.get_key("mysql", "host")
     # 从配置文件获取的值是str,需要转化成int
     port = int(cf.get_key("mysql", "port"))
     user = cf.get_key("mysql", "user")
     password = cf.get_key("mysql", "password")
     charset = cf.get_key("mysql", "charset")
     database = cf.get_key("mysql", "database")
     # 当无法连接数据库,走异常处理处理
     try:
         self.conn = pymysql.connect(host=host,
                                     port=port,
                                     user=user,
                                     password=password,
                                     charset=charset,
                                     database=database)
     except Exception as e:
         log.error(f"无法登陆数据库,错误原因:{e}")
Example #6
0
 def add_schedule(self, token, organizer, start_time, end_time, userid,
                  summary, description, location):
     """
     增加日程
     :param token: access_token的值
     :param organizer: 请求参数的值
     :param start_time: 请求参数的值
     :param end_time: 请求参数的值
     :param userid: 请求参数的值
     :param summary: 请求参数的值
     :param description: 请求参数的值
     :param location: 请求参数的值
     :return: 返回响应体
     """
     # 时间传入时间戳,get_time可以将时间字符串转化成时间戳,自己封装的
     start_time = self.get_time(start_time)
     end_time = self.get_time(end_time)
     # Template模板需要二次改变的值
     p_data = {
         "ip": self.ip,
         "token": token,
         "organizer": organizer,
         "start_time": start_time,
         "end_time": end_time,
         "userid": userid,
         "summary": summary,
         "description": description,
         "location": location
     }
     res = self.send_api_data(self.data_path, p_data, "add")
     try:
         schedule_id = res["schedule_id"]
         # 当cal_id获取到了,就把schedule_id放到数据库中
         sql.insert(
             f"insert into schedule_id(userid,schedule_id) values('{organizer}','{schedule_id}')"
         )
     except KeyError as e:
         log.error("响应不正确,无法插入数据")
     return res
 def test_get_token(self):
     a = Wework()
     log.error("test")
     print(a.get_token(self.secret))