Welcome, guest | Sign In | My Account | Store | Cart
#####################################
def makeCheck( target, depend ):  # version 2010/02/11
   
try:
        targmod
= os.stat( target ).st_mtime
       
if depend is not None:
           
for ix in depend:
               
if os.stat( ix ).st_mtime > targmod:
                   
if debug:
                       
print("makeCheck:",
                              target
, targmod,
                              ix
, os.stat( ix ).st_mtime
                             
)
                       
return True
       
return False
   
except:
       
return True
#####################################
def zipScript( dest, main, progs = None, helps = None, compile = False
               
):  # version 2010/02/11
   
"""main gets renamed to __main__.py in the zip file
progs are a list of programs or modules to be included, source or compiled
helps is a list of helper modules to be included, source or compiled
"""

    tozip
= []
    toremove
= []
    funnymain
= "__main__.py"
   
   
if makeCheck( dest, (main,)) \
           
or makeCheck( dest, progs ) \
           
or makeCheck( dest, helps ):        
       
# only if it is out of date

       
import zipfile
        zf
= zipfile.ZipFile( dest, "w", zipfile.ZIP_DEFLATED )

       
if compile:
           
import py_compile
            ixc
= funnymain + "c"
            toremove
.append( ixc )
            tozip
.append( ixc )
            py_compile
.compile( main, ixc, doraise = True )
           
for ix in progs:
                ixc
= ix + "c"
                toremove
.append( ixc )
                tozip
.append( ixc )
                py_compile
.compile( ix, ixc, doraise = True )
           
for ix in helps:
                ixc
= ix + "c"
                toremove
.append( ixc )
                tozip
.append( ixc )
                py_compile
.compile( ix, ixc, doraise = True )
       
else:
           
for ix in progs:
                tozip
.append( ix )
           
for ix in helps:
                tozip
.append( ix )
            zf
.write( ix, funnymain )

       
for ix in tozip:
            zf
.write( ix )
        zf
.close()

       
for ix in toremove:
            os
.remove( ix )
#####################################

History

  • revision 2 (14 years ago)
  • previous revisions are not available