def dump(data, format='json'):
    data = unbunchify(data)
    s = None
    if format == 'json':
        s = jsondump.dumps(data, indent=4)
    if format == 'yaml':
        s = yaml.dump(data, Dumper=Dumper, default_flow_style=False)
    assert s, format
    return s
def dump(data, format='json'):
    data = unbunchify(data)
    s = None
    if format == 'json':
        s = jsondump.dumps(data, indent=4)
    if format == 'yaml':
        s = yaml.dump(data, Dumper=Dumper, default_flow_style=False)
    assert s, format
    return s
    def load(self, fzip):
        fzip = path(fzip).abspath()
        with ZipFile(fzip, 'r') as myzip:
#            print myzip.filelist
            fcsv = filter(
                lambda x: x.filename.endswith('csv'), myzip.filelist)[0]
            fyaml = filter(
                lambda x: x.filename.endswith('yaml'), myzip.filelist)[0]
            s = myzip.read(fyaml)
            smeas = myzip.read(fcsv)
            data = unbunchify(dumper.load(s, format='yaml'))
            df = pd.read_csv(StringIO(smeas), index_col=0)
#            print df
#            print self.data
            print '"%s" was loaded' % fzip
#            self.project = self.data['project']
#            self.json=s
            data = bunchify(data)
#            print data
            data['measurements'] = df
#            print data
            return data
 def load(self, fzip):
     fzip = path(fzip).abspath()
     with ZipFile(fzip, 'r') as myzip:
         #            print myzip.filelist
         fcsv = filter(lambda x: x.filename.endswith('csv'),
                       myzip.filelist)[0]
         fyaml = filter(lambda x: x.filename.endswith('yaml'),
                        myzip.filelist)[0]
         s = myzip.read(fyaml)
         smeas = myzip.read(fcsv)
         data = unbunchify(dumper.load(s, format='yaml'))
         df = pd.read_csv(StringIO(smeas), index_col=0)
         #            print df
         #            print self.data
         print '"%s" was loaded' % fzip
         #            self.project = self.data['project']
         #            self.json=s
         data = bunchify(data)
         #            print data
         data['measurements'] = df
         #            print data
         return data
    def save(self, data, fname=None):
        if not fname:
            fname = self.auto_name()
        fname = path(fname)
    #    fname.abspath().parent.makedirs_p()
#        smeas = dumper.dump(self.data.measurements)
        df = pd.DataFrame(unbunchify(data.measurements))
#        print df
        buff = StringIO()
        df.to_csv(buff)
        smeas = buff.getvalue()
#        print smeas
        del data.measurements
        s = dumper.dump(data, format='yaml')

        fjson = fname + '.yaml'
        fzip = fname + '.zip'
        fcsv = fname + '.csv'
        with ZipFile(fzip, 'w', compression=ZIP_DEFLATED) as myzip:
            myzip.writestr(fjson.name, s)
            myzip.writestr(fcsv.name, smeas)
#                myzip.writestr('schematic.txt', self.data.schematic)
            print '"%s" was saved' % fzip
    def save(self, data, fname=None):
        if not fname:
            fname = self.auto_name()
        fname = path(fname)
        #    fname.abspath().parent.makedirs_p()
        #        smeas = dumper.dump(self.data.measurements)
        df = pd.DataFrame(unbunchify(data.measurements))
        #        print df
        buff = StringIO()
        df.to_csv(buff)
        smeas = buff.getvalue()
        #        print smeas
        del data.measurements
        s = dumper.dump(data, format='yaml')

        fjson = fname + '.yaml'
        fzip = fname + '.zip'
        fcsv = fname + '.csv'
        with ZipFile(fzip, 'w', compression=ZIP_DEFLATED) as myzip:
            myzip.writestr(fjson.name, s)
            myzip.writestr(fcsv.name, smeas)
            #                myzip.writestr('schematic.txt', self.data.schematic)
            print '"%s" was saved' % fzip
Exemple #7
0
 def __repr__(self):
     return 'Node(%r,\n%s)' % (
         self._api,
         indent(pprint.pformat(bunch.unbunchify(self)), prefix='     '))
Exemple #8
0
 def as_dict(self):
     return bunch.unbunchify(self)
Exemple #9
0
 def __repr__(self):
     return 'Node(%r,\n%s)' % (
         self._api,
         indent(pprint.pformat(bunch.unbunchify(self)), prefix='     '))
Exemple #10
0
 def as_dict(self):
     return bunch.unbunchify(self)
Exemple #11
0
                                          json=json_data,
                                          headers=headers,
                                          verify=False)
    return attribute_update_response


if __name__ == "__main__":

    pi_webapi_server = 'SECRETWEBSERVER'
    pi_asset_server = 'SECRETAFSERVER'
    pi_asset_database = 'Sandbox'

    # 1.0 --------------------------------------------------------------------------------------------------------------
    # Get the root level PI Web API
    pi_webapi_root = get_pi_webapi_root(pi_webapi_server)
    print unbunchify(pi_webapi_root)

    # 2.0 --------------------------------------------------------------------------------------------------------------
    # Get AF server
    af_server = get_asset_server(pi_webapi_root, pi_asset_server)

    # 3.0 --------------------------------------------------------------------------------------------------------------
    # Get AF database from server
    af_database = get_database(af_server, pi_asset_database)

    # Get AF element from database
    af_element = get_element(af_database, "MyElement")

    # Get AF attribute from element
    af_attribute = get_attribute(af_element, "MyAttribute")
    attribute_update_response = req.patch(af_attribute_dict.Links.Self,
                                          json=json_data,
                                          headers=headers,
                                          verify=False)
    return attribute_update_response

if __name__ == "__main__":

    pi_webapi_server = 'SECRETWEBSERVER'
    pi_asset_server = 'SECRETAFSERVER'
    pi_asset_database = 'Sandbox'

    # 1.0 --------------------------------------------------------------------------------------------------------------
    # Get the root level PI Web API
    pi_webapi_root = get_pi_webapi_root(pi_webapi_server)
    print unbunchify(pi_webapi_root)

    # 2.0 --------------------------------------------------------------------------------------------------------------
    # Get AF server
    af_server = get_asset_server(pi_webapi_root, pi_asset_server)

    # 3.0 --------------------------------------------------------------------------------------------------------------
    # Get AF database from server
    af_database = get_database(af_server, pi_asset_database)

    # Get AF element from database
    af_element = get_element(af_database, "MyElement")

    # Get AF attribute from element
    af_attribute = get_attribute(af_element, "MyAttribute")
Exemple #13
0
from bunch import Bunch, bunchify, unbunchify
import json
import yaml

b = Bunch()

b = bunchify({"foo": "bar", "baz": ["qqr", "abc"], "ppp": {"a": "b", "c": "d"}})

print b
print json.dumps(b)
print yaml.dump(b)
print unbunchify(b)