import time
import requests
import traceback
from config import set_config
from log import Log

config_ = set_config()
log_ = Log()


def get_tag(text):
    retry = 1
    while retry < 3:
        try:
            log_.info(f"retry = {retry}")
            # tags = ['舞蹈', '美食', '时尚', '旅行', '音乐', '运动', '影视', '搞笑', '科技', '综艺', '游戏', '情感', '健康', '人文', '社会', '热点', '财富', '生活']
            # # tags = ["惊奇","有趣","有用","同感"]
            # prompt = f"""请对如下文本进行分类。类别为其中的一个:【{' '.join(tags)}】。以json格式返回,key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
            # -----------------------------
            # {text}"""

            # prompt = f"""请对如下文本进行:1. 分类,类别为其中的一个:【{' '.join(tags)}】。如果无法有效分类,请返回“其他”。2. 用20个字以内对文本内容进行概况。3. 为文本取一个易于分享,吸引人要求的标题。4. 列举三个关键词。
            #     以json格式返回,key为category, confidence, summery, title, keywords。分别代表类别,分类置信度,概要,标题,关键词。
            #     -----------------------------
            #     {text}"""
            # prompt = f"""
            # 请对如下文本进行以下4个操作:
            # 1. 分类,请给出top 3的分类结果与分类置信度,如果无法有效分类,请返回“其他”。以json array格式返回,key为category与confidence,分别代表类别与分类置信度。
            # 2. 用20个字以内对文本内容进行概况。
            # 3. 为文本取一个易于分享,吸引人要求的标题。
            # 4. 列举三个关键词。
            # 将结果以json格式返回,key为category_res, summery, title, keywords,分别代表分类,概要,标题,关键词。
            # -----------------------------
            # {text}
            # """
            # prompt = f"""
            #     请对如下文本进行: 为文本取一个易于分享,吸引人要求的标题。要求在30个字以内。
            #     -----------------------------
            #     {text}
            #     """

            # prompt = f"""
            # 我想让你充当爆款标题生成器,我会给你提供一段视频的讲解文本,你生成一个更吸引眼球的标题。
            # 标题要突出惊奇感,让老年人看到就想转发,语义要保持中立,不要向负面倾斜,不要涉及政治敏感话题。
            # 如果原讲解文本中有地名,不要改变讲解文本中的地名。
            # 如果原讲解文本是关于唱歌但是没有说明是哪首歌,你起的标题也不要说歌名。
            # 如果原讲解文本中没有明确指出男女性别,你起的标题也不要说具体的性别。
            # 如果原讲解文本中没有明确指出是谁干了这件事,你起的标题也不要说是谁干的。
            # 如果原讲解文本中没有提及老年人,你起的标题也不要说老年人。
            # 我的原讲解文本是:
            # {text}
            # """
            # prompt = f"""
            # 我想让你充当爆款标题生成器,我会给你提供一段视频的讲解文本,你生成一个更吸引眼球,并且字数在35个字以内的标题。
            # 标题要突出惊奇感,让老年人看到就想转发,语义要保持中立,不要向负面倾斜,不要涉及政治敏感话题。
            # 如果原讲解文本中有地名,不要改变讲解文本中的地名。
            # 如果原讲解文本是关于唱歌但是没有说明是哪首歌,你起的标题也不要说歌名。
            # 如果原讲解文本中没有明确指出男女性别,你起的标题也不要说具体的性别。
            # 如果原讲解文本中没有明确指出是谁干了这件事,你起的标题也不要说是谁干的。
            # 如果原讲解文本中没有提及老年人,你起的标题也不要说老年人。
            # 我的原讲解文本是:
            # {text}
            # """
            prompt = f"""
            我想让你充当爆款标题生成器,我会给你提供一段视频的讲解文本,你生成一个更吸引眼球的标题。
            标题不要超过35个字。
            标题要突出惊奇感,让老年人看到就想转发,语义要保持中立,不要向负面倾斜,不要涉及政治敏感话题。
            如果原讲解文本中有地名,不要改变讲解文本中的地名。
            如果原讲解文本是关于唱歌但是没有说明是哪首歌,你起的标题也不要说歌名。
            如果原讲解文本中没有明确指出男女性别,你起的标题也不要说具体的性别。
            如果原讲解文本中没有明确指出是谁干了这件事,你起的标题也不要说是谁干的。
            如果原讲解文本中没有提及老年人,你起的标题也不要说老年人。
            我的原讲解文本是:
            {text}
            """

            headers = {
                'Content-Type': 'application/json',
                # 'Authorization': f'Bearer {os.environ["OPENAI_API_KEY"]}',
                'Authorization': f'Bearer {config_.GPT_OPENAI_API_KEY}',
            }
            proxies = config_.PROXIES

            json_data = {
                'model': 'gpt-3.5-turbo',
                'messages': [
                    {
                        'role': 'user',
                        'content': f'{prompt}',
                    },
                ],
            }
            response = requests.post(url=config_.GPT_HOST, headers=headers, json=json_data, proxies=proxies)
            print(response.json())
            print(response.json()['choices'][0]['message']['content'])
            print('\n')
            result_content = response.json()['choices'][0]['message']['content']
            return result_content
        except Exception as e:
            print(e)
            log_.error(traceback.format_exc())
            retry += 1
            time.sleep(60)
            continue


