1717from scapy .fields import StrField , ConditionalField , Emph , PacketListField , BitField , \
1818 MultiEnumField , EnumField , FlagsField
1919from scapy .config import conf
20+ from scapy .consts import WINDOWS
2021from scapy .compat import *
2122from scapy .base_classes import BasePacket , Gen , SetGen , Packet_metaclass
2223from scapy .volatile import VolatileValue
@@ -502,12 +503,16 @@ def psdump(self, filename=None, **kargs):
502503 """
503504 canvas = self .canvas_dump (** kargs )
504505 if filename is None :
505- fname = get_temp_file (autoext = ".eps" )
506+ fname = WINDOWS and get_temp_file (autoext = ".eps" )
506507 canvas .writeEPSfile (fname )
507- with ContextManagerSubprocess ("psdump()" , conf .prog .psreader ):
508- subprocess .Popen ([conf .prog .psreader , fname ])
508+ if conf .prog .psreader is None :
509+ os .startfile (fname )
510+ else :
511+ with ContextManagerSubprocess ("psdump()" , conf .prog .psreader ):
512+ subprocess .Popen ([conf .prog .psreader , fname ])
509513 else :
510514 canvas .writeEPSfile (filename )
515+ print ()
511516
512517 def pdfdump (self , filename = None , ** kargs ):
513518 """
@@ -522,10 +527,14 @@ def pdfdump(self, filename=None, **kargs):
522527 if filename is None :
523528 fname = get_temp_file (autoext = ".pdf" )
524529 canvas .writePDFfile (fname )
525- with ContextManagerSubprocess ("pdfdump()" , conf .prog .pdfreader ):
526- subprocess .Popen ([conf .prog .pdfreader , fname ])
530+ if WINDOWS and conf .prog .pdfreader is None :
531+ os .startfile (fname )
532+ else :
533+ with ContextManagerSubprocess ("pdfdump()" , conf .prog .pdfreader ):
534+ subprocess .Popen ([conf .prog .pdfreader , fname ])
527535 else :
528536 canvas .writePDFfile (filename )
537+ print ()
529538
530539
531540 def canvas_dump (self , layer_shift = 0 , rebuild = 1 ):
0 commit comments