srcanamdw/codescanner/pyinstaller/support/unpackTK.py
changeset 1 22878952f6e2
equal deleted inserted replaced
0:509e4801c378 1:22878952f6e2
       
     1 # Copyright (C) 2005, Giovanni Bajo
       
     2 # Based on previous work under copyright (c) 2002 McMillan Enterprises, Inc.
       
     3 #
       
     4 # This library is free software; you can redistribute it and/or
       
     5 # modify it under the terms of the GNU Lesser General Public
       
     6 # License as published by the Free Software Foundation; either
       
     7 # version 2.1 of the License, or (at your option) any later version.
       
     8 #
       
     9 # This library is distributed in the hope that it will be useful,
       
    10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    12 # Lesser General Public License for more details.
       
    13 #
       
    14 # You should have received a copy of the GNU Lesser General Public
       
    15 # License along with this library; if not, write to the Free Software
       
    16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
       
    17 import carchive
       
    18 import sys
       
    19 import os
       
    20 
       
    21 this = carchive.CArchive(sys.executable)
       
    22 tk = this.openEmbedded('tk.pkg')
       
    23 targetdir = os.environ['_MEIPASS2']
       
    24 for fnm in tk.contents():
       
    25     stuff = tk.extract(fnm)[1]
       
    26     outnm = os.path.join(targetdir, fnm)
       
    27     dirnm = os.path.dirname(outnm)
       
    28     if not os.path.exists(dirnm):
       
    29         os.makedirs(dirnm)
       
    30     open(outnm, 'wb').write(stuff)
       
    31 tk = None
       
    32