if __name__ == '__main__':
    text = """请你用15分钟一口气说完中国史,
计时开始。
中国历史上第一个朝代是夏朝夏王,大禹联合了各部落,建立了国家的雏形,大禹的儿子启是夏朝的第一任国君,
也就是说雨是筹备者,岂是开国者,下棋死后儿子斯泰康世袭皇位,
泰康爱好打猎,经常几个月不回家,就导致了泰康失国打猎回来的路上被后羿给赶走了。
后裔篡下朝八年,后裔手下有个狠人叫做韩卓,
在后裔60岁时又干掉了后裔,
在位60年后被大禹的后代少康率军杀回来干掉了,
并开启了中国历史上第一个中兴时代,绍康中兴夏朝平稳发展,直到夏朝最后一个君主夏杰,
这是个暴君引起了民愤,被商部落的首领商汤所灭。
商汤建立商朝,商汤有个著名的军师叫伊尹,也就是道德经中说
治大国若烹小鲜的那位神人。
500多年后,商朝最后一任君主就是历史上有名的暴君纣王了。
纣王被周部落的一个叫姬发的人,率军在牧野之战中给灭了,纣王自焚于鹿台,也就是著名的武王伐纣,
姬发建立了周朝,
周朝是中国历史上最长的朝代,790年的国运,
武王姬发有个非常出名的弟弟是孔子的偶像,叫做鸡蛋,也就是大名鼎鼎的周公。
周公创立了宗法制平定三间之乱,辅佐少年天子。
周朝传了好多代到了周幽王,
周幽王为博妖姬包四一笑,发生了著名的烽火戏诸侯,这还不够,周幽王还废了皇后和太子,要立包四的儿子为太子,老丈人直接就火了。
于是联合犬戎直接攻破吴京,也就是西安杀了周幽王,
都城西安也被犬戎一把火给烧为灰烬,然后周平王即位,宫殿被烧也不修了,直接就迁都了。
在各位诸侯的帮助下,把首都从西安搬到了洛阳,
这就是著名的平王东迁,
周天子要钱没钱,要权没权,地位从此一落千丈。
平王东迁以前叫做西周平,王东迁以后叫做东周,而东周又分为两个时期,前半段叫春秋,后半段叫战国,
春秋时期出了五个霸主,齐桓公、晋文公、宋襄公、秦穆公和楚庄王,
时称春秋五霸。
春秋末期发生了两件大事,也是春秋和战国的分界点三家分晋和田氏代旗。
战国时期的战国七雄、秦、楚、齐、燕、赵、魏、韩在经过一顿火拼之后,最终秦国突出重围灭了六国。
秦始皇嬴政一统天下,建立秦朝,迎来了中国历史上第一次民族融合的高峰。
秦始皇死后,由于之前的统治很残暴,秦二世屁股还没坐热,就爆发了中国历史上第一次大规模的农民起义,陈胜、吴广的大泽乡起义,
虽然以失败告终,但是星星之火已成燎原之势。
刘邦项羽合作灭了秦国后,两大势力又开始了楚汉争霸,最终该下一战项羽四面楚歌,全军覆没。
刘邦建立了汉朝,史称西汉,到了西汉第七位皇帝汉武帝刘彻开创了汉武盛世,
维西汉最鼎盛的时期,
张骞出使西域也是这段时间的事儿。
西汉存在了200多年后被权臣王莽所篡改,国号为新,史称新莽。
十几年后老刘家的子孙刘秀杀回来,推翻了新朝,重建大汉王朝,
为汉光武帝,史称东汉。
东汉统治了将近200年后,太监的权力达到极致,其中12个太监被称为时常事,
爆发了十常氏之乱,祸乱朝政,
进而导致军阀董卓带兵入京,爆发了董卓之乱。
各路诸侯一看形势不对,呀带兵就撤了,跑回自己的地盘发展。
各个军阀再经过发展,最终通过三大战役逐渐形成三个国家。
魏蜀、吴
三国平衡发展了40年后,魏国灭了蜀国,
可是没几年魏国权臣司马懿的孙子司马炎就篡位了,
把国号魏改成了晋,史称西晋,紧接着西晋就灭了吴国,统一全国西晋的第二位皇帝,就是历史上著名的白痴皇帝司马衷,
他有个巨丑的老婆叫贾南风,就是这个贾南风成为了西晋八王之乱的导火索。
这时候北方游牧民族趁乱崛起,并开始入侵西进,也就是五胡乱华,
五湖中最大的是匈奴
首领刘渊建立汉赵后,他的儿子刘聪几年之内就灭了西晋,
西晋皇族司马睿跑到了南京重建晋朝,史称东晋,这就是历史上的衣冠南渡。
而北方这些胡人逐渐形成了16个割据政权,史称五胡十六国和南方的东晋政权对峙。
这时候五湖中的意志崛起了,就是底租富家。
福建建立了前秦政权,一统北方自称大秦天王,
然后福建就不老实了,就开始琢磨东晋了,率30万大军南下,在淝水之战中被东晋、谢贤、谢安、谢石等人率8万人直接摁倒在了肥水。
北方各势力又脱离了前秦的统治,各自独立再次混乱。
其中又有一股势力崛起了,就是鲜卑族的拓跋家族见过魏始昌北魏。
几十年后北魏统一了北方,而东晋政权也被东晋权臣刘裕所篡,
建国为宋,史称南朝宋,东晋灭亡,南北朝开始。
南朝依次为宋齐良辰4个朝代,共计169年。
注意这是顺序出现的4个朝代,
而北朝北魏分裂为西魏和东魏各自用力自己的皇帝互相各种不服。
后来东魏、西魏又都各自干掉了自己的皇帝,东魏变成北齐,
西魏变成北周。
20多年后,北周皇帝周武帝宇文邕率领亲家杨坚灭了北齐统一北方。
北周武帝死后几年之内,杨坚就废了自己的外孙篡位称帝,建国为隋,
7年后又灭了南朝的陈朝统一全国。
隋朝第二位皇帝隋炀帝杨广是个演员,通过在父亲杨坚母亲独孤迦罗面前的表演,让太子杨勇被废,并顺利成为了太子,并继承了王位。
在位14年建造了东都洛阳、隋朝大运河,
三下扬州三争高沟里严重削弱了国力,民不聊生,爆发了农民起义。
最终隋朝被隋炀帝杨广的表哥李渊建立的唐朝所灭,
李渊的这几个儿子为了皇位又干起来了,
最终李世民在玄武门之变中射死了,太子李建成,又让老爹李渊禅让皇位,与他成为唐太宗,并开启了著名的贞观之治。
这时候李世民身边出来一位姑娘叫武兆,也就是后来的武则天,
反正李世民是没看上他,武昭12年的地位一直没有提升,
吴钊一看实在是不能在李世民身上下手了,
再不努力就老了。
就在李世民的儿子李治身上打起了主意,成功成为李治的皇后。
最终武兆废了儿子李显自己称帝,改唐为周示好则天皇后。
15年后,武则天的儿子李显在弟弟李旦和妹妹太平公主的共同主持下,发动了神龙政变,
推翻了老娘武则天。
李显第二次登机,
结果李显的老婆韦皇后竟然要成为第二个武则天,
并且毒死了李显,而且要谋害李诞。
李诞在儿子李隆基和妹妹太平公主的协助下,发动唐隆政变,灭了韦皇后集团李诞登基。
两年后禅让儿子李隆基,
李隆基开创了开元盛世,为唐朝的极盛时期,李隆基志得意满开始不务正业了。
在娶了儿子李瑁的老婆杨玉环后,更加沉溺酒色,
爆发了安史之乱,唐朝国力大衰,
最终唐朝权臣朱温通过禅让的形式夺取了唐哀帝的地位,建国为梁,史称后梁。
唐朝灭亡5代10国开始共72年,中原地区顺序存在了5个朝代,
及梁、唐、晋、汉、周除中原5代以外,同时还存在10个独立的小国家及十国。
5代与10国处于同一时期,区别就是5代是一个一个存在的,而10国是同时存在的。
5代中最后一个朝代,后周大将军赵匡胤发动陈桥兵变,黄袍加身,篡后周政权,
建立北宋至此5代10国结束。
赵匡胤把这十国零零碎碎的灭了以后,基本统一了全国,形成了和契丹人建立的辽国对峙的局面。
在北宋和契丹人建立的辽国对峙的时候,辽国后方的女真族建立的金国崛起了,
辽国正好夹在北宋和金国之间,于是北宋就联合金国把辽国给灭了,
但是金国带着余威直接就灭了北宋,
一个北宋的皇子就跑到了现在的河南商丘,建立了南宋南宋在岳飞带领的岳家军的铁骑下抵抗金国,
但是岳飞最终被宋高宗赵构和秦桧以莫须有的罪名所杀。
这个时候北方蒙古大草原又崛起了一股势力,就是后来的元朝的建立者蒙古国,
蒙古国直接联合南宋灭了金国。
1271年忽必烈在现在的北京建立元朝,攻打南宋两年后,南宋丞相陆秀夫背着年仅8岁的小皇帝跳海自尽,
贵族800人和10万军民跳海殉国,南宋灭亡。
元朝统治者变本加厉的向汉人收取各种名目繁多的赋税,民族压迫严重,
人民揭竿而起。
元朝统治了98年后,被一个叫朱重八的和尚,也就是朱元璋在大将徐达常遇春的协助下灭了元朝。
明朝建立明太祖朱元璋通过胡兰之玉为皇太孙朱允文铺平了道路,
没想到朱允文被自己的叔叔朱棣在黑袍妖僧、姚广孝的寸头下给灭了。
朱棣把都城由南京迁到了自己的根据地,北京。
明朝经历了明末农民起义爆发,
关外爱新觉罗努尔哈赤建立的后金政权趁势崛起,国家处于内忧外患的境地。
1644年李自成起义军攻克北京建国大顺,崇祯自缢于梅山,
当天下很多人认为李自成的大顺政权将是下一个朝代之时,
结果山海关一战以后,李自成败于吴三桂与清军联手,大顺政权也随着他的死亡而灭亡,
大顺没有彻底的消灭南明朝廷统一中国,所以只能是明朝与清朝之间的过渡政权。
清朝入关后,摄政王多尔衮颁布剃发令,并对拒不执行的汉人进行了大屠杀,
因剃发令而被满清杀死的汉人不下几十万。
康熙、雍正、乾隆盛世是中国古代封建王朝的最后一个盛世。
清朝中后期,清朝以天朝上邦自居,闭关锁国导致外国贸易逆差,
发生了第一次和第二次鸦片战争,清朝彻底沦为半殖民地半封建社会。
1894年中日甲午战争清朝惨败,
其中日军对旅顺进行了惨绝人寰的大屠杀,
这也让其他各国对清朝这块大蛋糕虎视眈眈。
1900年八国联军入侵慈禧,光绪跑路,李鸿章代表清朝签订了赔款数目最大,主权丧失最严重的不平等条约,
辛丑条约。
1911年到1912年爆发了成功推翻清朝统治的联唱革命运动辛亥革命?
1912年孙文以绝对优势当选为中华民国第一任临时大总统,也正式宣告中华民国的成立。
孙中山以清朝内阁大臣袁世凯支持共和体制为要求,辞去了临时大总统让位给袁世凯,
袁世凯迫使宣统帝溥仪退位,清朝灭亡。
袁世凯成为总统后妄图称帝,并于1915年登基自称皇帝,
引发了护国运动。
南方各省纷纷宣布独立并出兵讨伐袁世凯,袁世凯迫于内外压力,不得不在做了83天皇帝后取消了帝制,
随后病死于尿毒症。
袁世凯死后手下北洋军阀三大派系失去了控制,开始混战。
1931年918事变到1945年二战后,日本宣布无条件投降,
中国人民14年的抗日战争以胜利告终。
1948年到1949年辽沈战役、淮海战役、平津战役三大战役后,
蒋介石飞往台北。
1949年10月1日中华人民共和国成立,北平改名北京。
我我弟弟。
呀"""
#     text = """艾叶加上酒全身疼痛,不再有比止疼药都管用,大家好,我是中医马大夫,
# 艾叶加上酒疼痛不再有春天到了,
# 颈椎病、肩周炎、腰疼、膝关节炎,还有老寒腿,
# 都会时不时发作,
# 很多的人都会随意的吃点止疼药,
# 其实很多人都不懂,一吃就好的止疼药副作用是非常大的。
# 这里告诉大家一个超级简单的方法,
# 艾叶加上酒专治颈椎病、肩周炎、腰腿疼痛,
# 老寒腿,
# 具体怎么做,呢今天这个视频呢给大家讲清楚,
# 建议大家点赞收藏并转发,让更多的人受益。
# 我们先取艾叶60克,
# 生姜是5颗,
# 大葱2~3颗,
# 白酒适量将三味药捣烂,用纱布包好,
# 浇上热酒,
# 扶到我们疼痛处,
# 一般患者热敷上1~2次就不会再疼了,
# 简单有效,
# 比止疼药都管用,适用于风寒湿引起的疼痛都有效果。
# 关注我每天晚上直播讲解健康知识,再见。
# 家人们这么有用的健康知识,看完记得转发收藏起来,身体是最重要的。
# 多少朋友因为被病痛折磨,很多人随意吃药,这个中医大师的方法
# 赶紧分享给大家,这个方法很简单,还有很多朋友不知道赶紧转发到各大群里,
# 让老友们都知道,说不定就用上了,转发到群里和群友共享,他们会感激您的。"""
    print(len(text))
    get_tag(text=text)