Example #1
0
    def setUp(self):
        db.create_all()
        service = parse_metadata(metadata)
        service.metadata_url = "http://127.0.0.1/"
        service.user = User('username', 'password')

        db.session.add(service)
        db.session.commit()
Example #2
0
File: api.py Project: akn/pi
def service_create():
    """ Create a service """
    user = g.user
    url = request.json['url']
    try:
        metadata = urllib.urlopen(url).read()
        service = parse_metadata(metadata)
        service.metadata_url = url
        service.user = user
        db.session.add(service)
        db.session.commit()
        return ""
    except:
        return abort(400)
Example #3
0
File: services.py Project: akn/pi
def register():
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        url = form.url.data
        try:
            metadata = urllib.urlopen(url).read()
            service = parse_metadata(metadata)
            service.metadata_url = url
            service.user = g.user
            db.session.add(service)
            db.session.commit()
            return redirect('/')
        except IOError:
            form.url.errors.append("Unable to fetch the metadata file")
        except ParseError:
            form.url.errors.append("Metadata file not well-formed")
        except IntegrityError:
            form.url.errors.append("Invalid metadata info, already registered ?")
            db.session.rollback()
    return render_template('register_service.html', form=form)