Tweak python program to give result in json


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Tweak python program to give result in json
# 1  
Old 03-01-2017
Tweak python program to give result in json

Hi ,

Below is the script which prints result in json but when i validate it has some tab or extra space issues.

JSON result
Code:
{

    "data":[

    { "{#NAME}":"lilly-54b91f8-2
"}
,

    { "{#NAME}":"silly-54b91f8-2
"}
,

    { "{#NAME}":"milly-54b91f8-2
"}
,

    { "{#NAME}":"sollys-54b91f8-2
"}

    ]

}

This is the line I tweaked. Please advise.
Code:
  print "\t{",  "\"{#NAME}\":\""+container['Names'][0][1:]+hn+"\"}"

Code:
#!/usr/bin/env python
#
from docker import Client
from optparse import OptionParser
import json

class DockerService(object):

    def __init__(self, url):

        self.url = url
        self.docker_running = False

    def list_containers(self):

        docker_conn_list = Client(base_url=self.url)

        try:
            containerlist = docker_conn_list.containers()
            self.docker_running = True
        except Exception:
            self.docker_running = False

        if self.docker_running:
            return containerlist

def main():

    parser = OptionParser()
    parser.add_option('-u', '--url', default='unix://var/run/docker.sock',
                      help='URL for Docker service (Unix or TCP socket).')
    (opts, args) = parser.parse_args() 

    docker_service = DockerService(opts.url)
    containerslist = docker_service.list_containers()

    file = open('/tmp/hostname','r')
    hn = file.read()
   # print hn

    first = 1;
    print "{\n";
    print "\t\"data\":[\n";

    for container in containerslist:

        if first == 0:
            print ",\n"
        first = 0
        print "\t{",  "\"{#NAME}\":\""+container['Names'][0][1:]+hn+"\"}"



    print "\n\t]\n"
    print "}\n"

if __name__ == '__main__':
    main()

# 2  
Old 03-01-2017
hn.rstrip("\n\r") in order to lose the new line character
This User Gave Thanks to Skrynesaver For This Post:
# 3  
Old 03-01-2017
Super it works as expected. Good day!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Java HTTP PUT Request/JSON Not Working But Using Python It Does ?

I have some code that I have been playing around with learning Java: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; ... (1 Reply)
Discussion started by: metallica1973
1 Replies

2. Emergency UNIX and Linux Support

How to take awk result out (piping to other program)?

Hi! all here is my code which is working fine no errors but I want to know how to take result and input to other program awk 'FNR==1{i++}{LC=NR} {for(k=1; k<=NF; k++) A=$k} END{for (i=1;i<=LC;i++) { for(j=1;j<=LC;j++) if(A=='$UID' && A>='$MX'+A &&... (7 Replies)
Discussion started by: Akshay Hegde
7 Replies

3. Programming

Json dissect with python

hello, I'm trying to parse a json file and print out each element along with some related infos such type and value. I would like to do that in python and I found a nice support to quickly load the json file, instead I found a bit more difficult the information extraction. Example, I have... (0 Replies)
Discussion started by: Dedalus
0 Replies

4. Shell Programming and Scripting

How to give a text file as input while running a program?

Hi Friends, I am running a program /path/to/program -i 1 100 -o /path/to/output/op_1_100.txt In the above command, I have to try various number of combinations at the -i parameter and the output file name varies with each combination. Now, I have my -i parameter text file, which is like... (4 Replies)
Discussion started by: jacobs.smith
4 Replies

5. Shell Programming and Scripting

[Solved] My sed command not give me a satisfy result

This is my command echo "Test" | sed -f <(sed -e 's/.*/s,&,gI/' mydic) In mydic file,containing 2 columns delimit by comma (,) a,AlphabetA . . . e,AlphabetE . . s,AlphabetS . t,AlphabetT test,testedd . . zebra,zebraaaa The expect result is testedd (0 Replies)
Discussion started by: Runicer
0 Replies

6. Shell Programming and Scripting

How to give runtime arguments to different program

I have a shell script that is attempting to call a c program. I call the c program with ./dictool dictool accepts arguments at runtime. It works by prompting the user for various commands, acting on those commands, spitting out an output, and then prompting for more commands. My question is,... (1 Reply)
Discussion started by: aarongoldfein
1 Replies

7. Programming

Python program faster than C++ program.

I wrote a simple program that generates a random word 10,000,000 times. I wrote it in python, then in C++ and compared the two completion times. The python script was faster! Is that normal? Why would the python script be faster? I was under the impression that C++ was faster. What are some of... (2 Replies)
Discussion started by: cbreiny
2 Replies

8. Programming

Please give me some advise to program for unix/linux using c/c++?

I have a good foundation of c++.I want to learn to program for linux/unix,can you give me some advises,for example classic books ,which operating system is used better(freebsd,solaris,federal linux.etc),and which aspects uses mostly in job.Can you give me clear direction for working or learning. (1 Reply)
Discussion started by: fengshuiyue
1 Replies

9. UNIX for Advanced & Expert Users

executing script by cron doesnt give me expected result

Hi frnds... I m facing very irritating problem already waisted my 2 days.. I have a following script..( i am pasting only the main code) ftp -ivn 213.194.40.77 <<FTP user $user $password binary cd $FileDir/out lcd $localpath get $file rename $FileDir/out/$file $FileDir/tmp/$file... (1 Reply)
Discussion started by: clx
1 Replies

10. HP-UX

get program name give a process id

Hi , I have query regarding to get a program name given a pid in HP-Ux . give procees id ( PID) i would like to retrieve the process/program through a C program ? my input to c program will be will be pid and i would like to know what is process name /program name . Many Thanks ... (1 Reply)
Discussion started by: naren_chella
1 Replies
Login or Register to Ask a Question