<s> import os , sys , string , marshal <EOL> from shutil import copy , copytree <EOL> delpyo = <NUM_LIT:0> <EOL> def timestamp ( name ) : <EOL> try : <EOL> s = os . stat ( name ) <EOL> except OSError : <EOL> return None <EOL> return long ( s [ <NUM_LIT:8> ] ) <EOL> def comp ( name ) : <EOL> try : <EOL> dirs = os . listdir ( name ) <EOL> for item in dirs : <EOL> fullname = os . path . join ( name , item ) <EOL> comp ( fullname ) <EOL> except OSError : <EOL> ext = name [ - <NUM_LIT:3> : ] <EOL> if delpyo == <NUM_LIT:1> : <EOL> if ext == '<STR_LIT>' : <EOL> print "<STR_LIT>" , name <EOL> os . remove ( name ) <EOL> return <EOL> if ( ext != "<STR_LIT>" ) : <EOL> return <EOL> outname = name [ : - <NUM_LIT:3> ] + "<STR_LIT>" <EOL> intime = timestamp ( name ) <EOL> outtime = timestamp ( outname ) <EOL> if outtime is not None and outtime >= intime : <EOL> return <EOL> base = os . path . basename ( name ) <EOL> print "<STR_LIT>" , name , "<STR_LIT:to>" , outname <EOL> f = open ( name , "<STR_LIT:r>" ) <EOL> source = string . replace ( f . read ( ) , "<STR_LIT:\r\n>" , "<STR_LIT:\n>" ) + '<STR_LIT:\n>' <EOL> try : <EOL> code = compile ( source , base , "<STR_LIT>" ) <EOL> of = open ( outname , "<STR_LIT:wb>" ) <EOL> marshal . dump ( code , of ) <EOL> except SyntaxError , se : <EOL> er = "<STR_LIT>" + str ( se . lineno ) + "<STR_LIT::>" <EOL> print er + se . text , <EOL> offset = se . offset + len ( er ) - <NUM_LIT:1> <EOL> print "<STR_LIT:U+0020>" * offset + "<STR_LIT>" <EOL> outDir = '<STR_LIT>' <EOL> pyExt = '<STR_LIT>' <EOL> stdlibs = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ] <EOL> def createDir ( dir ) : <EOL> global outDir <EOL> md = os . path . join ( outDir , dir ) <EOL> print '<STR_LIT>' , md <EOL> try : <EOL> os . mkdir ( md ) <EOL> except : <EOL> pass <EOL> def install ( file ) : <EOL> global outDir <EOL> outFile = os . path . join ( outDir , file ) <EOL> print '<STR_LIT>' , file , '<STR_LIT:to>' , outFile <EOL> copy ( file , outFile ) <EOL> def installPy ( file ) : <EOL> global pyExt <EOL> install ( file + '<STR_LIT:.>' + pyExt ) <EOL> def installPys ( dir , files ) : <EOL> for i in files : <EOL> installPy ( os . path . join ( dir , i ) ) <EOL> def installAllPys ( dir ) : <EOL> global pyExt <EOL> gext = '<STR_LIT:.>' + pyExt <EOL> files = os . listdir ( dir ) <EOL> goodFiles = [ ] <EOL> for file in files : <EOL> if os . path . isfile ( os . path . join ( dir , file ) ) == <NUM_LIT:0> : <EOL> continue <EOL> ( name , ext ) = os . path . splitext ( file ) <EOL> if ext == gext : <EOL> goodFiles . append ( name ) <EOL> installPys ( dir , goodFiles ) <EOL> def installDir ( dir , files ) : <EOL> createDir ( dir ) <EOL> for i in files : <EOL> install ( os . path . join ( dir , i ) ) <EOL> def doit ( ) : <EOL> global outDir <EOL> global pyExt <EOL> if len ( sys . argv ) > <NUM_LIT:1> : <EOL> outDir = sys . argv [ <NUM_LIT:1> ] <EOL> if len ( sys . argv ) > <NUM_LIT:2> : <EOL> pyExt = '<STR_LIT:.>' + sys . argv [ <NUM_LIT:2> ] <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installDir ( '<STR_LIT>' , stdlibs ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> install ( '<STR_LIT>' ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installPys ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> createDir ( '<STR_LIT>' ) <EOL> installAllPys ( '<STR_LIT>' ) <EOL> def main ( ) : <EOL> global delpyo <EOL> if pyExt == '<STR_LIT>' : <EOL> comp ( '<STR_LIT>' ) <EOL> doit ( ) <EOL> if pyExt == '<STR_LIT>' : <EOL> delpyo = <NUM_LIT:1> <EOL> comp ( '<STR_LIT>' ) <EOL> raw_input ( "<STR_LIT>" ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> main ( ) </s>
