def run(): try: opts, args = getopt.getopt(sys.argv[1:], 'ho:') except getopt.error as msg: print(str(msg) + '\n\n' + __doc__, file=sys.stderr) sys.exit() for opt, arg in opts: if opt == '-h': print(__doc__, file=sys.stderr) sys.exit() elif opt == '-o': options.set_from_cmdline(arg, sys.stderr) v = get_current_version() print(v.get_long_version()) from twisted.copyright import version as twisted_version print("Twisted version %s.\n" % (twisted_version,)) prepare() start()
def main(argv): null = False server = "localhost" port = options["html_ui", "port"] prob = 1.0 train_as = None try: opts, args = getopt.getopt( argv, "hns:p:r:t:o:", ["help", "null", "server=", "port=", "prob=", "train=", "option="]) except getopt.error: usage(globals(), locals()) sys.exit(1) for opt, arg in opts: if opt in ("-h", "--help"): usage(globals(), locals()) sys.exit(0) elif opt in ("-n", "--null"): null = True elif opt in ("-s", "--server"): server = arg elif opt in ("-p", "--port"): port = int(arg) elif opt in ("-r", "--prob"): n = float(arg) if n < 0.0 or n > 1.0: usage(globals(), locals()) sys.exit(1) prob = n elif opt in ("-t", "--train"): arg = arg.capitalize() if arg not in ("Ham", "Spam"): usage(globals(), locals()) sys.exit(1) train_as = arg elif opt in ('-o', '--option'): options.set_from_cmdline(arg, sys.stderr) if args: usage(globals(), locals()) sys.exit(1) data = sys.stdin.read() if not null: sys.stdout.write(data) if random.random() < prob: try: if train_as is not None: which_text = "Train as %s" % (train_as, ) post_multipart("%s:%d" % (server, port), "/train", [("which", which_text), ("text", "")], [("file", "message.dat", data)]) else: post_multipart("%s:%d" % (server, port), "/upload", [], [('file', 'message.dat', data)]) except: # not an error if the server isn't responding pass
def main(): """Main program; parse options and go.""" from os.path import join, split import getopt try: opts, args = getopt.getopt(sys.argv[1:], 'hqao:', ['option=']) except getopt.error as msg: usage(1, msg) loud = True all_data = False for opt, arg in opts: if opt == '-h': usage(0) elif opt == '-q': loud = False elif opt == '-a': all_data = True elif opt in ('-o', '--option'): options.set_from_cmdline(arg, sys.stderr) data = [] # list of (time_received, dirname, basename) triples if loud: print("Scanning everything") now = time.time() hdir = os.path.dirname(options["TestDriver", "ham_directories"]) sdir = os.path.dirname(options["TestDriver", "spam_directories"]) if all_data: hdir = os.path.dirname(hdir) sdir = os.path.dirname(sdir) files = glob.glob(os.path.join(hdir, "*", "*", "*")) if sdir != hdir: files.extend(glob.glob(os.path.join(sdir, "*", "*", "*"))) else: files = glob.glob(os.path.join(hdir, "*", "*")) files.extend(glob.glob(os.path.join(sdir, "*", "*"))) for name in files: if loud: sys.stdout.write("%-78s\r" % name) sys.stdout.flush() when_received = get_time(name) or now data.append((when_received,) + split(name)) if loud: print("") print("Sorting ...") data.sort() if loud: print("Renaming first pass ...") for dummy, dirname, basename in data: os.rename(join(dirname, basename), join(dirname, "-" + basename)) if loud: print("Renaming second pass ...") earliest = data[0][0] # timestamp of earliest msg received i = 0 for when_received, dirname, basename in data: extension = os.path.splitext(basename)[-1] group = int((when_received - earliest) / SECONDS_PER_DAY) newbasename = "%04d-%06d" % (group, i) os.rename(join(dirname, "-" + basename), join(dirname, newbasename + extension)) i += 1
def main(args): try: opts, args = getopt.getopt(args, "hrto:", ["help", "re", "tokenize", "option="]) except getopt.GetoptError as msg: usage(msg) return 1 usere = False tokenizestdin = False for opt, arg in opts: if opt in ("-h", "--help"): usage() return 0 elif opt in ("-r", "--re"): usere = True elif opt in ("-t", "--tokenize"): tokenizestdin = True elif opt in ("-o", "--option"): options.set_from_cmdline(arg, sys.stderr) if usere and tokenizestdin: usage("-r and -t may not be used at the same time") return 1 dbname, usedb = database_type(opts) db = open_storage(dbname, usedb) if tokenizestdin: args = tokenize(sys.stdin) if args: print_spamcounts(args, db, usere) return 0 else: usage("need tokens on cmd line or -t w/ msg on stdin") return 1
def main(): """Main program; parse options and go.""" global loud global nsets global ngroups global nmess try: opts, args = getopt.getopt(sys.argv[1:], 'hn:g:m:o:', ['option=']) except getopt.error as msg: usage(2, msg) if args: usage(2, "Positional arguments not allowed") for opt, arg in opts: if opt == '-h': usage(0) elif opt == '-n': nsets = int(arg) elif opt == '-g': ngroups = int(arg) elif opt == '-m': nmess = int(arg) elif opt in ('-o', '--option'): options.set_from_cmdline(arg, sys.stderr) hamdir = os.path.dirname(options["TestDriver", "ham_directories"]) spamdir = os.path.dirname(options["TestDriver", "spam_directories"]) distribute(hamdir) distribute(spamdir) print()
def main(argv): null = False server = "localhost" port = options["html_ui", "port"] prob = 1.0 train_as = None try: opts, args = getopt.getopt( argv, "hns:p:r:t:o:", ["help", "null", "server=", "port=", "prob=", "train=", "option="] ) except getopt.error: usage(globals(), locals()) sys.exit(1) for opt, arg in opts: if opt in ("-h", "--help"): usage(globals(), locals()) sys.exit(0) elif opt in ("-n", "--null"): null = True elif opt in ("-s", "--server"): server = arg elif opt in ("-p", "--port"): port = int(arg) elif opt in ("-r", "--prob"): n = float(arg) if n < 0.0 or n > 1.0: usage(globals(), locals()) sys.exit(1) prob = n elif opt in ("-t", "--train"): arg = arg.capitalize() if arg not in ("Ham", "Spam"): usage(globals(), locals()) sys.exit(1) train_as = arg elif opt in ("-o", "--option"): options.set_from_cmdline(arg, sys.stderr) if args: usage(globals(), locals()) sys.exit(1) data = sys.stdin.read() if not null: sys.stdout.write(data) if random.random() < prob: try: if train_as is not None: which_text = "Train as %s" % (train_as,) post_multipart( "%s:%d" % (server, port), "/train", [("which", which_text), ("text", "")], [("file", "message.dat", data)], ) else: post_multipart("%s:%d" % (server, port), "/upload", [], [("file", "message.dat", data)]) except: pass
def main(): """Main program; parse options and go.""" global loud try: opts, args = getopt.getopt(sys.argv[1:], 'hfqnrd:p:g:s:o:') except getopt.error as msg: usage(2, msg) if not opts: usage(2, "No options given") force = False trainnew = False removetrained = False good = [] spam = [] for opt, arg in opts: if opt == '-h': usage(0) elif opt == "-f": force = True elif opt == "-n": trainnew = True elif opt == "-q": loud = False elif opt == '-g': good.append(arg) elif opt == '-s': spam.append(arg) elif opt == "-r": removetrained = True elif opt == '-o': options.set_from_cmdline(arg, sys.stderr) pck, usedb = storage.database_type(opts) if args: usage(2, "Positional arguments not allowed") if usedb == None: usedb = options["Storage", "persistent_use_database"] pck = get_pathname_option("Storage", "persistent_storage_file") h = hammie.open(pck, usedb, "c") for g in good: if loud: print("Training ham (%s):" % g) train(h, g, False, force, trainnew, removetrained) sys.stdout.flush() save = True for s in spam: if loud: print("Training spam (%s):" % s) train(h, s, True, force, trainnew, removetrained) sys.stdout.flush() save = True if save: h.store()
def main(argv): null = False server = "localhost" port = options["html_ui", "port"] prob = 1.0 try: opts, args = getopt.getopt(argv, "hns:p:r:o:", ["help", "null", "server=", "port=", "prob=", "option="]) except getopt.error: usage(globals(), locals()) sys.exit(1) for opt, arg in opts: if opt in ("-h", "--help"): usage(globals(), locals()) sys.exit(0) elif opt in ("-n", "--null"): null = True elif opt in ("-s", "--server"): server = arg elif opt in ("-p", "--port"): port = int(arg) elif opt in ("-r", "--prob"): n = float(arg) if n < 0.0 or n > 1.0: usage(globals(), locals()) sys.exit(1) prob = n elif opt in ('-o', '--option'): options.set_from_cmdline(arg, sys.stderr) if args: usage(globals(), locals()) sys.exit(1) data = sys.stdin.read() if not null: sys.stdout.write(data) if random.random() < prob: try: post_multipart("%s:%d"%(server,port), "/upload", [], [('file', 'message.dat', data)]) except: # not an error if the server isn't responding pass
def run(): try: opts, args = getopt.getopt(sys.argv[1:], 'hbd:p:l:u:o:P:') except getopt.error as msg: print(str(msg) + '\n\n' + __doc__, file=sys.stderr) sys.exit() state = CoreState() state.plugin = None for opt, arg in opts: if opt == '-h': print(__doc__, file=sys.stderr) sys.exit() elif opt == '-b': state.launch_ui = True elif opt == '-l': state.proxyPorts = [_addressAndPort(a) for a in arg.split(',')] elif opt == '-u': state.ui_port = int(arg) elif opt == '-o': options.set_from_cmdline(arg, sys.stderr) elif opt == '-P': state.plugin = load_plugin(arg, state) if state.plugin is None: print("No plugin argument (-P) was given.", file=sys.stderr) print(__doc__, file=sys.stderr) sys.exit() v = get_current_version() print("%s\n" % (v.get_long_version("SpamBayes Core Proxy"),)) if 0 <= len(args) <= 2: if len(args) == 1: state.servers = [(args[0], 110)] elif len(args) == 2: state.servers = [(args[0], int(args[1]))] try: state.prepare() except AlreadyRunningException: print("ERROR: The proxy is already running on this machine.", file=sys.stderr) print("Please stop the existing proxy and try again", file=sys.stderr) return try: main(state) finally: state.close() else: print(__doc__, file=sys.stderr)
def main(): try: opts, args = getopt.getopt(sys.argv[1:], 'hqe:o:') except getopt.error as msg: usage(1, msg) quiet = False exclude = ["Sent Messages", "Drafts"] for opt, arg in opts: if opt == '-h': usage(0) elif opt == '-e': exclude.append(arg) elif opt == '-q': quiet = True elif opt in ('-o', '--option'): options.set_from_cmdline(arg, sys.stderr) if len(args) != 1: usage(1, "Must specify exactly one path.") export(args[0], exclude, quiet)
def main(): import getopt try: opts, args = getopt.getopt(sys.argv[1:], 'hn:s:o:', ['HamTrain=', 'SpamTrain=', 'HamTest=', 'SpamTest=', 'ham-keep=', 'spam-keep=', 'option=']) except getopt.error as msg: usage(1, msg) nsets = seed = hamtrain = spamtrain = None hamtest = spamtest = hamkeep = spamkeep = None for opt, arg in opts: if opt == '-h': usage(0) elif opt == '-n': nsets = int(arg) elif opt == '-s': seed = int(arg) elif opt == '--HamTest': hamtest = int(arg) elif opt == '--SpamTest': spamtest = int(arg) elif opt == '--HamTrain': hamtrain = int(arg) elif opt == '--SpamTrain': spamtrain = int(arg) elif opt == '--ham-keep': hamkeep = int(arg) elif opt == '--spam-keep': spamkeep = int(arg) elif opt in ('-o', '--option'): options.set_from_cmdline(arg, sys.stderr) if args: usage(1, "Positional arguments not supported") if nsets is None: usage(1, "-n is required") if hamkeep is not None: msgs.setparms(hamkeep, spamkeep, seed=seed) else: msgs.setparms(hamtrain, spamtrain, hamtest, spamtest, seed) drive(nsets)
def run(): global state try: opts, args = getopt.getopt(sys.argv[1:], 'hbd:p:l:u:o:') except getopt.error as msg: print(str(msg) + '\n\n' + __doc__, file=sys.stderr) sys.exit() for opt, arg in opts: if opt == '-h': print(__doc__, file=sys.stderr) sys.exit() elif opt == '-b': state.launchUI = True elif opt == '-l': state.proxyPorts = [_addressAndPort(a) for a in arg.split(',')] elif opt == '-u': state.uiPort = int(arg) elif opt == '-o': options.set_from_cmdline(arg, sys.stderr) state.DBName, state.useDB = storage.database_type(opts) v = get_current_version() print("%s\n" % (v.get_long_version("SpamBayes POP3 Proxy"),)) if 0 <= len(args) <= 2: if len(args) == 1: state.servers = [(args[0], 110)] elif len(args) == 2: state.servers = [(args[0], int(args[1]))] if len(args) > 0 and state.proxyPorts == []: state.proxyPorts = [('', 110)] try: prepare() except AlreadyRunningException: print("ERROR: The proxy is already running on this machine.", file=sys.stderr) print("Please stop the existing proxy and try again", file=sys.stderr) return start() else: print(__doc__, file=sys.stderr)
if opt == '-h': usage(0) elif opt == "-f": force = True elif opt == "-n": trainnew = True elif opt == "-q": loud = False elif opt == '-g': good.append(arg) elif opt == '-s': spam.append(arg) elif opt == "-r": removetrained = True elif opt == '-o': options.set_from_cmdline(arg, sys.stderr) pck, usedb = storage.database_type(opts) if args: usage(2, "Positional arguments not allowed") if usedb == None: # Use settings in configuration file. usedb = options["Storage", "persistent_use_database"] pck = get_pathname_option("Storage", "persistent_storage_file") h = hammie.open(pck, usedb, "c") for g in good: if loud: print "Training ham (%s):" % g
sys.exit() for opt, arg in opts: if opt == '-h': print >> sys.stderr, __doc__ sys.exit() elif opt == '-b': state.launchUI = True # '-p' and '-d' are handled by the storage.database_type call # below, in case you are wondering why they are missing. elif opt == '-l': state.proxyPorts = [_addressAndPort(a) for a in arg.split(',')] elif opt == '-u': state.uiPort = int(arg) elif opt == '-o': options.set_from_cmdline(arg, sys.stderr) state.DBName, state.useDB = storage.database_type(opts) # Let the user know what they are using... v = get_current_version() print "%s\n" % (v.get_long_version("SpamBayes POP3 Proxy"), ) if 0 <= len(args) <= 2: # Normal usage, with optional server name and port number. if len(args) == 1: state.servers = [(args[0], 110)] elif len(args) == 2: state.servers = [(args[0], int(args[1]))] # Default to listening on port 110 for command-line-specified servers.
def main(): try: opts, args = getopt.getopt(sys.argv[1:], 'hiuo:', []) except getopt.error as msg: usage(1, msg) interactive = False do_unsures = False for opt, arg in opts: if opt == '-h': usage(0) elif opt == '-i': interactive = True elif opt == '-u': do_unsures = True elif opt in ('-o', '--option'): from spambayes.Options import options options.set_from_cmdline(arg, sys.stderr) for name in args: try: f = open(name + ".txt") except IOError: f = open(name) print("===", name, "===") fp = [] fn = [] unsures = [] for line in f: if line.startswith(' new fp: '): fp.extend(eval(line[12:])) elif line.startswith(' new fn: '): fn.extend(eval(line[12:])) elif line.startswith(' new unsure: '): unsures.extend(eval(line[16:])) fp.sort(cmpf) fn.sort(cmpf) unsures.sort(cmpf) print("--- fp ---") for x in fp: if interactive and os.path.exists(x): print(open(x).read()) answer = input('(S)pam, (R)emove or (L)eave : ').lower() if answer == 's': os.rename(x, os.path.join("Data", "Spam", "reservoir", os.path.basename(x))) elif answer == 'r': os.remove(x) elif answer == 'l': pass else: print("Unknown answer. Left.") else: print(x) print("--- fn ---") for x in fn: if interactive and os.path.exists(x): print(open(x).read()) answer = input('(H)am, (R)emove or (L)eave : ').lower() if answer == 'h': os.rename(x, os.path.join("Data", "Ham", "reservoir", os.path.basename(x))) elif answer == 'r': os.remove(x) elif answer == 'l': pass else: print("Unknown answer. Left.") else: print(x) if do_unsures: print("--- unsure ---") for x in unsures: if interactive and os.path.exists(x): print(open(x).read()) print(x) answer = input('(H)am, (S)pam, (R)emove or (L)eave : ').lower() if answer == 'h': os.rename(x, os.path.join("Data", "Ham", "reservoir", os.path.basename(x))) elif answer == 's': os.rename(x, os.path.join("Data", "Spam", "reservoir", os.path.basename(x))) elif answer == 'r': os.remove(x) elif answer == 'l': pass else: print("Unknown answer. Left.") else: print(x)