Exemplo n.º 1
0
 def put(self):
     acct = self.request.get("acct")
     if acct == "":
         self.error(400)
         self.response.out.write("error: acct not provided")
         return
     key = self.request.get("xmlid")
     if key:
         link = XRD.get_link_by_key(key)
         if link == None:
             self.error(404)
             self.response.out.write("link not found for id: " + key)
             return
     else:
         query = self.read_link_params()
         links = XRD.get_links(acct, query)
         if links == None or links.count() == 0:
             self.error(404)
             self.response.out.write("link not found")
             return
         elif links.count() > 1:
             self.error(400)
             self.response.out.write("more than one match found")
             return
         link = links[0]
     link.delete()
     newlink = XRD.parse_link(self.request.body)
     newlink.acct = acct
     newlink.put()
     xrd = XRD.make_XRD(XRD.get_links(acct), acct)
     if self.request.get("suppress_response_type"):
         self.response.headers['Content-Type'] = 'text/html'
     else:
         self.response.headers['Content-Type'] = 'application/xrd+xml'
     self.response.out.write(xrd)
Exemplo n.º 2
0
 def post(self):
     acct = self.request.get("acct")
     if acct == "":
         self.error(400)
         self.response.out.write("error: acct not provided")
         return
     type = self.request.headers['Content-Type']
     if type == "application/x-www-form-urlencoded":
         logging.info("formencoded")
         params = self.read_link_params(True);
         logging.info("link params: " + str(params))
         if params == None:  # error already sent by get_link()
             return
         link = XRD.new_link(params)
     else:
         link = XRD.parse_link(self.request.body)
         if link == None:
             self.error(400)
             self.response.out.write("error: could not parse a link from request body")
             return
         
     link.acct = acct
     existing = XRD.get_link(acct, link.rel, link.type, link.href, link.template)
     if existing:  # conflict
         self.error(409)
         self.response.out.write("error: a link with the same rel, type, href/template already exists")
         return
     link.put()
     xrd = XRD.make_XRD(XRD.get_links(acct), acct)
     if self.request.get("suppress_response_type"):
         self.response.headers['Content-Type'] = 'text/html'
     else:
         self.response.headers['Content-Type'] = 'application/xrd+xml'
     self.response.out.write(xrd)
Exemplo n.º 3
0
 def get(self):
     acct = self.request.get("acct")
     if acct == "":
         self.error(400)
         self.response.out.write("error: acct not provided")
         return
     key = self.request.get("xmlid")
     if key:
         link = XRD.get_link_by_key(key)
         if link == None:
             self.error(404)
             self.response.out.write("link not found for id: " + key)
             return
         else:
             links = [link]
     else:
         query = self.read_link_params()
         links = XRD.get_links(acct, query)
     logging.info(str(links))
     xrd = XRD.make_XRD(links, acct)
     if self.request.get("suppress_response_type"):
         self.response.headers['Content-Type'] = 'text/html'
     else:
         self.response.headers['Content-Type'] = 'application/xrd+xml'
     self.response.out.write(xrd)
Exemplo n.º 4
0
 def delete(self):
     acct = self.request.get("acct")
     if acct == "":
         self.error(400)
         self.response.out.write("error: acct not provided")
         return
     key = self.request.get("xmlid")
     if key:
         link = XRD.get_link_by_key(key)
         if link == None:
             self.error(404)
             self.response.out.write("link not found for id: " + key)
             return
         else:
             links = [link]
     else:
         query = self.read_link_params()
         links = XRD.get_links(acct, query)        
         if links == None or links.count() == 0:
             self.error(404)
             self.response.out.write("error: link matching your params not found")
             return
     for link in links:
         link.delete()
     xrd = XRD.make_XRD(XRD.get_links(acct), acct)
     if self.request.get("suppress_response_type"):
         self.response.headers['Content-Type'] = 'text/html'
     else:
         self.response.headers['Content-Type'] = 'application/xrd+xml'
     self.response.out.write(xrd)
Exemplo n.º 5
0
    def get(self):
        acct = self.request.get("acct")
        if acct == None:
            self.error(400)
            return
        links = XRD.get_links(acct)
        xrd = XRD.make_XRD(links, acct)
#        self.response.headers['Content-Type'] = 'application/xrd+xml'
        self.response.out.write(xrd)
Exemplo n.º 6
0
 def test_export_csv(self):
     sample_data = [
         (np.arange(0, 99, 1), np.arange(200, 101, -1), './test_data.csv') # Sample data creates sample file
     ]
     for x, y, export_to in sample_data:
         xrd._export_csv(x, y, export_to)
         get_data = np.genfromtxt('./test_data.csv', delimiter=',', names=['x', 'y'], autostrip=True)
         # Pick a data point
         i = 25
         # Assert the x data is as expected
         self.assertEqual(25, get_data['x'][i])
         # Assert the y data is as expected
         self.assertEqual(175, get_data['y'][i])
         # Destroy the test file
         os.remove('./test_data.csv')
Exemplo n.º 7
0
 def test_export_csv(self):
     sample_data = [(np.arange(0, 99, 1), np.arange(200, 101, -1),
                     './test_data.csv')  # Sample data creates sample file
                    ]
     for x, y, export_to in sample_data:
         xrd._export_csv(x, y, export_to)
         get_data = np.genfromtxt('./test_data.csv',
                                  delimiter=',',
                                  names=['x', 'y'],
                                  autostrip=True)
         # Pick a data point
         i = 25
         # Assert the x data is as expected
         self.assertEqual(25, get_data['x'][i])
         # Assert the y data is as expected
         self.assertEqual(175, get_data['y'][i])
         # Destroy the test file
         os.remove('./test_data.csv')
 def callXRD(self):
     xrd.XRDApp()