ohlala-switcher - ohlala-switcher - Ohlala User-Agent Switcher for surf
 (HTM) git clone git://r-36.net/ohlala-switcher
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       ohlala-switcher (1216B)
       ---
            1 #!/usr/bin/env python
            2 # coding=utf-8
            3 #
            4 # Copy me if you can.
            5 # by 20h
            6 #
            7 
            8 import os
            9 import sys
           10 import getopt
           11 import requests
           12 import json
           13 
           14 def usage(app):
           15         app = os.path.basename(app)
           16         print("usage: %s [-h] [uri|[file|-]]" % (app), file=sys.stderr)
           17         sys.exit(1)
           18 
           19 def main(args):
           20         try:
           21                 opts, largs = getopt.getopt(args[1:], "h")
           22         except getopt.GetoptError as err:
           23                 print(str(err))
           24                 usage(args[0])
           25 
           26         defaulturi = "https://raw.githubusercontent.com/dillbyrne/random-agent-spoofer/master/data/json/useragents.json"
           27         for o, a in opts:
           28                 if o == "-h":
           29                         usage(args[0])
           30                 else:
           31                         assert False, "unhandled option"
           32 
           33         if len(largs) > 0:
           34                 sstr = largs[0]
           35         else:
           36                 sstr = defaulturi
           37 
           38         if sstr == "-":
           39                 fd = sys.stdin.read()
           40                 js = json.read(fd)
           41                 fd.close()
           42         elif os.path.exists(sstr):
           43                 fd = open(sstr, "r")
           44                 js = json.read(fd)
           45                 fd.close()
           46         else:
           47                 fd = requests.get(sstr)
           48                 js = fd.json()
           49                 fd.close()
           50 
           51         for ptype in js:
           52                 if not "list" in ptype:
           53                         continue
           54                 for ostype in ptype["list"]:
           55                         if not "useragents" in ostype:
           56                                 continue
           57                         for ua in ostype["useragents"]:
           58                                 if not "useragent" in ua:
           59                                         continue
           60                                 print("%s" % (ua["useragent"]))
           61 
           62         return 0
           63 
           64 if __name__ == "__main__":
           65         sys.exit(main(sys.argv))
           66