summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/corpix/uarand/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/corpix/uarand/scripts')
-rwxr-xr-xvendor/github.com/corpix/uarand/scripts/extract-user-agents22
-rwxr-xr-xvendor/github.com/corpix/uarand/scripts/generate-useragents-go50
2 files changed, 72 insertions, 0 deletions
diff --git a/vendor/github.com/corpix/uarand/scripts/extract-user-agents b/vendor/github.com/corpix/uarand/scripts/extract-user-agents
new file mode 100755
index 000000000..3c6b8af86
--- /dev/null
+++ b/vendor/github.com/corpix/uarand/scripts/extract-user-agents
@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+import sys
+import xml.etree.ElementTree as XML
+from argparse import ArgumentParser
+
+
+if __name__ == "__main__":
+ p = ArgumentParser(
+ description=(
+ "Expects XML from "
+ "http://techpatterns.com/downloads/firefox/useragentswitcher.xml "
+ "to be passed into STDIN and outputs user agents from this XML."
+ )
+ )
+ p.parse_args()
+
+ sys.stderr.write("Reading stdin...\n")
+ doc = XML.iterparse(sys.stdin)
+ for _, node in doc:
+ ua = node.get("useragent")
+ if ua != "" and ua is not None:
+ print(ua)
diff --git a/vendor/github.com/corpix/uarand/scripts/generate-useragents-go b/vendor/github.com/corpix/uarand/scripts/generate-useragents-go
new file mode 100755
index 000000000..e65581b3a
--- /dev/null
+++ b/vendor/github.com/corpix/uarand/scripts/generate-useragents-go
@@ -0,0 +1,50 @@
+#!/usr/bin/env python3
+import sys
+from os.path import exists, expanduser
+from argparse import ArgumentParser
+
+
+header = """package {package}
+
+var (
+\t// UserAgents is a list of browser and bots user agents.
+\tUserAgents = []string{{
+"""
+
+item = """\t\t"{content}",\n"""
+
+footer = """\t}}
+)\n
+"""
+
+if __name__ == "__main__":
+ p = ArgumentParser(
+ description=(
+ "Expects a list of user agents delimited by new line character "
+ "to be passed into STDIN and generates go code with this data."
+ )
+ )
+ p.add_argument(
+ "package",
+ help="Go package name to use",
+ default="uarand"
+ )
+ args = p.parse_args().__dict__
+
+ params = args.copy()
+ sys.stderr.write("Reading stdin...\n")
+ sys.stdout.write(
+ header.format(**params)
+ )
+
+ for line in sys.stdin:
+ sys.stdout.write(
+ item.format(
+ content=line.strip(),
+ **params
+ )
+ )
+
+ sys.stdout.write(
+ footer.format(**params)
+ )