ID |
Date |
Icon |
Author |
Author Email |
Category |
OS |
ELOG Version |
Subject |
68161
|
Tue Oct 27 11:14:16 2015 |
| kenzo Abrahams | kenzoabrahams@gmail.com | Question | Linux | 3.1.1 | Re: running more then one shell command when new entries is submitted |
The reason why im asking if it can be done using the Execute option is because I need to have the message id of the entry that was submitted and in an external script i dont have access to the variable
kenzo Abrahams wrote: |
Hi
Im just curious is it possible to run more then one command using Execute new = <command> or will i have to run a script to run muliple commands.
I tried using '&&' to seperate more then one command but it seems that the first one only gets executed and the rest are just ignored.
Regards
Kenzo
|
|
68163
|
Tue Oct 27 11:23:36 2015 |
| kenzo Abrahams | kenzoabrahams@gmail.com | Question | Linux | 3.1.1 | Re: running more then one shell command when new entries is submitted |
If i put the ';' into Execute the rest of the command becomes a comment thats why i was trying to use '&&' instead. If I encapulate the whole command in "" or '' then both commands are executed but the files im trying to write to gets created but no data is piped into it. When I use Execute with one command and pipe its output to a file everything works fine though.
Stefan Ritt wrote: |
The command is passed to your shell, and some shells except more than one command. Most Linux shells accept commands separated by ';', which you can try yourself by entering for example: ls *.c; ls*.h
kenzo Abrahams wrote: |
Hi
Im just curious is it possible to run more then one command using Execute new = <command> or will i have to run a script to run muliple commands.
I tried using '&&' to seperate more then one command but it seems that the first one only gets executed and the rest are just ignored.
Regards
Kenzo
|
|
|
68170
|
Wed Oct 28 11:11:27 2015 |
| kenzo Abrahams | kenzoabrahams@gmail.com | Question | Linux | 3.1.1 | Re: running more then one shell command when new entries is submitted |
Hi Andreas
This worked perfectly thank you.
Andreas Luedeke wrote: |
As far as I know ELOG is recognising a configuration line as a comment only when it starts with a ';'.
I can assure you that ELOG does not treat the rest of the line as a comment when you use a ';' within a $shell() command: I do it a lot and it works fine. Here's a simple, generic example using the bash:
Preset Author = $shell(if [ $short_name = "Anonym" ] ;then echo $Author;else echo \"$long_name, $Author\";fi)
It adds $long_name to the Author field for non-anonymous entries.
Cheers Andreas
kenzo Abrahams wrote: |
If i put the ';' into Execute the rest of the command becomes a comment thats why i was trying to use '&&' instead. If I encapulate the whole command in "" or '' then both commands are executed but the files im trying to write to gets created but no data is piped into it. When I use Execute with one command and pipe its output to a file everything works fine though.
Stefan Ritt wrote: |
The command is passed to your shell, and some shells except more than one command. Most Linux shells accept commands separated by ';', which you can try yourself by entering for example: ls *.c; ls*.h
kenzo Abrahams wrote: |
Hi
Im just curious is it possible to run more then one command using Execute new = <command> or will i have to run a script to run muliple commands.
I tried using '&&' to seperate more then one command but it seems that the first one only gets executed and the rest are just ignored.
Regards
Kenzo
|
|
|
|
|
68171
|
Thu Oct 29 12:30:43 2015 |
| kenzo Abrahams | kenzoabrahams@gmail.com | Question | Linux | 3.1.1 | propogating messages through logbooks |
Hi there
Okay so let me explain what im trying to do. I have a table in a logbook (lets call it home) that the user fills
out. This information in the table is related to other logbooks (8 of them to be exact).
I want to propogate information from the table in the home logbook into the other logbooks. To do this I used
Execute new which runs my scripts. One of the scripts makes a call to the elog
client to submit the message. The problem is that this call to elog client never finishes because its hanging
waiting for the initial submit (one which triggered Execute new) to finish. The documentation
explained that only one submit can be processed at a time so i expected whats happening at the moment.
My question is are there any other ways to do what im trying to do?? In a nutshell how to propogate information
from one logbook to another autonomously.
Regards
Kenzo |
68174
|
Mon Nov 2 07:39:07 2015 |
| kenzo Abrahams | kenzoabrahams@gmail.com | Question | Linux | 3.1.1 | Re: propogating messages through logbooks |
> Hi Kenzo,
> I think it would help me to understand your problem, if you would provide a minimal configuration file with two
> logbooks.
>
> There is no ELOG internal feature to propagate data from one logbook to another;
> using a shell script is the only method I know.
> But you could easily put your script into the background:
> ELOG can handle multiple parallel request, by handling one request after the other.
>
> Kind Regards, Andreas
Hi Andreas
Im using python to do the scripting. Everything works fine until it comes to submitting the entry to my logbook.
The extractTable.py file is the one running the command to submit to elog.
I see now that im starting a subprocess in my python script (subprocess.call) and thats why its not finishing.
Could you perhaps suggest how I would go about doing this by putting my scripts in the
background? I might have to look at multiprocessing in python as well. The reason im using python is because im
doing alot of file processing as well. I do have to add that this method works perfectly when i just run the python
on its own. As soon as i run it by submiting an elog entrie from the browser it hangs on the subprocess.call method.
Regards, Kenzo |
Attachment 1: elogd.cfg
|
[global]
Group Ithemba = Configuration, Maintenance
Group Maintenance = C1
port = 8080
[Configuration]
Theme = default
Comment = Current configuration of detectors
Attributes = Author, Subject
Preset Subject = Current Configuration
Required Attributes = Author
Locked Attributes = Author, Subject
Page Title = ELOG - $subject
Reverse sort = 1
Quick filter = Date
Execute new = $shell(echo "$message id" &> /usr/local/elog/logbooks/ID.txt; python /usr/local/elog/logbooks/lookupConfig.py; python /usr/local/elog/logbooks/extractTable.py)
[C1]
theme = default
Comment = Maintenance information for clover detector C1
Attributes = Author, Subject, Type
Options Type = Defects, Routine, Problem Fixed, Maintenance
Preset Author = $long_name
Required Attributes = Author
Locked Attributes = Author
Page Title = ELOG - $subject
Reverse sort = 1
Quick filter = Date
|
Attachment 2: extractTable.py
|
#!/usr/bin/python
from bs4 import BeautifulSoup
import sys
import re
import time
import csv
import subprocess
#time.sleep(2)
counter = 0
DetectorNum = 1
soup = BeautifulSoup(open('/usr/local/elog/logbooks/Table.html'), 'html5lib')
for table in soup.find_all('table'):
for row in table.find_all('tr'):
col = row.find_all('td')
Xia = col[0].string
module = col[1].string
channel = col[2].string
name = col[3].string
arrayPos = col[4].string
panel = col[5].string
if counter == 0:
titleList = (str(Xia), str(module), str(channel), str(name), str(arrayPos), str(panel))
counter = counter + 1
else:
record = (str(Xia), str(module), str(channel), str(name), str(arrayPos), str(panel))
file = open('/usr/local/elog/logbooks/tableData', 'w')
for i in range(len(titleList)):
file.write(str(titleList[i])+" = "+str(record[i])+"\n")
file.close()
DetName = "C"+str(DetectorNum)
subprocess.call(["elog", "-h", "localhost", "-p", "8080", "-l", DetName, "-u", "System", "password", "-a", "Author=System", "-a", "Subject=\"testing the auto writing of detectors\"", "-m", "/usr/local/elog/logbooks/tableData"])
counter = counter + 1
DetectorNum = DetectorNum + 1
|
68175
|
Mon Nov 2 08:37:06 2015 |
| kenzo Abrahams | kenzoabrahams@gmail.com | Question | Linux | 3.1.1 | Re: propogating messages through logbooks |
>
> > Hi Kenzo,
> > I think it would help me to understand your problem, if you would provide a minimal configuration file with two
> > logbooks.
> >
> > There is no ELOG internal feature to propagate data from one logbook to another;
> > using a shell script is the only method I know.
> > But you could easily put your script into the background:
> > ELOG can handle multiple parallel request, by handling one request after the other.
> >
> > Kind Regards, Andreas
>
> Hi Andreas
>
> Im using python to do the scripting. Everything works fine until it comes to submitting the entry to my logbook.
> The extractTable.py file is the one running the command to submit to elog.
> I see now that im starting a subprocess in my python script (subprocess.call) and thats why its not finishing.
> Could you perhaps suggest how I would go about doing this by putting my scripts in the
> background? I might have to look at multiprocessing in python as well. The reason im using python is because im
> doing alot of file processing as well. I do have to add that this method works perfectly when i just run the python
> on its own. As soon as i run it by submiting an elog entrie from the browser it hangs on the subprocess.call method.
>
> Regards, Kenzo
Hi Andreas
I sorted my problem out, I had to use threading in python such that I can time the submissions to the elog server.
Everything works fine now. Thank you for the assistance.
Regards
Kenzo |
66452
|
Tue Jul 21 22:29:17 2009 |
| kyle carpenter | kyle.carpenter@atmosenergy.com | Question | Windows | 2.7.6-2230 | Reply not working correct |
Hi,
I love this software. I am not a programmer but have learned alot about the program.
I have 2 questions.
1. when i do a reply it will bring the original qutes with it but i have the option to change what had been entered. once i do the reply and reply to the reply i can not change the first reply but can change the second reply. This just started last week and i am not sure what has changed. i even uninstalled and reinstalled. If I try to just the HTML i tcomes up with code? If I do elcode seems to do ok just not able to stop the editing of the the last reply. Plain seems to do the same as ELcode.
2. I have also had trouble with E-Log not starting on my XP machines. Any ideas?
Thanks for sharing such a powerful program it is sweet.
Kyle |
66134
|
Wed Jan 7 19:54:18 2009 |
| kyoo | josh@newgistics.com | Bug report | Windows | 2.7.5-2130 | Google Chrome issues |
I use Google Chrome for web browsing these days.. I've had serious issues with surfing some of the pages of our ELOG V2.7.5-2130 site. For instance, I can surf directly to our url to create a new entry (http://changelog.company.com/Company+IT+Change+Log/?cmd=New) and see the page just fine. But when I click on the header to go back to the main page (http://changelog.company.com/Company+IT+Change+Log/) I end up with this error:
This webpage is not available.
The webpage at http://changelog.company.com/Company+IT+Change+Log/ might be temporarily down or it may have moved permanently to a new web address.
Below is the original error message
Error 320 (net::ERR_INVALID_RESPONSE): Unknown error.
But when I visit the DEMO elog site (http://midas.psi.ch/elogs/Linux%20Demo/) it pulls right up just fine.. My site also works in IE without problems.
Any ideas? I run our ELOG on windows server.. maybe that has something to do with it..
|