def post(self, version): logging.debug("ServicesListHandler#post") if (self.valid_version(version)): name = self.request.get('name', default_value=None) description = self.request.get('description', default_value=None) region = self.request.get('region', default_value=None) if name and description and region: slug = Service.slugify(name, region) existing_s = Service.get_by_slug(slug) # Update existing resource if existing_s: existing_s.description = description if region: existing_s.region = Region.get_by_name(region) existing_s.slug = Service.slugify(name, region) existing_s.put() self.json(existing_s.rest(self.base_url(version))) # Create new service else: region = Region.get_by_name(region) s = Service(name=name, slug=slug, description=description, region=region) s.put() self.json(s.rest(self.base_url(version))) else: self.error(400, "Bad Data: Name: %s, Description: %s, Region: %s" % (name, description, region)) else: self.error(404, "API Version %s not supported" % version)
def post(self, version, service_slug): logging.debug("ServiceInstanceHandler#post") name = self.request.get('name', default_value=None) description = self.request.get('description', default_value=None) region = self.request.get('region', default_value=None) if (self.valid_version(version)): service = Service.get_by_slug(service_slug) if service: if description: service.description = description if name: service.name = name if region: service.region = Region.get_by_name(region) if name or description or region: service.slug = Service.slugify(service.name, service.region.name) service.put() self.json(service.rest(self.base_url(version))) else: self.error(404, "Service %s does not exist" % service_slug) else: self.error(404, "API Version %s not supported" % version)
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. from google.appengine.ext import db from models import Status, Service, Event, Region from datetime import datetime, timedelta, date na = Region(name="North America") na.put() emea = Region(name="EMEA") emea.put() foo = Service(name="Service Foo", slug="service-foo", region=na, description="Scalable and reliable foo service across the globe") foo.slug = Service.slugify(foo.name, foo.region.name) foo.put() bar = Service(name="Service Bar", slug="service-bar", region=emea, description="Scalable and reliable foo service") bar.slug = Service.slugify(bar.name, bar.region.name) bar.put() delete = Service(name="Delete Me", slug="delete", region=na, description="Delete Me Please") delete.slug = Service.slugify(delete.name, delete.region.name) delete.put() bar = Service.get_by_slug("emea-service-bar") cat = Status.get_by_slug("down")