Новая проблема (((
Откатил версию python на 3.2 в ней работает cx-freeze. Сделал exe.
В командной строке все работает.
При ассоциации не работает, уже сломал все голову ни чего не понимаю..
при ассоциации файл копируется в папку, где находится скрипт.
(Там где находится скрипт, есть внешняя программа которая видоизменяет xml.)
Внешняя программа отрабатывает, там где запустили ассоцированный файл, причем она обрабатывает его там, хотя физически она находится в папке со скриптом и обрабатывать должна там где скрипт.
# -*- coding: utf-8 -*-
import sys, os
from PyQt4 import QtCore, QtGui
from formviewer import Ui_MainWindow
import xml.etree.ElementTree as etree
class MainWindow(QtGui.QMainWindow, Ui_MainWindow): # или QWidget QMainWindow
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setAcceptDrops(True)
self.setupUi(self)
QtCore.QObject.connect(self.action_2, QtCore.SIGNAL('triggered()'),QtGui.qApp, QtCore.SLOT('quit()'))
QtCore.QObject.connect(self.action, QtCore.SIGNAL('triggered()'), self.showDialog)
# обрабатываем параметры с коммандной строки
try:
input_file = sys.argv[1]
except:
input_file = None
if input_file and input_file[-3:].upper() == "XML":
program_path = os.path.realpath(os.path.dirname(sys.argv[0]))
tempXmlFile = os.path.basename(input_file)
shutil.copy(input_file, program_path) #копируем xml в папку со скриптом
os.system(os.path.join(program_path, "test.exe")) # внешняя программа которая видоизменяет файл xml
fileName = os.path.join(program_path, tempXmlFile)
# отправляем на обработку в пассер
self.showfile(fileName)
def showfile(self, fileName):
# тут начинаем пассерить документ....