Ask Your Question
0

I have a python code works for PSSE32 I want it for PSSE33, what should I change in this code?

asked 2018-04-10 11:21:06 -0500

anonymous user

Anonymous

updated 2018-04-10 11:40:50 -0500

Here is the first lines, I think I need something to do with glade (GUI) at the middle of the code.

import gtk
from gtk import *
import gtk.glade
from gtk.glade import *
import os
import gtk.gdk
import string
import time
import shutil
import pango

RootPath = "D:\\personal\\ThreeWTool\\"

result = os.path.exists(RootPath)

PSSE_Path = "D:\\Progra~1\\PTI\\PSSE33"

Must_Path = "D:\Program Files\PTI\MUST 10.2\Program"  
if result != True:
    RootPath = "C:\\personal\\ThreeWTool\\"
    PSSE_Path = "C:\\Program Files (x86)\\PTI\\PSSE33"
    Must_Path = "C:\\Program Files\\PTI\\MUST 10.2\\Program"  

import sys,copy,winsound
if not os.path.exists('C:\\Program Files (x86)\\PTI\\PSSE33\\'):
    os.listdir('C:\\Program Files (x86)\\PTI\\PSSE33\\PSSBIN')
    sys.path.append('C:\\Program Files (x86)\\PTI\\PSSE33\\PSSBIN')
    sys.path.append('C:\\Program Files (x86)\\PTI\\PSSE33\\PSSLIB')
    sys.path.append('C:\\GTK\\lib')
    os.environ['PATH'] += ';C:\\Program Files (x86)\\PTI\\PSSE33\\PSSLIB'
    os.environ['PATH'] += ';C:\\Program Files (x86)\\PTI\\PSSE33\\PSSBIN'
    os.environ['PATH'] += ';C:\\GTK\\lib'
else:
    os.listdir('C:\\Program Files (x86)\\PTI\\PSSE33\\PSSBIN')
    sys.path.append('C:\\Program Files (x86)\\PTI\\PSSE33\\PSSBIN')
    sys.path.append('C:\\Program Files (x86)\\PTI\\PSSE33\\PSSLIB')
    sys.path.append('C:\\GTK\\lib')
    os.environ['PATH'] += ';C:\\Program Files (x86)\\PTI\\PSSE33\\PSSLIB'
    os.environ['PATH'] += ';C:\\Program Files (x86)\\PTI\\PSSE33\\PSSBIN'
    os.environ['PATH'] += ';C:\\GTK\\lib'

import psspy
_i,_f=psspy.getbatdefaults()
ierr=psspy.psseinit(100000) 

class ProfileClass:
        def __init__(self):
                pass

def CWD(filename):
    # current working directory
    length = len(filename) 
    k = length
    while k:
        k -=1
        if filename[k] == '/' or filename[k] == '\\':
            break
    try:
            os.chdir(filename[:k])
    except:
            os.chdir(RootPath)

class Application:
        def __init__(self):
                self.xml = gtk.glade.XML("glade/3WTool.glade")
                nameFuncMap = {}
                for key in dir(self.__class__):
                        nameFuncMap[key] = getattr(self,key)
                self.xml.signal_autoconnect(nameFuncMap)
                self.Load()
                gtk.main()

        def Load(self):
            profilename = RootPath+"options.txt" 

            try:
                os.chdir(RootPath)
            except:
                os.mkdir(RootPath)

            try:
                f = open(profilename,"r")
                contents=f.read()
                f.close()
                eachline = contents.split("\n")
                self.xml.get_widget("3WLabel").set_text(eachline[1])
                self.xml.get_widget("InputCLabel").set_text(eachline[2])
                self.xml.get_widget("IdevLabel").set_text(eachline[3])
                self.xml.get_widget("OutputCLabel").set_text(eachline[4])
                SelectAnswer = {"Yes":0,"No":1}
                self.xml.get_widget("CreateCLabel").set_active(SelectAnswer[eachline[5]])
#                PSSE_Path=eachline[8]
#                Must_Path=eachline[9]                
            except:
                f = open(profilename,"w")
                contents=[]
                contents.append("Three Winding Conversion Tool Version 1\n")
                contents.append("\n")
                contents.append("\n")
                contents.append("\n")
                contents.append("\n")
                contents.append("\n")
                contents.append("\n")
#                contents.append(PSSE_Path+"\n")
#                contents.append(Must_Path+"\n")
                contents.append("\n")
                contents.append("\n")
                contents.append("\n")
                f.writelines(contents)
                f.close()
                f = open(profilename,"r")
                contents=f.readline()
                f.close()

            os.chdir(RootPath)
edit retag flag offensive close merge delete

Comments

Did you try running this in PSS/e 33 before posting? If so, post the error that is giving you problems... It should work assuming you don't have any dependencies on python 2.5.x -- PSS/e 32 runs Python 2.5.x while PSS/e 33 runs python 2.7.x

wassup_doc gravatar imagewassup_doc ( 2018-04-12 09:52:36 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2018-04-12 02:51:21 -0500

jfconroy gravatar image

If you run the code in v33 and get some errors, then you will be pointed to the lines of code that need to be changed. If you're lucky, all will run in v33 without any errors.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Question Tools

1 follower

Stats

Asked: 2018-04-10 11:21:06 -0500

Seen: 375 times

Last updated: Apr 12 '18