First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!

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 Apr 10 '18

anonymous user

Anonymous

updated Apr 10 '18

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)

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 (Apr 12 '18)

1 answer

Sort by ยป oldest newest most voted
0

answered Apr 12 '18

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.

link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.
Want to format code in your answer? Here is a one minute demo on Youtube

Add Answer

[hide preview]

Question Tools

1 follower

Stats

Asked: Apr 10 '18

Seen: 378 times

Last updated: Apr 12 '18