Use of while(1) with app.mainLoop of wxpython
Dear All, I've have created a GUI (using wxPython widgets) where in I've a message log window (A TextCtrl window). I've a router.dll that helps me putting in message onto a channel. In my script that generates the GUI, I want to continuously poll the channel and populate the messages from the channel to the message log window. For this I've to put a while (1) loop, but when I do this, the GUI doesn't come up. I see the GUI coming when while(1) is removed. Is there any issue with usage of app.mainloop and while(1) together. Quick help would be really appreciated. Thanks & Regards, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Issue with wxPython GUI
Hi All, I've a probelm and solution for it to build the preface. Below it is the new problem I'm facing. Can someone help me out? *Problem:* I've have created a GUI (using wxPython widgets) where in I've a message log window (A TextCtrl window). I've a router.dll that helps me putting in message onto a channel. In my script that generates the GUI, I want to continuously poll the channel and populate the messages from the channel to the message log window. For this I've to put a while (1) loop, but when I do this, the GUI doesn't come up. I see the GUI coming when while(1) is removed. Is there any issue with usage of app.mainloop and while(1) together. *Solution: *I used: self.Bind (wx. EVT_IDLE, self.OnIdle) And in the OnIdle function, I check if the data is available on the channel. Referred: http://wiki.wxpython.org/LongRunningTasks *New Problem: *I am opening and executing a script from the GUI. The script has a many log messages, which it posts on some shared memory. The GUI reads the messages from the shared memory, in the Idle loop. But the script is huge and so the logging is not run-time. Rather this happens only after the script has executed. Moreover, the GUI becomes un-responsive till the script has completely executed. Do you have any suggestions for this? Thanks & Regards, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Re: Issue with wxPython GUI
Hi Laszlo Nagy, Thanks a lot. But the issue over here is that how will the child thread acknowledge the main thread that it has completed its task. For this I'll have to set some flag in the child thread and poll for it in the main thread. This will create a problem. Any alternatives?? Thanks & Regards, Tarun On 11/13/07, Laszlo Nagy <[EMAIL PROTECTED]> wrote: > > > > > > *New Problem: *I am opening and executing a script from the GUI. The > > script has a many log messages, > > which it posts on some shared memory. The GUI reads the messages from > > the shared memory, > > in the Idle loop. But the script is huge and so the logging is not > > run-time. > > Rather this happens only after the script has executed. Moreover, the > > GUI becomes > > un-responsive till the script has completely executed. > > > This is (probably) because you are running your script in your main > thread. While the main thread of the application is running, your > windowing system cannot process message queues. Since the updating of a > text control uses window messages, it has no chance to process them. I > recommend that you run your script in a separate (terminateable?) > thread, send your messages into a Queue instance, and load messages from > that queue in your main thread. > > > > Do you have any suggestions for this? > Well, if you do not want to create more threads, it migth work if you > call this periodically from your main thread (but I did not try this): > > > wxApp::Dispatch > > *virtual void* *Dispatch*() > > Dispatches the next event in the windowing system event queue. > > This can be used for programming event loops, e.g. > > while (app.Pending()) >Dispatch(); > > > -- http://mail.python.org/mailman/listinfo/python-list
Re: Issue with wxPython GUI
Thanks a lot Laszlo Nagy,
I used the following and it worked.
import time
from threading import *
import wx
# Button definitions
ID_START = wx.NewId()
ID_STOP = wx.NewId()
# Define notification event for thread completion
EVT_RESULT_ID = wx.NewId()
def EVT_RESULT(win, func):
"""Define Result Event."""
win.Connect(-1, -1, EVT_RESULT_ID, func)
class ResultEvent(wx.PyEvent):
"""Simple event to carry arbitrary result data."""
def __init__(self, data):
"""Init Result Event."""
wx.PyEvent.__init__(self)
self.SetEventType(EVT_RESULT_ID)
self.data = data
# Thread class that executes processing
class WorkerThread(Thread):
"""Worker Thread Class."""
def __init__(self, notify_window):
"""Init Worker Thread Class."""
Thread.__init__(self)
self._notify_window = notify_window
self._want_abort = 0
# This starts the thread running on creation, but you could
# also make the GUI thread responsible for calling this
self.start()
def run(self):
"""Run Worker Thread."""
# This is the code executing in the new thread. Simulation of
# a long process (well, 10s here) as a simple loop - you will
# need to structure your processing so that you periodically
# peek at the abort variable
for i in range(10):
time.sleep(1)
if self._want_abort:
# Use a result of None to acknowledge the abort (of
# course you can use whatever you'd like or even
# a separate event type)
wx.PostEvent(self._notify_window, ResultEvent(None))
return
# Here's where the result would be returned (this is an
# example fixed result of the number 10, but it could be
# any Python object)
wx.PostEvent(self._notify_window, ResultEvent(10))
def abort(self):
"""abort worker thread."""
# Method for use by main thread to signal an abort
self._want_abort = 1
# GUI Frame class that spins off the worker thread
class MainFrame(wx.Frame):
"""Class MainFrame."""
def __init__(self, parent, id):
"""Create the MainFrame."""
wx.Frame.__init__(self, parent, id, 'Thread Test')
# Dumb sample frame with two buttons
wx.Button(self, ID_START, 'Start', pos=(0,0))
wx.Button(self, ID_STOP, 'Stop', pos=(0,50))
self.status = wx.StaticText(self, -1, '', pos=(0,100))
self.Bind(wx.EVT_BUTTON, self.OnStart, id=ID_START)
self.Bind(wx.EVT_BUTTON, self.OnStop, id=ID_STOP)
# Set up event handler for any worker thread results
EVT_RESULT(self,self.OnResult)
# And indicate we don't have a worker thread yet
self.worker = None
def OnStart(self, event):
"""Start Computation."""
# Trigger the worker thread unless it's already busy
if not self.worker:
self.status.SetLabel('Starting computation')
self.worker = WorkerThread(self)
def OnStop(self, event):
"""Stop Computation."""
# Flag the worker thread to stop if running
if self.worker:
self.status.SetLabel('Trying to abort computation')
self.worker.abort()
def OnResult(self, event):
"""Show Result status."""
if event.data is None:
# Thread aborted (using our convention of None return)
self.status.SetLabel('Computation aborted')
else:
# Process results here
self.status.SetLabel('Computation Result: %s' % event.data)
# In either event, the worker is done
self.worker = None
class MainApp(wx.App):
"""Class Main App."""
def OnInit(self):
"""Init Main App."""
self.frame = MainFrame(None, -1)
self.frame.Show(True)
self.SetTopWindow(self.frame)
return True
if __name__ == '__main__':
app = MainApp(0)
app.MainLoop()
Thanks & Regards,
Tarun
On 11/13/07, Laszlo Nagy <[EMAIL PROTECTED]> wrote:
>
> tarun írta:
> > Hi Laszlo Nagy,
> >
> > Thanks a lot.
> > But the issue over here is that how will the child thread acknowledge
> > the main thread that it has completed its task. For this I'll have to
> > set some flag in the child thread and poll for it in the main thread.
> > This will
Issue with reading and writing into .ini files using python
Hello, I am using config approach as mentioned in the below link to read and write into setup (.ini) files: http://www.voidspace.org.uk/python/configobj.html I've a key named 'SELECTED' in my .ini file. Sometimes I get the following error on trying to read the .ini file:val = dict.__getitem__(self, key) KeyError: 'SELECTED' Can anyone help. Thanks in advance Regards, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Creation of multiple threads
Hello All,
I got the following example from
*http://wiki.wxpython.org/LongRunningTasks*<http://wiki.wxpython.org/LongRunningTasks>
This example shows how a worker thread can be created from the main GUI and
the main GUI is notified when the worker thread has done its work..
But my requirement is:
I want to have two worker threads and each one notifies the main thread. It
could be possible that when a worker thread is running, other might be
tirggerd.
1) Can I do with only one Worker thread class?
2) Can there be only one notification function for multiple threads.
*CODE:*
**
import time
from threading import *
import wx
# Button definitions
ID_START = wx.NewId()
ID_STOP = wx.NewId()
# Define notification event for thread completion
EVT_RESULT_ID = wx.NewId()
def EVT_RESULT(win, func):
"""Define Result Event."""
win.Connect(-1, -1, EVT_RESULT_ID, func)
class ResultEvent(wx.PyEvent):
"""Simple event to carry arbitrary result data."""
def __init__(self, data):
"""Init Result Event."""
wx.PyEvent.__init__(self)
self.SetEventType(EVT_RESULT_ID)
self.data = data
# Thread class that executes processing
class WorkerThread(Thread):
"""Worker Thread Class."""
def __init__(self, notify_window):
"""Init Worker Thread Class."""
Thread.__init__(self)
self._notify_window = notify_window
self._want_abort = 0
# This starts the thread running on creation, but you could
# also make the GUI thread responsible for calling this
self.start()
def run(self):
"""Run Worker Thread."""
# This is the code executing in the new thread. Simulation of
# a long process (well, 10s here) as a simple loop - you will
# need to structure your processing so that you periodically
# peek at the abort variable
for i in range(10):
time.sleep(1)
if self._want_abort:
# Use a result of None to acknowledge the abort (of
# course you can use whatever you'd like or even
# a separate event type)
wx.PostEvent(self._notify_window, ResultEvent(None))
return
# Here's where the result would be returned (this is an
# example fixed result of the number 10, but it could be
# any Python object)
wx.PostEvent(self._notify_window, ResultEvent(10))
def abort(self):
"""abort worker thread."""
# Method for use by main thread to signal an abort
self._want_abort = 1
# GUI Frame class that spins off the worker thread
class MainFrame(wx.Frame):
"""Class MainFrame."""
def __init__(self, parent, id):
"""Create the MainFrame."""
wx.Frame.__init__(self, parent, id, 'Thread Test')
# Dumb sample frame with two buttons
wx.Button(self, ID_START, 'Start', pos=(0,0))
wx.Button(self, ID_STOP, 'Stop', pos=(0,50))
self.status = wx.StaticText(self, -1, '', pos=(0,100))
self.Bind(wx.EVT_BUTTON, self.OnStart, id=ID_START)
self.Bind(wx.EVT_BUTTON, self.OnStop, id=ID_STOP)
# Set up event handler for any worker thread results
EVT_RESULT(self,self.OnResult)
# And indicate we don't have a worker thread yet
self.worker = None
def OnStart(self, event):
"""Start Computation."""
# Trigger the worker thread unless it's already busy
if not self.worker:
self.status.SetLabel('Starting computation')
self.worker = WorkerThread(self)
def OnStop(self, event):
"""Stop Computation."""
# Flag the worker thread to stop if running
if self.worker:
self.status.SetLabel('Trying to abort computation')
self.worker.abort()
def OnResult(self, event):
"""Show Result status."""
if event.data is None:
# Thread aborted (using our convention of None return)
self.status.SetLabel('Computation aborted')
else:
# Process results here
self.status.SetLabel('Computation Result: %s' % event.data)
# In either event, the worker is done
self.worker = None
class MainApp(wx.App):
"""Class Main App."""
def OnInit(self):
"""Init Main App."""
self.frame = MainFrame(None, -1)
self.frame.Show(True)
self.SetTopWindow(self.frame)
return True
if __name__ == '__main__':
app = MainApp(0)
app.MainLoop()
Help would be appreciated.
Thanks in advance
Regards,
Tarun
--
http://mail.python.org/mailman/listinfo/python-list
Fwd: Frame/Dialog with Tabs
Hello, Can anyone help with a *sample wxpython code* that can create a frame/dailog with tabs. Something similar in the attachment. Thanks & Regards, Tarun <>-- http://mail.python.org/mailman/listinfo/python-list
GUI builder tool
Hi All, Please help me in selecting the best tool for developing wxPython GUIs. I'm preparing a tool that has explorer,editor and log window using wxPython.. I've heard some namely wxGlade,Boa,etc.. Which one would be the best. Thanks in Advance Regards, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Killing worker threads
Hello All, Can anyone help me with a simple code through which the main thread can kill the worker thread it started. Thanks & Regards, Tarun Devnani -- http://mail.python.org/mailman/listinfo/python-list
Issue with docking wx.listctrl window
Hello All,
I'm trying to create a Frame with AuiManager. The code is attached.
*Problem:*
- I want 2 windows to be docked in the frame. One is a text control and
other is a list control.
- The text control gets docked, but on trying to dock the list control, all
the tabs dis-appear.
The tabs appear only when the list control window is kept floating.
In the attached code the list control window is kept floating. This can be
docked
To see the issue with docking, comment line 33 and un-comment line 35 in the
attached file and then try to execute, the issue would be clearly visible.
On un-docking the window1, the tabs again appear..
*Please let me the solution to this ASAP*
import wx
import wx.aui
from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin
class AutoWidthListCtrl(wx.ListCtrl, ListCtrlAutoWidthMixin):
def __init__(self, parent):
wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
ListCtrlAutoWidthMixin.__init__(self)
class Log(wx.Panel):
def __init__(self, parent,id):
wx.Panel.__init__(self, parent, id)
list = AutoWidthListCtrl(self)
list.InsertColumn(0, 'Tab1',width=60)
list.InsertColumn(1, 'Tab2',width=60)
list.InsertColumn(2, 'Tab3', width=60)
list.InsertColumn(3, 'Tab4', width=60)
list.InsertColumn(4, 'Tab5', width=60)
list.InsertColumn(5, 'Tab6', width=60)
self.list = list
class Test(wx.Frame):
def __init__(self, parent,id =-1, title='Test'):
wx.Frame.__init__(self, parent, id, title, size = (400, 600))
def MakeAll(self):
self._mgr = wx.aui.AuiManager(self)
self.log = Log(self,-1)
self.list = wx.TextCtrl(self, -1,style =
wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL)
self._mgr.AddPane(self.list,
wx.aui.AuiPaneInfo().Bottom().Caption("Window2").MinSize((-1,
100)).FloatingSize(wx.Size(400, 100)).CloseButton(False).MaximizeButton(False))
# The line below creates a list control window is created that is
floating
self._mgr.AddPane(self.log.list,
wx.aui.AuiPaneInfo().Bottom().MinSize((-1,
100)).Caption("Window1").Float().FloatingSize(wx.Size(400,
100)).CloseButton(False).MaximizeButton(False))
# The line below if uncommented and the line above commented, a list
control window is craeted that is docked
#self._mgr.AddPane(self.log.list,
wx.aui.AuiPaneInfo().Bottom().MinSize((-1,
100)).Caption("Window1").FloatingSize(wx.Size(400,
100)).CloseButton(False).MaximizeButton(False))
self._mgr.Update()
app_main = wx.PySimpleApp()
frame = Test(None)
frame.MakeAll()
frame.Show()
app_main.MainLoop()
--
http://mail.python.org/mailman/listinfo/python-list
Re: [wxPython-users] Issue with docking wx.listctrl window
Thanks a lot Robin.
I tried using self.log and instead of self.log.list. *Code is attached.* But
this gives me a panel and listctrl in it. The extra blank space around the
listctrl in window1 is something that I don't need.
Please help.
Regards,
Tarun Devnani
On Jan 24, 2008 11:28 PM, Robin Dunn <[EMAIL PROTECTED]> wrote:
> tarun wrote:
> > Hello All,
> >
> > I'm trying to create a Frame with AuiManager. The code is attached.
> >
> > *Problem:*
> > - I want 2 windows to be docked in the frame. One is a text control and
> > other is a list control.
> > - The text control gets docked, but on trying to dock the list control,
> > all the tabs dis-appear.
> > The tabs appear only when the list control window is kept floating.
> >
> > In the attached code the list control window is kept floating. This can
> > be docked
> > To see the issue with docking, comment line 33 and un-comment line 35 in
> > the attached file and then try to execute, the issue would be clearly
> > visible. On un-docking the window1, the tabs again appear..
> >
> > *Please let me the solution to this ASAP*
>
>
> The main problem is that you are putting the listctrl on a panel, but
> you are telling AUI to manage the listctrl, not the panel. If I
> understand correctly then your other problems stem from that as well.
> Try passing self.log to AddPane, instead of self.log.list.
>
>
> --
> Robin Dunn
> Software Craftsman
> http://wxPython.org <http://wxpython.org/> Java give you jitters? Relax
> with wxPython!
>
>
import wx
import wx.aui
from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin
class AutoWidthListCtrl(wx.ListCtrl, ListCtrlAutoWidthMixin):
def __init__(self, parent):
wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
ListCtrlAutoWidthMixin.__init__(self)
class Log(wx.Panel):
def __init__(self, parent,id):
wx.Panel.__init__(self, parent, id)
list = AutoWidthListCtrl(self)
list.InsertColumn(0, 'Tab1',width=60)
list.InsertColumn(1, 'Tab2',width=60)
list.InsertColumn(2, 'Tab3', width=60)
list.InsertColumn(3, 'Tab4', width=60)
list.InsertColumn(4, 'Tab5', width=60)
list.InsertColumn(5, 'Tab6', width=60)
self.list = list
class Test(wx.Frame):
def __init__(self, parent,id =-1, title='Test'):
wx.Frame.__init__(self, parent, id, title, size = (400, 600))
def MakeAll(self):
self._mgr = wx.aui.AuiManager(self)
self.log = Log(self,-1)
self.list = wx.TextCtrl(self, -1,style =
wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL)
self._mgr.AddPane(self.list,
wx.aui.AuiPaneInfo().Bottom().Caption("Window2").MinSize((-1,
100)).FloatingSize(wx.Size(400, 100)).CloseButton(False).MaximizeButton(False))
# The line below creates a list control window is created that is
floating
#self._mgr.AddPane(self.log.list,
wx.aui.AuiPaneInfo().Bottom().MinSize((-1,
100)).Caption("Window1").Float().FloatingSize(wx.Size(400,
100)).CloseButton(False).MaximizeButton(False))
# The line below if uncommented and the line above commented, a list
control window is craeted that is docked
#self._mgr.AddPane(self.log.list,
wx.aui.AuiPaneInfo().Bottom().MinSize((-1,
100)).Caption("Window1").FloatingSize(wx.Size(400,
100)).CloseButton(False).MaximizeButton(False))
self._mgr.AddPane(self.log, wx.aui.AuiPaneInfo().Bottom().MinSize((-1,
100)).Caption("Window1").FloatingSize(wx.Size(400,
100)).CloseButton(False).MaximizeButton(False))
self._mgr.Update()
app_main = wx.PySimpleApp()
frame = Test(None)
frame.MakeAll()
frame.Show()
app_main.MainLoop()
--
http://mail.python.org/mailman/listinfo/python-list
Re: [wxPython-users] Issue with docking wx.listctrl window
Thanks Robin. Can you please elobrate more on this. Regards, Tarun Devnani On Jan 25, 2008 10:24 PM, Robin Dunn <[EMAIL PROTECTED]> wrote: > tarun wrote: > > Thanks a lot Robin. > > > > I tried using self.log and instead of self.log.list. *Code is attached.* > > But this gives me a panel and listctrl in it. The extra blank space > > around the listctrl in window1 is something that I don't need. > > Use a sizer to manage the layout of the listctrl. > > -- > Robin Dunn > Software Craftsman > http://wxPython.org <http://wxpython.org/> Java give you jitters? Relax > with wxPython! > > -- http://mail.python.org/mailman/listinfo/python-list
Re: [wxPython-users] Issue with docking wx.listctrl window
Robin, I can use sizers and divide my frames into sections. But I also want to add menu options for display/hide window1 and window2 in my original example. Is this possible even if I use sizers. Regards, Tarun On Jan 28, 2008 1:09 PM, tarun <[EMAIL PROTECTED]> wrote: > Thanks Robin. > Can you please elobrate more on this. > > Regards, > Tarun Devnani > On Jan 25, 2008 10:24 PM, Robin Dunn <[EMAIL PROTECTED]> wrote: > > > tarun wrote: > > > Thanks a lot Robin. > > > > > > I tried using self.log and instead of self.log.list. *Code is > > attached.* > > > But this gives me a panel and listctrl in it. The extra blank space > > > around the listctrl in window1 is something that I don't need. > > > > Use a sizer to manage the layout of the listctrl. > > > > -- > > Robin Dunn > > Software Craftsman > > http://wxPython.org <http://wxpython.org/> Java give you jitters? > > Relax with wxPython! > > > > > -- http://mail.python.org/mailman/listinfo/python-list
Scroll Bar in List Ctrl
Hi All, I've a listcontrol in a frame, wherein data gets poupulated and when the data is more than the veritcal size of the listcontrol window, a vertical scroll bar comes up automatically. But it always stays at the top. but i want it be at the bottom to be able to see the latest updates always. Can any one help Thanks, Tarun Devnani -- http://mail.python.org/mailman/listinfo/python-list
Issues with Python + Batch File
Hi All, I've a batch file which invoks a python file. The python code in the file brings up a GUI. The GUI is of a test tool which can execute scripts. I tried using the following 2 sample of code for my batch file: * (1) (2)* D:\opengui.py D:\opengui.py goto:end goto:end :end :end EXIT TASKKILL /IM C:\WINDOWS\system32\cmd.exe Double clicking on the batch file brings up a DOS BOX which opens up the GUI. On Closing the GUI, the DOS BOX both get closed. But if I close the GUI when a test is under execution, the GUI gets closed but the DOS BOX still remains open. I want to some how close the DOS BOX when the GUI is closed. Thanks & Regards, Tarun [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
Converting a .xls file to .html
Hello All, I've a .xml file (saved as .xls) that can be opened in Microsoft excel. I want to write python code that converts this excel file into .html (so that it can be viewed as is in an explorer). Can any one help? Regards, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Converting c header file to a python file
Hello,
I am looking for a tool/utility by which can convert c header file to a
python file. A typical header file that I want convert looks like:
#ifndef __VAR1
#define __VAR1
#define VAR2 "Rev 2"
#define VAR3 2L
typedef struct
{
}
#if defined(__cplusplus) || defined(__cplusplus__)
extern "C" {
#endif
And also function declarations
Thanks,
Tarun
--
http://mail.python.org/mailman/listinfo/python-list
Killing Child Process
Hello Group, I've spwaned a process using os.spwanl. As part of this process, I spwan one more process, using subprocess.Popen. After I close the the process spwaned using os.spwanl, the child process started by it using subprocess.Popen, doesn't get closed. Is there any way to do this in python 2.5.1? Thanks, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Issue with subprocess Module
Hello All, I've a batch file to be invoke using a python script. The batch file has pause, and the time, I need to send some command to the batch file from my scripts. I placed both, the batch file (test.bat) and the python script (test.py) in the same folder. And executed 'test.py' (Please find the source files and error below). *I get the following error:* Traceback (most recent call last): File "", line 74, in run_nodebug File "D:\test.py", line 4, in proc = subprocess.Popen(my_bat,stdin=subprocess.PIPE) File "C:\Python25\lib\subprocess.py", line 588, in __init__ errread, errwrite) = self._get_handles(stdin, stdout, stderr) File "C:\Python25\lib\subprocess.py", line 717, in _get_handles c2pwrite = self._make_inheritable(c2pwrite) File "C:\Python25\lib\subprocess.py", line 746, in _make_inheritable DUPLICATE_SAME_ACCESS) WindowsError: [Error 6] The handle is invalid *Python Script:* *test.py* import subprocess,os my_bat = os.getcwd()+'\\test.bat' proc = subprocess.Popen(my_bat,stdin=subprocess.PIPE) input = '\n' proc.communicate(input) *Batch File* *test.bat* echo "START' pause echo 'END' Please help me with this issue. Thanks In Advance, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Related to Shelve Module
Hi All, I want to store the class instance object variables persistenlty in one file so that other file can also access for some filtering. I tired doing this using the shelve module. *Code:* class A: pass import shelve filename = 'test.db' d = shelve.open(filename) a = A() print a d['1'] = a print d['1'] d.close() *Output:* <__main__.A instance at 0x018B56C0> <__main__.A instance at 0x018B5760> *Observation:* I expect both the print statements to return the same value, The second print statement just reads the dictonary, but still the adress (0x..) is different from the first print statement. Can anyone tell me why. Also let me know if you the way of getting same value both the times. Quick help will be appreciated. Thanks & Regards, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Some issue with right click in TreeCtrl
Hello All,
Please find the code for a simple wx.TreeCtrl code. Whenever I right click
on any item in the Tree, I see the function, 'OnSelChanged' gets called
twice.
What I've just done is that I've associated the function 'OnRightClick' with
wx.EVT_TREE_ITEM_RIGHT_CLICK. And in this function, I say
self.tree.SelectItem(evt.GetItem(),True) to select the item and then so some
action for right click.
Can any one help.
Thanks & Regards,
Tarun
*Please find the code in the attachment and also below:-*
import wx
tests = ["All Tests",
["Suite1",
"test01",
"test02",
["suite2","test03","test04"],
"test05",
],
["Suite3",
"test06",
"test07"
],
["Suite4",
"test08",
"test09"
],
"test10",
"test11",
]
class TestFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Simple Tree", size=(400,500))
# Create the tree
self.tree = wx.TreeCtrl(self)
# Add a root node
root = self.tree.AddRoot(tests[0])
# Add nodes from our data set
self.AddTreeNodes(root, tests, 0)
# Bind some interesting events
self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelChanged, self.tree)
self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnRightClick,
self.tree)
# Expand the first level
self.tree.Expand(root)
def AddTreeNodes(self, father, aTestList,count):
if type(aTestList) == type([]):
l = len(aTestList)
i = 0
while i < l:
if i == 0:
if count ==1:
father = self.tree.AppendItem(father, aTestList[i])
else:
self.AddTreeNodes(father, aTestList[i],
1)
i = i + 1
if type(aTestList) == type(""):
self.tree.AppendItem(father, aTestList)
def OnRightClick(self, evt):
self.tree.SelectItem(evt.GetItem(),True)
print 'In OnRightClick Function...',self.GetItemText(evt.GetItem())
def GetItemText(self, item):
if item:
return self.tree.GetItemText(item)
else:
return ""
def OnSelChanged(self, evt):
print "OnSelChanged: ", self.GetItemText(evt.GetItem())
app = wx.PySimpleApp(redirect=True)
frame = TestFrame()
frame.Show()
app.MainLoop()
import wx
tests = ["All Tests",
["Suite1",
"test01",
"test02",
["suite2","test03","test04"],
"test05",
],
["Suite3",
"test06",
"test07"
],
["Suite4",
"test08",
"test09"
],
"test10",
"test11",
]
class TestFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Simple Tree", size=(400,500))
# Create the tree
self.tree = wx.TreeCtrl(self)
# Add a root node
root = self.tree.AddRoot(tests[0])
# Add nodes from our data set
self.AddTreeNodes(root, tests, 0)
# Bind some interesting events
self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelChanged, self.tree)
self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnRightClick, self.tree)
# Expand the first level
self.tree.Expand(root)
def AddTreeNodes(self, father, aTestList,count):
if type(aTestList) == type([]):
l = len(aTestList)
i = 0
while i < l:
if i == 0:
if count ==1:
father = self.tree.AppendItem(father, aTestList[i])
else:
self.AddTreeNodes(father, aTestList[i], 1)
i = i + 1
if type(aTestList) == type(""):
self.tree.AppendItem(father, aTestList)
def OnRightClick(self, evt):
self.tree.SelectItem(evt.GetItem(),True)
print 'In OnRightClick Function...',self.GetItemText(evt.GetItem())
def GetItemText(self, item):
if item:
return self.tree.GetItemText(item)
else:
return ""
def OnSelChanged(self, evt):
print "OnSelChanged: ", self.GetItemText(evt.GetItem())
app = wx.PySimpleApp(redirect=True)
frame = TestFrame()
frame.Show()
app.MainLoop()--
http://mail.python.org/mailman/listinfo/python-list
Python Query: Related to locking a resource in a multithreaded environment
Hello All, I've a configuration.ini file. This particular can be accessed by several threads of my application. Each thread can read/write configuration parameters from/to the configuration.ini file. I am using threading (Rlock) to lock the resource (configuration.ini file) while accessing it from any thread. I use the file available at http://www.voidspace.org.uk/python/configobj.html for read/write. I did the following in one of my files: import threading class Synchronization: def __init__(self): self.mutex = threading.RLock() Now this I can create instances of the class Synchronization and use acquire/release to work on the shared resource. But every thread would need to import this class and hence each thread would create a separate instance of the class. This means several lock variables. But I think we need a global lock flag that is accessible across all the threads. How do i do this? Please let me know ASAP. Thanks In Advance, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Re: Python Query: Related to locking a resource in a multithreaded environment
I think I need something called global interpreter lock which is accessible to all the threads. But I am not sure how to implement this. On Tue, Aug 19, 2008 at 11:28 AM, tarun <[EMAIL PROTECTED]> wrote: > Hello All, > > I've a configuration.ini file. This particular can be accessed by several > threads of my application. Each thread can read/write configuration > parameters from/to the configuration.ini file. I am using threading (Rlock) > to lock the resource (configuration.ini file) while accessing it from any > thread. I use the file available at > http://www.voidspace.org.uk/python/configobj.html for read/write. > > I did the following in one of my files: > > import threading > class Synchronization: > def __init__(self): > self.mutex = threading.RLock() > > Now this I can create instances of the class Synchronization and use > acquire/release to work on the shared resource. But every thread would need > to import this class and hence each thread would create a separate instance > of the class. This means several lock variables. But I think we need a > global lock flag that is accessible across all the threads. > > How do i do this? > > Please let me know ASAP. > > Thanks In Advance, > Tarun > -- http://mail.python.org/mailman/listinfo/python-list
Code for locking a resource
Hello All, I've a configuration.ini file. This particular can be accessed by several threads of my application. Each thread can read/write configuration parameters from/to the configuration.ini file. I am using threading (Rlock) to lock the resource (configuration.ini file) while accessing it from any thread. I use the file available at http://www.voidspace.org.uk/python/configobj.html for read/write. (configobj.py) I've used RLock to lock the resource. I see this error while accessing variables of the configuration.ini file Exception in thread Thread-3: Traceback (most recent call last): File "C:\Python25\lib\threading.py", line 460, in __bootstrap self.run() File "F:\abc.py", line 229, in run option1 = conf['OPT1'] File "F:\configobj.py", line 551, in __getitem__ val = dict.__getitem__(self, key) KeyError: 'OPT1' Exception in thread Thread-1: Traceback (most recent call last): File "C:\Python25\lib\threading.py", line 460, in __bootstrap self.run() File "F:\def.py", line 130, in run option2 = self.conf['OPT2'] File "F:\configobj.py", line 551, in __getitem__ val = dict.__getitem__(self, key) KeyError: 'OPT2' Can any one help me with a code for locking a resource across threads. One more observation. I tried the following code on Python Idle >>> import threading >>> threading.RLock() <_RLock(None, 0)> >>> threading.Lock() Why does threading.RLock() return None Thanks In Advance, Tarun -- http://mail.python.org/mailman/listinfo/python-list
Regarding subprocess module
Hello all,
I wrote the following code:
import subprocess,time
cmdExe = "C:\\WINDOWS\\system32\\cmd.exe"
myProcess = subprocess.Popen(cmdExe,stdin=subprocess.PIPE)
time.sleep(2)
myProcess.stdin.write('cd Desktop\r\n')
I copied the above lines of code to a file and tried executing the python
file from dos box (command prompt) on windows
I want subprocess.Popen to open a new dos box. But it works in the same
window. What should I do to open the subprocess in new window?
Thanks & Regards.
Tarun
--
http://mail.python.org/mailman/listinfo/python-list
How to read webpage
Dear All,I want to read a webpage and copy the contents of it in word file.
I tried to write following code:
import urllib2
urllib2.urlopen("http://www.rediff .com/")
*Error:-*
urllib2.urlopen("http://www.icicibank.com/";)
File "C:\Python25\lib\urllib2.py", line 121, in urlopen
return _opener.open(url, data)
File "C:\Python25\lib\urllib2.py", line 374, in open
response = self._open(req, data)
File "C:\Python25\lib\urllib2.py", line 392, in _open
'_open', req)
File "C:\Python25\lib\urllib2.py", line 353, in _call_chain
result = func(*args)
File "C:\Python25\lib\urllib2.py", line 1100, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "C:\Python25\lib\urllib2.py", line 1075, in do_open
raise URLError(err)
urllib2.URLError:
--
http://mail.python.org/mailman/listinfo/python-list
Fwd: Unable to Install Python (3.5.0) Properly
-- Forwarded message - From: Tarun Pathak Date: Sun, May 17, 2020, 12:07 PM Subject: Unable to Install Python (3.5.0) Properly To: Dear Sir/Madam, I am trying to install Python for a while. But failed to do so. Tried with different files as well. Requesting your suggestion to solve this issue. Attached the log file in this email. [image: image.png] Thanking you, Tarun -- https://mail.python.org/mailman/listinfo/python-list
Re: Fwd: Unable to Install Python (3.5.0) Properly
Oh, My apology ! I should have mentioned the system stats in mail. Windows 7 , 64 bit Intel Core 2 duo C drive free space : 23 GB Initially, during installation system is asking for service pack 1 I did that. Later, it's asking for core.msi, dev.msi etc. Because system is not able to fetch from the web. The log file contains all these errors. On Mon, May 18, 2020, 12:50 AM DL Neil via Python-list < [email protected]> wrote: > On 17/05/20 7:06 PM, Tarun Pathak wrote: > > -- Forwarded message - > > From: Tarun Pathak > > Date: Sun, May 17, 2020, 12:07 PM > > Subject: Unable to Install Python (3.5.0) Properly > > To: > > > > > > > > Dear Sir/Madam, > > > > I am trying to install Python for a while. But failed to do so. Tried > > with different files as well. > > Requesting your suggestion to solve this issue. > > > > Attached the log file in this email. > > > > [image: image.png] > > > > Thanking you, > > Tarun > > > Unfortunately this list does not accept images as attachments. Also, did > you notice that there is a Python-Tutor Discussion List. It's a good > place for Python-learners to ask questions. > > You do not state the Operating System in-use. So, presuming MS-Windows, > please advise if the following reference is accurate, and works for you: > https://docs.python.org/3/using/windows.html > -- > Regards =dn > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list
Error on FTP Upload .. No such file or directory
---
Code
--
remotepath = "/incoming"
f = FTP(host)
f.login(username,password)
f.cwd(remotepath)
localfile ="C:\\test.txt"
fd = open(localfile,'rb')
path,filename = os.path.split(localfile)
f.storbinary('STOR %s' % filename,fd)
fd.close()
f.quit()
Error
Traceback (most recent call last):
File "P:\Working\Python code\temp.py", line 21, in ?
uploadFile("C:\\test.txt")
File "P:\Working\Python code\temp.py", line 16, in uploadFile
f.storbinary('STOR %s' % filename,fd)
File "C:\Python23\lib\ftplib.py", line 415, in storbinary
conn = self.transfercmd(cmd)
File "C:\Python23\lib\ftplib.py", line 345, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "C:\Python23\lib\ftplib.py", line 327, in ntransfercmd
resp = self.sendcmd(cmd)
File "C:\Python23\lib\ftplib.py", line 241, in sendcmd
return self.getresp()
File "C:\Python23\lib\ftplib.py", line 214, in getresp
raise error_perm, resp
ftplib.error_perm: 553 test.txt: No such file or directory.
Disclaimer
This e-mail and any attachments is confidential and intended solely for the use
of the individual(s) to whom it is addressed. Any views or opinions presented
are solely those of the author and do not necessarily represent those of
Waterstone Capital Management, L.P and affiliates. If you are not the intended
recipient, be advised that you have received this e-mail in error and that any
use, dissemination, printing, forwarding or copying of this email is strictly
prohibited. Please contact the sender if you have received this e-mail in
error. You should also be aware that e-mails are susceptible to interference
and you should not assume that the contents of this e-mail originated from the
sender above or that they have been accurately reproduced in their original
form. Waterstone Capital Management, L.P. and affiliates accepts no
responsibility for information, or errors or omissions in this e-mail or use or
misuse thereof. If in doubt, please verify the authenticity with the!
sender.
--
http://mail.python.org/mailman/listinfo/python-list
Error on FTP Upload .. No such file or directory
By the way... test.txt does exist Disclaimer This e-mail and any attachments is confidential and intended solely for the use of the individual(s) to whom it is addressed. Any views or opinions presented are solely those of the author and do not necessarily represent those of Waterstone Capital Management, L.P and affiliates. If you are not the intended recipient, be advised that you have received this e-mail in error and that any use, dissemination, printing, forwarding or copying of this email is strictly prohibited. Please contact the sender if you have received this e-mail in error. You should also be aware that e-mails are susceptible to interference and you should not assume that the contents of this e-mail originated from the sender above or that they have been accurately reproduced in their original form. Waterstone Capital Management, L.P. and affiliates accepts no responsibility for information, or errors or omissions in this e-mail or use or misuse thereof. If in doubt, please verify the authenticity with the! sender. -- http://mail.python.org/mailman/listinfo/python-list
Paramiko/SSH blues....
I am using paramiko to do an SFTP file transfer... I was able to connect to the remote server using an SFTP client I have just to make sure that username and password are working.. But when i try to connect using this script it fails **hostname, username and password are declared. # now, connect and use paramiko Transport to negotiate SSH2 across the connection sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((hostname, port)) t = paramiko.Transport(sock) event = threading.Event() t.start_client(event) event.wait(15) if not t.is_active(): print 'SSH negotiation failed.' sys.exit(1) else: print "SSH negotiation sucessful" event.clear() t.auth_password(username=username, password=password,event=event) if not t.is_authenticated(): print "not authenticated" output: SSH negotiation successful not authenticated -- http://mail.python.org/mailman/listinfo/python-list
paramiko
I am using paramiko to do an SFTP file transfer... I was able to connect to the remote server using an SFTP client I have just to make sure that username and password are working.. This is the code. # now, connect and use paramiko Transport to negotiate SSH2 across the connection sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((hostname, port)) t = paramiko.Transport(sock) event = threading.Event() t.start_client(event) event.wait(15) if not t.is_active(): print 'SSH negotiation failed.' sys.exit(1) else: print "SSH negotiation sucessful" event.clear() t.auth_password(username=username, password=password,event=event) if not t.is_authenticated(): print "not authenticated" output: SSH negotiation successful not authenticated Tarun Waterstone Capital Management 2 Carlson Parkway, Suite 260 Plymouth, MN 55447 Direct: 952-697-4123 Cell:612-205-2587 Disclaimer This e-mail and any attachments is confidential and intended solely for the use of the individual(s) to whom it is addressed. Any views or opinions presented are solely those of the author and do not necessarily represent those of Waterstone Capital Management, L.P and affiliates. If you are not the intended recipient, be advised that you have received this e-mail in error and that any use, dissemination, printing, forwarding or copying of this email is strictly prohibited. Please contact the sender if you have received this e-mail in error. You should also be aware that e-mails are susceptible to interference and you should not assume that the contents of this e-mail originated from the sender above or that they have been accurately reproduced in their original form. Waterstone Capital Management, L.P. and affiliates accepts no responsibility for information, or errors or omissions in this e-mail or use or misuse thereof. If in doubt, please verify the authenticity with the sender. -- http://mail.python.org/mailman/listinfo/python-list
Re: paramiko
# now, connect and use paramiko Transport to negotiate SSH2 across the connection sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((hostname, port)) t = paramiko.Transport(sock) t.start_client() key = t.get_remote_server_key() event = threading.Event() t.auth_password(username=username, password=password, event=event) event.wait() if not t.is_authenticated(): print "not authenticated" output: not authenticated On Jan 16, 11:11 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to > > the remote server using an SFTP client I have just to make sure that > > username and password are working.. This is the code. > > > # now, connect and use paramiko Transport to negotiate SSH2 across the > > connection > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > > sock.connect((hostname, port)) > > > t = paramiko.Transport(sock) > > > event = threading.Event() > > > t.start_client(event) > > > event.wait(15) > > > if not t.is_active(): > > > print 'SSH negotiation failed.' > > > sys.exit(1) > > > else: > > > print "SSH negotiation sucessful" > > > event.clear() > > > t.auth_password(username=username, password=password,event=event) > > > if not t.is_authenticated(): > > > print "not authenticated" > > > output: > > > SSH negotiation successful > > > not authenticated > > > Tarun > > > Waterstone Capital Management > > > 2 Carlson Parkway, Suite 260 > > > Plymouth, MN 55447 > > > Direct: 952-697-4123 > > > Cell:612-205-2587 > > Disclaimer This e-mail and any attachments is confidential and intended > > solely for the use of the individual(s) to whom it is addressed. Any views > > or opinions presented are solely those of the author and do not necessarily > > represent those of Waterstone Capital Management, L.P and affiliates. If you > > are not the intended recipient, be advised that you have received this > > e-mail in error and that any use, dissemination, printing, forwarding or > > copying of this email is strictly prohibited. Please contact the sender if > > you have received this e-mail in error. You should also be aware that > > e-mails are susceptible to interference and you should not assume that the > > contents of this e-mail originated from the sender above or that they have > > been accurately reproduced in their original form. Waterstone Capital > > Management, L.P. and affiliates accepts no responsibility for information, > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt, > > please verify the authenticity with the sender. > > -- > >http://mail.python.org/mailman/listinfo/python-list > > You are missing an event.wait() after t.auth_password. > Also, why are you passing this magic value "15" to event.wait() ? That > parameter is passed to class _Verbose to indicate if debug messages > should be displayed or not, so typical values would be 0/1 or > False/True. > > -- > -- Guilherme H. Polo Goncalves -- http://mail.python.org/mailman/listinfo/python-list
Re: paramiko
On Jan 16, 11:38 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across > > the connection > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > sock.connect((hostname, port)) > > > t = paramiko.Transport(sock) > > t.start_client() > > key = t.get_remote_server_key() > > > event = threading.Event() > > t.auth_password(username=username, password=password, event=event) > > event.wait() > > > if not t.is_authenticated(): > > print "not authenticated" > > > output: > > not authenticated > > This is a different problem I guess, now you are usin get_remote_server_key. > And why are you creating event after calling start_client without > specifying it ? > > > > > > > On Jan 16, 11:11 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > > > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > I am using paramiko to do an SFTP file transfer... I was able to > > > > connect to > > > > the remote server using an SFTP client I have just to make sure that > > > > username and password are working.. This is the code. > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across > > > > the > > > > connection > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > > > > sock.connect((hostname, port)) > > > > > t = paramiko.Transport(sock) > > > > > event = threading.Event() > > > > > t.start_client(event) > > > > > event.wait(15) > > > > > if not t.is_active(): > > > > > print 'SSH negotiation failed.' > > > > > sys.exit(1) > > > > > else: > > > > > print "SSH negotiation sucessful" > > > > > event.clear() > > > > > t.auth_password(username=username, password=password,event=event) > > > > > if not t.is_authenticated(): > > > > > print "not authenticated" > > > > > output: > > > > > SSH negotiation successful > > > > > not authenticated > > > > > Tarun > > > > > Waterstone Capital Management > > > > > 2 Carlson Parkway, Suite 260 > > > > > Plymouth, MN 55447 > > > > > Direct: 952-697-4123 > > > > > Cell:612-205-2587 > > > > Disclaimer This e-mail and any attachments is confidential and intended > > > > solely for the use of the individual(s) to whom it is addressed. Any > > > > views > > > > or opinions presented are solely those of the author and do not > > > > necessarily > > > > represent those of Waterstone Capital Management, L.P and affiliates. > > > > If you > > > > are not the intended recipient, be advised that you have received this > > > > e-mail in error and that any use, dissemination, printing, forwarding or > > > > copying of this email is strictly prohibited. Please contact the sender > > > > if > > > > you have received this e-mail in error. You should also be aware that > > > > e-mails are susceptible to interference and you should not assume that > > > > the > > > > contents of this e-mail originated from the sender above or that they > > > > have > > > > been accurately reproduced in their original form. Waterstone Capital > > > > Management, L.P. and affiliates accepts no responsibility for > > > > information, > > > > or errors or omissions in this e-mail or use or misuse thereof. If in > > > > doubt, > > > > please verify the authenticity with the sender. > > > > -- > > > >http://mail.python.org/mailman/listinfo/python-list > > > > You are missing an event.wait() after t.auth_password. > > > Also, why are you passing this magic value "15" to event.wait() ? That > > > parameter is passed to class _Verbose to indicate if debug messages > > > should be displayed or not, so typical values would be 0/1 or > > > False/True. > > > > -- > > > -- Guilherme H. Polo Goncalves > > > -- > >http://mail.python.org/mailman/listinfo/python-list > > -- > -- Guilherme H. Polo Goncalves ok here is the problem... I don't know what is the correct way... The only demos i have from the paramiko library use a hostkeyfile. since i don't have that i thought i would use the get_remote_key to get the key and then connect it using the code in the demo.. But clearly nothing is working...I should not HAVE to use the key since i should be able to authenticate using the password... Can you please suggest the right way to go ? Thanks for your time ! -- http://mail.python.org/mailman/listinfo/python-list
Re: paramiko
On Jan 16, 12:22 pm, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > On Jan 16, 11:38 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > > > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across > > > > the connection > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > > > sock.connect((hostname, port)) > > > > > t = paramiko.Transport(sock) > > > > t.start_client() > > > > key = t.get_remote_server_key() > > > > > event = threading.Event() > > > > t.auth_password(username=username, password=password, event=event) > > > > event.wait() > > > > > if not t.is_authenticated(): > > > > print "not authenticated" > > > > > output: > > > > not authenticated > > > > This is a different problem I guess, now you are usin > > > get_remote_server_key. > > > And why are you creating event after calling start_client without > > > specifying it ? > > > > > On Jan 16, 11:11 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > > > > > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > > > I am using paramiko to do an SFTP file transfer... I was able to > > > > > > connect to > > > > > > the remote server using an SFTP client I have just to make sure that > > > > > > username and password are working.. This is the code. > > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 > > > > > > across the > > > > > > connection > > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > > > > > > sock.connect((hostname, port)) > > > > > > > t = paramiko.Transport(sock) > > > > > > > event = threading.Event() > > > > > > > t.start_client(event) > > > > > > > event.wait(15) > > > > > > > if not t.is_active(): > > > > > > > print 'SSH negotiation failed.' > > > > > > > sys.exit(1) > > > > > > > else: > > > > > > > print "SSH negotiation sucessful" > > > > > > > event.clear() > > > > > > > t.auth_password(username=username, > > > > > > password=password,event=event) > > > > > > > if not t.is_authenticated(): > > > > > > > print "not authenticated" > > > > > > > output: > > > > > > > SSH negotiation successful > > > > > > > not authenticated > > > > > > > Tarun > > > > > > > Waterstone Capital Management > > > > > > > 2 Carlson Parkway, Suite 260 > > > > > > > Plymouth, MN 55447 > > > > > > > Direct: 952-697-4123 > > > > > > > Cell:612-205-2587 > > > > > > Disclaimer This e-mail and any attachments is confidential and > > > > > > intended > > > > > > solely for the use of the individual(s) to whom it is addressed. > > > > > > Any views > > > > > > or opinions presented are solely those of the author and do not > > > > > > necessarily > > > > > > represent those of Waterstone Capital Management, L.P and > > > > > > affiliates. If you > > > > > > are not the intended recipient, be advised that you have received > > > > > > this > > > > > > e-mail in error and that any use, dissemination, printing, > > > > > > forwarding or > > > > > > copying of this email is strictly prohibited. Please contact the > > > > > > sender if > > > > > > you have received this e-mail in error. You should also be aware > > > > > > that > > > > > > e-mails are susceptible to interference and you should not assume > > > > > > that the > > > > > > contents of this e-mail originated from the sender above or that > > > > > > they have > > > > > > been accurately rep
Re: paramiko
On Jan 16, 1:56 pm, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > On Jan 16, 12:22 pm, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > > > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > On Jan 16, 11:38 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > > > > > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 > > > > > > across > > > > > > the connection > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > > > > > sock.connect((hostname, port)) > > > > > > > t = paramiko.Transport(sock) > > > > > > t.start_client() > > > > > > key = t.get_remote_server_key() > > > > > > > event = threading.Event() > > > > > > t.auth_password(username=username, password=password, > > > > > > event=event) > > > > > > event.wait() > > > > > > > if not t.is_authenticated(): > > > > > > print "not authenticated" > > > > > > > output: > > > > > > not authenticated > > > > > > This is a different problem I guess, now you are usin > > > > > get_remote_server_key. > > > > > And why are you creating event after calling start_client without > > > > > specifying it ? > > > > > > > On Jan 16, 11:11 am, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > > > > > > > 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > > > > > I am using paramiko to do an SFTP file transfer... I was able > > > > > > > > to connect to > > > > > > > > the remote server using an SFTP client I have just to make sure > > > > > > > > that > > > > > > > > username and password are working.. This is the code. > > > > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 > > > > > > > > across the > > > > > > > > connection > > > > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > > > > > > > > sock.connect((hostname, port)) > > > > > > > > > t = paramiko.Transport(sock) > > > > > > > > > event = threading.Event() > > > > > > > > > t.start_client(event) > > > > > > > > > event.wait(15) > > > > > > > > > if not t.is_active(): > > > > > > > > > print 'SSH negotiation failed.' > > > > > > > > > sys.exit(1) > > > > > > > > > else: > > > > > > > > > print "SSH negotiation sucessful" > > > > > > > > > event.clear() > > > > > > > > > t.auth_password(username=username, > > > > > > > > password=password,event=event) > > > > > > > > > if not t.is_authenticated(): > > > > > > > > > print "not authenticated" > > > > > > > > > output: > > > > > > > > > SSH negotiation successful > > > > > > > > > not authenticated > > > > > > > > > Tarun > > > > > > > > > Waterstone Capital Management > > > > > > > > > 2 Carlson Parkway, Suite 260 > > > > > > > > > Plymouth, MN 55447 > > > > > > > > > Direct: 952-697-4123 > > > > > > > > > Cell:612-205-2587 > > > > > > > > Disclaimer This e-mail and any attachments is confidential and > > > > > > > > intended > > > > > > > > solely for the use of the individual(s) to whom it is > > > > > > > > addressed. Any views > > > > > > > > or opinions presented are solely those of the author and do not > > > > > > > > necessarily > > > > > > > > represent those of Waterstone Capital Management, L.P and > > > > >
RE: paramiko
I have some code that uses paramiko, establishes an SFTP connection with a remote server and downloads some files. This code works perfect if run on a windows XP machine. However, I get an error in the "RandomPool" class. Anyone tried paramiko on a windows server box ? Thanks !! Tk -Original Message- From: Guilherme Polo [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 16, 2008 11:12 AM To: Tarun Kapoor; [email protected] Subject: Re: paramiko 2008/1/16, Tarun Kapoor <[EMAIL PROTECTED]>: > > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to > the remote server using an SFTP client I have just to make sure that > username and password are working.. This is the code. > > > > # now, connect and use paramiko Transport to negotiate SSH2 across the > connection > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > sock.connect((hostname, port)) > > > > t = paramiko.Transport(sock) > > event = threading.Event() > > t.start_client(event) > > > > event.wait(15) > > > > if not t.is_active(): > > print 'SSH negotiation failed.' > > sys.exit(1) > > else: > > print "SSH negotiation sucessful" > > > > event.clear() > > > > t.auth_password(username=username, password=password,event=event) > > > > if not t.is_authenticated(): > > print "not authenticated" > > output: > > SSH negotiation successful > > not authenticated > > > > > > > > Tarun > > > > Waterstone Capital Management > > 2 Carlson Parkway, Suite 260 > > Plymouth, MN 55447 > > > > Direct: 952-697-4123 > > Cell:612-205-2587 > Disclaimer This e-mail and any attachments is confidential and intended > solely for the use of the individual(s) to whom it is addressed. Any views > or opinions presented are solely those of the author and do not necessarily > represent those of Waterstone Capital Management, L.P and affiliates. If you > are not the intended recipient, be advised that you have received this > e-mail in error and that any use, dissemination, printing, forwarding or > copying of this email is strictly prohibited. Please contact the sender if > you have received this e-mail in error. You should also be aware that > e-mails are susceptible to interference and you should not assume that the > contents of this e-mail originated from the sender above or that they have > been accurately reproduced in their original form. Waterstone Capital > Management, L.P. and affiliates accepts no responsibility for information, > or errors or omissions in this e-mail or use or misuse thereof. If in doubt, > please verify the authenticity with the sender. > -- > http://mail.python.org/mailman/listinfo/python-list > You are missing an event.wait() after t.auth_password. Also, why are you passing this magic value "15" to event.wait() ? That parameter is passed to class _Verbose to indicate if debug messages should be displayed or not, so typical values would be 0/1 or False/True. -- -- Guilherme H. Polo Goncalves Disclaimer This e-mail and any attachments is confidential and intended solely for the use of the individual(s) to whom it is addressed. Any views or opinions presented are solely those of the author and do not necessarily represent those of Waterstone Capital Management, L.P and affiliates. If you are not the intended recipient, be advised that you have received this e-mail in error and that any use, dissemination, printing, forwarding or copying of this email is strictly prohibited. Please contact the sender if you have received this e-mail in error. You should also be aware that e-mails are susceptible to interference and you should not assume that the contents of this e-mail originated from the sender above or that they have been accurately reproduced in their original form. Waterstone Capital Management, L.P. and affiliates accepts no responsibility for information, or errors or omissions in this e-mail or use or misuse thereof. If in doubt, please verify the authenticity with the! sender. -- http://mail.python.org/mailman/listinfo/python-list
Paramiko bugs out on windows 2003 server
I am using the paramiko library to pull a data from a server using SFTP.
It works perfect on a windows xp machine but bugs out a windows 2003
server. I get the following error:
Traceback (most recent call last):
File "S:\Temp\ftpBOA.py", line 5, in ?
import paramiko
File "C:\Python23\lib\paramiko\__init__.py", line 69, in ?
from transport import randpool, SecurityOptions, Transport
File "C:\Python23\lib\paramiko\transport.py", line 32, in ?
from paramiko import util
File "C:\Python23\lib\paramiko\util.py", line 31, in ?
from paramiko.common import *
File "C:\Python23\lib\paramiko\common.py", line 98, in ?
from osrandom import OSRandomPool
File "C:\Python23\lib\paramiko\osrandom.py", line 54, in ?
raise ImportError("Cannot find OS entropy source")
ImportError: Cannot find OS entropy source
Anyone knows how to solve it ?
Tarun Kapoor
Disclaimer
This e-mail and any attachments is confidential and intended solely for the use
of the individual(s) to whom it is addressed. Any views or opinions presented
are solely those of the author and do not necessarily represent those of
Waterstone Capital Management, L.P and affiliates. If you are not the intended
recipient, be advised that you have received this e-mail in error and that any
use, dissemination, printing, forwarding or copying of this email is strictly
prohibited. Please contact the sender if you have received this e-mail in
error. You should also be aware that e-mails are susceptible to interference
and you should not assume that the contents of this e-mail originated from the
sender above or that they have been accurately reproduced in their original
form. Waterstone Capital Management, L.P. and affiliates accepts no
responsibility for information, or errors or omissions in this e-mail or use or
misuse thereof. If in doubt, please verify the authenticity with the!
sender.
--
http://mail.python.org/mailman/listinfo/python-list
