XZZ/worker/pkg.py
2021-05-31 20:41:09 +08:00

62 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import requests
import time
from zzcore import StdAns
class Ans(StdAns):
# AllowGroup = [874769998,596678277,7343311]
def GETMSG(self):
if len(self.parms) < 2:
msg = '请输入包名 如:/pkg linux testing 查询 Testing 的 linux 软件'
return msg
elif self.parms[1] == 'help':
msg = '使用 /pkg 包名 查询Core, Extra, Testing, Multilib, Multilib-Testing, ' \
'Community, Community-Testing仓库以及AUR的软件 '
return msg
else:
repo = str()
try:
if len(self.parms) > 1:
repo = '&repo=' + self.parms[2].capitalize()
except:
print('repo empty')
req = requests.get(
url='https://archlinux.org/packages/search/json/?name=' + self.parms[1] + repo).json()
if not req['results']:
req = requests.get(url='https://aur.archlinux.org/rpc/?v=5&type=info&arg=' + self.parms[1]).json()
if req['resultcount'] == 0:
req = requests.get(url='https://aur.archlinux.org/rpc/?v=5&type=search&arg=' + self.parms[1]).json()
# print(req)
if req['resultcount'] > 0:
name = '包名:' + req['results'][0]['Name']
# pkgname = req['results'][0]['pkgname']
version = '版本:' + req['results'][0]['Version']
description = '描述:' + req['results'][0]['Description']
maintainer = '维护:' + str(req['results'][0]['Maintainer'])
numvotes = '投票:' + str(req['results'][0]['NumVotes'])
updatetime = req['results'][0]['LastModified']
updatetime = time.localtime(int(updatetime))
updatetime = time.strftime("%Y-%m-%d %H:%M:%S", updatetime)
url = req['results'][0]['URL']
if url is None:
url = '链接None'
else:
url = '链接:' + url
msg = '仓库AUR\n' + name + '\n' + version + '\n' + description + '\n' + maintainer \
+ '\n' + numvotes + '\n更新日期:' + updatetime + '\n' + url
return msg
else:
repo = req['results'][0]['repo']
pkgname = req['results'][0]['pkgname']
pkgver = req['results'][0]['pkgver'] + '\n'
pkgdesc = req['results'][0]['pkgdesc']
url = req['results'][0]['url']
updatetime = req['results'][0]['last_update']
updatetime = updatetime.replace('T', ' ')
updatetime = updatetime[0:16] + '\n'
# return repo,pkgname,pkgver,pkgdesc,url
# print('仓库:' + repo + '\n包名' + pkgname + '\n版本' + pkgver + '\n描述' + pkgdesc + '\n上游' + url + '\n')
msg = '仓库:' + repo + '\n包名:' + pkgname + '\n版本:' + pkgver + '描述:' + pkgdesc + '\n更新日期:' \
+ updatetime + '上游:' + url
return msg