Adding upstream version 1.9.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
2bf0435a35
commit
031879240c
356 changed files with 26924 additions and 0 deletions
50
scripts/download_redis_commands.py
Executable file
50
scripts/download_redis_commands.py
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!python3
|
||||
|
||||
"""
|
||||
Download all Reids commands from https://redis.io/commands.
|
||||
Output to csv format.
|
||||
"""
|
||||
import sys
|
||||
import csv
|
||||
|
||||
from lxml import etree
|
||||
import requests
|
||||
|
||||
stdout_writer = csv.writer(sys.stdout)
|
||||
|
||||
|
||||
def eprint(*args, **kwargs):
|
||||
print(*args, file=sys.stderr, **kwargs)
|
||||
|
||||
|
||||
eprint("Download https://redis.io/commands page...")
|
||||
page = requests.get("https://redis.io/commands").text
|
||||
eprint("Download finished!")
|
||||
|
||||
eprint("Start prase page...")
|
||||
html = etree.HTML(page)
|
||||
commands = html.xpath("//div[@class='container']/ul/li")
|
||||
stdout_writer.writerow(["Group", "Command", "Args", "Summary", "Redis.io link"])
|
||||
command_rows = []
|
||||
# parse page
|
||||
for command in commands:
|
||||
group = command.attrib["data-group"]
|
||||
command_name = command.xpath("./a/span[@class='command']/text()")[0].strip()
|
||||
command_args = command.xpath(
|
||||
"./a/span[@class='command']/span[@class='args']/text()"
|
||||
)[0].strip()
|
||||
command_summary = command.xpath("./a/span[@class='summary']/text()")[0].strip()
|
||||
command_link = "https://redis.io" + command.xpath("./a/@href")[0].strip()
|
||||
command_rows.append(
|
||||
[
|
||||
group,
|
||||
command_name,
|
||||
" ".join(command_args.split()),
|
||||
command_summary,
|
||||
command_link,
|
||||
]
|
||||
)
|
||||
# write to stdout
|
||||
for row in sorted(command_rows):
|
||||
stdout_writer.writerow(row)
|
||||
eprint("Down.")
|
Loading…
Add table
Add a link
Reference in a new issue