Changeset 897:3092174176d7
- Timestamp:
- 08/31/08 00:33:01 (4 months ago)
- Files:
-
- scapy/main.py (modified) (1 diff)
- scapy/utils.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
scapy/main.py
r893 r897 63 63 64 64 65 66 ############################## 67 ## Session saving/restoring ## 68 ############################## 69 70 71 def save_session(fname=None, session=None, pickleProto=-1): 72 if fname is None: 73 fname = conf.session 74 if not fname: 75 conf.session = fname = os.tempnam("","scapy") 76 log_interactive.info("Use [%s] as session file" % fname) 77 if session is None: 78 session = __builtin__.__dict__["scapy_session"] 79 80 to_be_saved = session.copy() 81 82 if to_be_saved.has_key("__builtins__"): 83 del(to_be_saved["__builtins__"]) 84 85 for k in to_be_saved.keys(): 86 if type(to_be_saved[k]) in [types.TypeType, types.ClassType, types.ModuleType]: 87 log_interactive.error("[%s] (%s) can't be saved." % (k, type(to_be_saved[k]))) 88 del(to_be_saved[k]) 89 90 try: 91 os.rename(fname, fname+".bak") 92 except OSError: 93 pass 94 f=gzip.open(fname,"wb") 95 cPickle.dump(to_be_saved, f, pickleProto) 96 f.close() 97 98 def load_session(fname=None): 99 if fname is None: 100 fname = conf.session 101 try: 102 s = cPickle.load(gzip.open(fname,"rb")) 103 except IOError: 104 s = cPickle.load(open(fname,"rb")) 105 scapy_session = __builtin__.__dict__["scapy_session"] 106 scapy_session.clear() 107 scapy_session.update(s) 108 109 def update_session(fname=None): 110 if fname is None: 111 fname = conf.session 112 try: 113 s = cPickle.load(gzip.open(fname,"rb")) 114 except IOError: 115 s = cPickle.load(open(fname,"rb")) 116 scapy_session = __builtin__.__dict__["scapy_session"] 117 scapy_session.update(s) 118 65 119 66 120 ################ scapy/utils.py
r896 r897 373 373 374 374 375 376 ############################## 377 ## Session saving/restoring ## 378 ############################## 379 380 381 def save_session(fname, session=None, pickleProto=-1): 382 if session is None: 383 session = scapy_session 384 385 to_be_saved = session.copy() 386 387 if to_be_saved.has_key("__builtins__"): 388 del(to_be_saved["__builtins__"]) 389 390 for k in to_be_saved.keys(): 391 if type(to_be_saved[k]) in [types.TypeType, types.ClassType, types.ModuleType]: 392 log_interactive.error("[%s] (%s) can't be saved." % (k, type(to_be_saved[k]))) 393 del(to_be_saved[k]) 394 395 try: 396 os.rename(fname, fname+".bak") 397 except OSError: 398 pass 399 f=gzip.open(fname,"wb") 400 cPickle.dump(to_be_saved, f, pickleProto) 401 f.close() 402 403 def load_session(fname): 404 try: 405 s = cPickle.load(gzip.open(fname,"rb")) 406 except IOError: 407 s = cPickle.load(open(fname,"rb")) 408 scapy_session.clear() 409 scapy_session.update(s) 410 411 def update_session(fname): 412 try: 413 s = cPickle.load(gzip.open(fname,"rb")) 414 except IOError: 415 s = cPickle.load(open(fname,"rb")) 416 scapy_session.update(s) 375 ################### 376 ## Object saving ## 377 ################### 417 378 418 379